; assembly | /* r2dec pseudo code output */ | /* baljsn_datumutil.t/none @ 0x4436b0 */ | #include | ; (fcn) method.BloombergLP::bdlb::BitStringUtil.minusEqual_unsigned_long__unsigned_long__unsigned_long_const__unsigned_long__unsigned_long_ () | int64_t method_BloombergLP::bdlb::BitStringUtil_minusEqual_unsigned_long_unsigned_long_unsigned_long_const_unsigned_long_unsigned_long_ (int32_t arg5, int64_t arg4, int64_t arg3, int32_t arg2, int64_t arg1) { | r8 = arg5; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::bdlb::BitStringUtil::minusEqual(unsigned long*, unsigned long, unsigned long const*, unsigned long, unsigned long) */ 0x004436b0 push rbp | 0x004436b1 push r15 | 0x004436b3 push r14 | 0x004436b5 push r13 | 0x004436b7 push r12 | 0x004436b9 push rbx | 0x004436ba mov r10, rcx | r10 = rcx; 0x004436bd mov r15, rsi | r15 = rsi; 0x004436c0 shr r15, 6 | r15 >>= 6; 0x004436c4 lea r11, [rdi + r15*8] | r11 = rdi + r15*8; 0x004436c8 mov r14d, esi | r14d = esi; 0x004436cb and r14d, 0x3f | r14d &= 0x3f; 0x004436cf mov rcx, r11 | rcx = r11; 0x004436d2 shr rcx, 3 | rcx >>= 3; 0x004436d6 mov r9, r10 | r9 = r10; 0x004436d9 shr r9, 6 | r9 >>= 6; 0x004436dd lea r13, [rdx + r9*8] | r13 = rdx + r9*8; 0x004436e1 mov eax, r10d | eax = r10d; 0x004436e4 and eax, 0x3f | eax &= 0x3f; 0x004436e7 mov rbx, r13 | rbx = r13; 0x004436ea shr rbx, 3 | rbx >>= 3; 0x004436ee sub rcx, rbx | rcx -= rbx; 0x004436f1 mov ebx, r14d | ebx = r14d; 0x004436f4 sub ebx, eax | ebx -= eax; 0x004436f6 xor ebp, ebp | ebp = 0; 0x004436f8 cmp ebx, 0x3f | 0x004436fb seta bpl | bpl = (ebx > 0x3f) ? 1 : 0; 0x004436ff sub rcx, rbp | rcx -= rbp; 0x00443702 test rcx, rcx | | if (rcx <= 0) { 0x00443705 jg 0x443721 | 0x00443707 lea ebp, [rbx + 0x40] | ebp = rbx + 0x40; 0x0044370a cmp ebx, 0x40 | | if (ebx < 0x40) { 0x0044370d cmovb ebp, ebx | | } 0x00443710 test ebp, ebp | | if (ebp == 0) { 0x00443712 je 0x443886 | goto label_12; | } 0x00443718 test rcx, rcx | | if (rcx != 0) { 0x0044371b jne 0x443886 | goto label_12; | } | } 0x00443721 test r8, r8 | | if (r8 == 0) { 0x00443724 je 0x444056 | goto label_13; | } 0x0044372a add rsi, r8 | rsi += r8; 0x0044372d mov r15, rsi | r15 = rsi; 0x00443730 shr r15, 6 | r15 >>= 6; 0x00443734 lea r11, [rdi + r15*8] | r11 = rdi + r15*8; 0x00443738 and esi, 0x3f | esi &= 0x3f; 0x0044373b add r10, r8 | r10 += r8; 0x0044373e mov r12, r10 | r12 = r10; 0x00443741 shr r12, 6 | r12 >>= 6; 0x00443745 lea rbp, [rdx + r12*8] | rbp = rdx + r12*8; 0x00443749 and r10d, 0x3f | r10d &= 0x3f; | if (r10d != 0) { 0x0044374d je 0x4437e3 | 0x00443753 mov r14d, r10d | r14d = r10d; 0x00443756 cmp r14, r8 | | if (r14 >= r8) { 0x00443759 jae 0x443912 | goto label_14; | } 0x0044375f mov qword [rsp - 0x20], rdx | *((rsp - 0x20)) = rdx; 0x00443764 lea eax, [rsi + 0x40] | eax = rsi + 0x40; 0x00443767 cmp esi, r10d | | if (esi >= r10d) { 0x0044376a cmovae eax, esi | eax = esi; | } 0x0044376d sbb r13, r13 | r13 -= r13; 0x00443770 mov esi, eax | esi = eax; 0x00443772 sub esi, r10d | esi -= r10d; 0x00443775 mov qword [rsp - 0x28], r11 | *((rsp - 0x28)) = r11; 0x0044377a lea rdx, [r11 + r13*8] | rdx = r11 + r13*8; 0x0044377e mov r11, qword [rbp] | r11 = *(rbp); 0x00443782 mov r9d, 0x40 | r9d = 0x40; 0x00443788 sub r9d, esi | r9d -= esi; 0x0044378b sub r10d, r9d | r10d -= r9d; | if (r10d <= 0) { 0x0044378e jle 0x4439ac | goto label_15; | } 0x00443794 cmp esi, 0x3f | | if (esi <= 0x3f) { 0x00443797 jg 0x4437b7 | 0x00443799 mov rax, 0xffffffffffffffff | rax = 0xffffffffffffffff; 0x004437a0 mov ecx, esi | ecx = esi; 0x004437a2 shl rax, cl | rax <<= cl; 0x004437a5 not rax | rax = ~rax; 0x004437a8 mov rbx, r11 | rbx = r11; 0x004437ab not rbx | rbx = ~rbx; 0x004437ae shl rbx, cl | rbx <<= cl; 0x004437b1 or rbx, rax | rbx |= rax; 0x004437b4 and qword [rdx], rbx | *(rdx) &= rbx; | } 0x004437b7 mov ecx, r9d | ecx = r9d; 0x004437ba shr r11, cl | r11 >>= cl; 0x004437bd mov rax, 0xffffffffffffffff | rax = 0xffffffffffffffff; 0x004437c4 mov ecx, r10d | ecx = r10d; 0x004437c7 shl rax, cl | rax <<= cl; 0x004437ca cmp r10d, 0x40 | | if (r10d >= 0x40) { 0x004437ce jge 0x44406f | goto label_16; | } | label_4: 0x004437d4 add rdx, 8 | rdx += 8; 0x004437d8 not r11 | r11 = ~r11; 0x004437db or r11, rax | r11 |= rax; 0x004437de jmp 0x4439ed | goto label_17; | } 0x004437e3 mov qword [rsp - 0x20], rdx | *((rsp - 0x20)) = rdx; 0x004437e8 xor r13d, r13d | r13d = 0; 0x004437eb test esi, esi | | if (esi == 0) { 0x004437ed je 0x443a00 | goto label_18; | } | label_1: 0x004437f3 cmp r8, 0x40 | | if (r8 < 0x40) { 0x004437f7 jb 0x443a1e | goto label_19; | } 0x004437fd mov qword [rsp - 0x18], rbp | *((rsp - 0x18)) = rbp; 0x00443802 mov qword [rsp - 0x28], r11 | *((rsp - 0x28)) = r11; 0x00443807 mov r10, 0xffffffffffffffff | r10 = 0xffffffffffffffff; 0x0044380e mov ecx, esi | ecx = esi; 0x00443810 shl r10, cl | r10 <<= cl; 0x00443813 mov r9d, esi | r9d = esi; 0x00443816 mov r11, r10 | r11 = r10; 0x00443819 not r11 | r11 = ~r11; 0x0044381c mov r14d, 0x40 | r14d = 0x40; 0x00443822 sub r14d, esi | r14d -= esi; 0x00443825 add r15, r13 | r15 += r13; 0x00443828 lea rdi, [rdi + r15*8] | rdi = rdi + r15*8; 0x0044382c mov rax, qword [rsp - 0x20] | rax = *((rsp - 0x20)); 0x00443831 lea rdx, [rax + r12*8 - 8] | rdx = rax + r12*8 - 8; 0x00443836 xor ebx, ebx | ebx = 0; 0x00443838 nop dword [rax + rax] | | do { 0x00443840 mov rbp, qword [rdx + rbx*8] | rbp = *((rdx + rbx*8)); 0x00443844 cmp esi, 0x3f | | if (esi > 0x3f) { 0x00443847 jg 0x443882 | goto label_20; | } 0x00443849 mov rax, rbp | rax = rbp; 0x0044384c not rax | rax = ~rax; 0x0044384f mov ecx, r9d | ecx = r9d; 0x00443852 shl rax, cl | rax <<= cl; 0x00443855 or rax, r11 | rax |= r11; 0x00443858 and qword [rdi + rbx*8 - 8], rax | *((rdi + rbx*8 - 8)) &= rax; 0x0044385d mov rax, r10 | rax = r10; | label_0: 0x00443860 mov ecx, r14d | ecx = r14d; 0x00443863 shr rbp, cl | rbp >>= cl; 0x00443866 not rbp | rbp = ~rbp; 0x00443869 or rbp, rax | rbp |= rax; 0x0044386c and qword [rdi + rbx*8], rbp | *((rdi + rbx*8)) &= rbp; 0x00443870 dec rbx | rbx--; 0x00443873 add r8, 0xffffffffffffffc0 | r8 += 0xffffffffffffffc0; 0x00443877 cmp r8, 0x3f | 0x0044387b ja 0x443840 | | } while (r8 > 0x3f); 0x0044387d jmp 0x44399a | goto label_21; | label_20: 0x00443882 xor eax, eax | eax = 0; 0x00443884 jmp 0x443860 | goto label_0; | label_12: 0x00443886 test r8, r8 | | if (r8 == 0) { 0x00443889 je 0x444056 | goto label_13; | } 0x0044388f test eax, eax | | if (eax == 0) { 0x00443891 je 0x443a69 | goto label_22; | } 0x00443897 mov r12d, 0x40 | r12d = 0x40; 0x0044389d mov ebp, 0x40 | 0x004438a2 sub ebp, eax | ebp -= eax; 0x004438a4 mov rsi, qword [r13] | rsi = *(r13); 0x004438a8 mov ecx, eax | ecx = eax; 0x004438aa shr rsi, cl | rsi >>= cl; 0x004438ad cmp rbp, r8 | | if (rbp >= r8) { 0x004438b0 jae 0x443a86 | goto label_23; | } 0x004438b6 mov qword [rsp - 0x28], r13 | *((rsp - 0x28)) = r13; 0x004438bb mov r10, 0xffffffffffffffff | r10 = 0xffffffffffffffff; 0x004438c2 mov ecx, r14d | ecx = r14d; 0x004438c5 shl r10, cl | r10 <<= cl; 0x004438c8 mov r13, 0xffffffffffffffff | r13 = 0xffffffffffffffff; 0x004438cf mov ebx, r14d | ebx = r14d; 0x004438d2 not r10 | r10 = ~r10; 0x004438d5 cmp r14d, eax | | if (r14d <= eax) { 0x004438d8 jbe 0x443b3c | goto label_24; | } 0x004438de mov rax, rsi | rax = rsi; 0x004438e1 not rax | rax = ~rax; 0x004438e4 mov ecx, ebx | ecx = ebx; 0x004438e6 shl rax, cl | rax <<= cl; 0x004438e9 or rax, r10 | rax |= r10; 0x004438ec and qword [r11], rax | *(r11) &= rax; 0x004438ef sub r12d, r14d | r12d -= r14d; 0x004438f2 mov ecx, r12d | ecx = r12d; 0x004438f5 shr rsi, cl | rsi >>= cl; 0x004438f8 mov ecx, ebp | ecx = ebp; 0x004438fa sub ecx, r12d | ecx -= r12d; 0x004438fd shl r13, cl | r13 <<= cl; 0x00443900 not rsi | rsi = ~rsi; 0x00443903 or rsi, r13 | rsi |= r13; 0x00443906 and qword [r11 + 8], rsi | *((r11 + 8)) &= rsi; 0x0044390a add r14d, ebp | r14d += ebp; 0x0044390d jmp 0x443b60 | goto label_25; | label_14: 0x00443912 lea eax, [rsi + 0x40] | eax = rsi + 0x40; 0x00443915 cmp esi, r8d | | if (esi >= r8d) { 0x00443918 cmovae eax, esi | eax = esi; | } 0x0044391b sbb r9, r9 | r9 -= r9; 0x0044391e sub r10d, r8d | r10d -= r8d; 0x00443921 mov rsi, qword [rbp] | rsi = *(rbp); 0x00443925 mov ecx, r10d | ecx = r10d; 0x00443928 shr rsi, cl | rsi >>= cl; 0x0044392b test r8d, r8d | | if (r8d == 0) { 0x0044392e je 0x444056 | goto label_13; | } 0x00443934 mov ecx, eax | ecx = eax; 0x00443936 sub ecx, r8d | ecx -= r8d; 0x00443939 mov edx, 0x40 | edx = 0x40; 0x0044393e sub edx, ecx | edx -= ecx; 0x00443940 cmp edx, r8d | | if (edx >= r8d) { 0x00443943 jge 0x443a25 | goto label_26; | } 0x00443949 cmp ecx, 0x3f | | if (ecx <= 0x3f) { 0x0044394c jg 0x44396b | 0x0044394e mov rax, 0xffffffffffffffff | rax = 0xffffffffffffffff; 0x00443955 shl rax, cl | rax <<= cl; 0x00443958 not rax | rax = ~rax; 0x0044395b mov rdi, rsi | rdi = rsi; 0x0044395e not rdi | rdi = ~rdi; 0x00443961 shl rdi, cl | rdi <<= cl; 0x00443964 or rdi, rax | rdi |= rax; 0x00443967 and qword [r11 + r9*8], rdi | *((r11 + r9*8)) &= rdi; | } 0x0044396b mov ecx, edx | ecx = edx; 0x0044396d shr rsi, cl | rsi >>= cl; 0x00443970 sub r8d, edx | r8d -= edx; 0x00443973 mov rax, 0xffffffffffffffff | rax = 0xffffffffffffffff; 0x0044397a mov ecx, r8d | ecx = r8d; 0x0044397d shl rax, cl | rax <<= cl; 0x00443980 cmp r8d, 0x40 | | if (r8d >= 0x40) { 0x00443984 jge 0x44407d | goto label_27; | } | label_6: 0x0044398a not rsi | rsi = ~rsi; 0x0044398d or rsi, rax | rsi |= rax; 0x00443990 and qword [r11 + r9*8 + 8], rsi | *((r11 + r9*8 + 8)) &= rsi; 0x00443995 jmp 0x444056 | goto label_13; | label_21: 0x0044399a add r13, rbx | r13 += rbx; 0x0044399d mov r11, qword [rsp - 0x28] | r11 = *((rsp - 0x28)); 0x004439a2 mov rbp, qword [rsp - 0x18] | rbp = *((rsp - 0x18)); 0x004439a7 jmp 0x443dfb | goto label_28; | label_15: 0x004439ac cmp esi, 0x3f | | if (esi <= 0x3f) { 0x004439af jg 0x4439f0 | 0x004439b1 mov r10, rbp | r10 = rbp; 0x004439b4 mov r9d, esi | r9d = esi; 0x004439b7 mov rbp, 0xffffffffffffffff | 0x004439be mov rbx, 0xffffffffffffffff | rbx = 0xffffffffffffffff; 0x004439c5 mov ecx, esi | ecx = esi; 0x004439c7 shl rbx, cl | rbx <<= cl; 0x004439ca not rbx | rbx = ~rbx; 0x004439cd mov ecx, eax | ecx = eax; 0x004439cf shl rbp, cl | rbp <<= cl; 0x004439d2 cmp eax, 0x40 | | if (eax >= 0x40) { 0x004439d5 jae 0x444076 | goto label_29; | } | label_5: 0x004439db or rbp, rbx | rbp |= rbx; 0x004439de not r11 | r11 = ~r11; 0x004439e1 mov ecx, r9d | ecx = r9d; 0x004439e4 shl r11, cl | r11 <<= cl; 0x004439e7 or r11, rbp | r11 |= rbp; 0x004439ea mov rbp, r10 | | label_17: 0x004439ed and qword [rdx], r11 | *(rdx) &= r11; | } 0x004439f0 sub r8, r14 | r8 -= r14; 0x004439f3 mov r11, qword [rsp - 0x28] | r11 = *((rsp - 0x28)); 0x004439f8 test esi, esi | | if (esi != 0) { 0x004439fa jne 0x4437f3 | goto label_1; | } | label_18: 0x00443a00 cmp r8, 0x40 | | if (r8 >= 0x40) { 0x00443a04 jb 0x443a1e | 0x00443a06 lea r10, [r8 - 0x40] | r10 = r8 - 0x40; 0x00443a0a cmp r10, 0xc0 | | if (r10 >= 0xc0) { 0x00443a11 jae 0x443af2 | goto label_30; | } 0x00443a17 xor ebx, ebx | ebx = 0; 0x00443a19 jmp 0x443dc4 | goto label_31; | } | label_19: 0x00443a1e xor ebx, ebx | ebx = 0; 0x00443a20 jmp 0x443dfb | goto label_28; | label_26: 0x00443a25 cmp ecx, 0x3f | | if (ecx > 0x3f) { 0x00443a28 jg 0x444056 | goto label_13; | } 0x00443a2e mov edx, ecx | edx = ecx; 0x00443a30 mov rbp, 0xffffffffffffffff | 0x00443a37 mov rbx, 0xffffffffffffffff | rbx = 0xffffffffffffffff; 0x00443a3e shl rbx, cl | rbx <<= cl; 0x00443a41 not rbx | rbx = ~rbx; 0x00443a44 mov ecx, eax | ecx = eax; 0x00443a46 shl rbp, cl | rbp <<= cl; 0x00443a49 cmp eax, 0x40 | | if (eax >= 0x40) { 0x00443a4c jae 0x444084 | goto label_32; | } | label_7: 0x00443a52 or rbp, rbx | rbp |= rbx; 0x00443a55 not rsi | rsi = ~rsi; 0x00443a58 mov ecx, edx | ecx = edx; 0x00443a5a shl rsi, cl | rsi <<= cl; 0x00443a5d or rsi, rbp | rsi |= rbp; 0x00443a60 and qword [r11 + r9*8], rsi | *((r11 + r9*8)) &= rsi; 0x00443a64 jmp 0x444056 | goto label_13; | label_22: 0x00443a69 xor ebx, ebx | ebx = 0; 0x00443a6b test r14d, r14d | | if (r14d == 0) { 0x00443a6e je 0x443b84 | goto label_33; | } | do { 0x00443a74 mov rbp, rbx | 0x00443a77 cmp r8, 0x40 | | if (r8 >= 0x40) { 0x00443a7b jae 0x443ca4 | goto label_34; | } 0x00443a81 jmp 0x443fa8 | goto label_35; | label_23: 0x00443a86 test r8d, r8d | | if (r8d == 0) { 0x00443a89 je 0x444056 | goto label_13; | } 0x00443a8f mov edx, 0x40 | edx = 0x40; 0x00443a94 sub edx, r14d | edx -= r14d; 0x00443a97 mov rbp, 0xffffffffffffffff | 0x00443a9e mov ecx, r14d | ecx = r14d; 0x00443aa1 shl rbp, cl | rbp <<= cl; 0x00443aa4 mov rdi, 0xffffffffffffffff | rdi = 0xffffffffffffffff; 0x00443aab mov eax, r14d | eax = r14d; 0x00443aae not rbp | rbp = ~rbp; 0x00443ab1 cmp edx, r8d | | if (edx >= r8d) { 0x00443ab4 jge 0x443ed0 | goto label_36; | } 0x00443aba mov rbx, rsi | rbx = rsi; 0x00443abd not rbx | rbx = ~rbx; 0x00443ac0 mov ecx, eax | ecx = eax; 0x00443ac2 shl rbx, cl | rbx <<= cl; 0x00443ac5 or rbx, rbp | rbx |= rbp; 0x00443ac8 and qword [r11], rbx | *(r11) &= rbx; 0x00443acb mov ecx, edx | ecx = edx; 0x00443acd shr rsi, cl | rsi >>= cl; 0x00443ad0 sub r8d, edx | r8d -= edx; 0x00443ad3 mov ecx, r8d | ecx = r8d; 0x00443ad6 shl rdi, cl | rdi <<= cl; 0x00443ad9 cmp r8d, 0x40 | | if (r8d >= 0x40) { 0x00443add jge 0x44409e | goto label_37; | } | label_10: 0x00443ae3 not rsi | rsi = ~rsi; 0x00443ae6 or rsi, rdi | rsi |= rdi; 0x00443ae9 and qword [r11 + 8], rsi | *((r11 + 8)) &= rsi; 0x00443aed jmp 0x444056 | goto label_13; | label_30: 0x00443af2 shr r10, 6 | r10 >>= 6; 0x00443af6 mov rdx, rbp | rdx = rbp; 0x00443af9 lea rbp, [r13 + r15] | rbp = r13 + r15; 0x00443afe mov rax, r10 | rax = r10; 0x00443b01 not rax | rax = ~rax; 0x00443b04 lea rcx, [rbp + rax] | rcx = rbp + rax; 0x00443b09 lea rcx, [rdi + rcx*8] | rcx = rdi + rcx*8; 0x00443b0d mov r14, rdx | r14 = rdx; 0x00443b10 cmp rcx, rdx | | if (rcx >= rdx) { 0x00443b13 jae 0x443d61 | goto label_38; | } 0x00443b19 lea rcx, [rdi + rbp*8] | rcx = rdi + rbp*8; 0x00443b1d add rax, r12 | rax += r12; 0x00443b20 mov rdx, qword [rsp - 0x20] | rdx = *((rsp - 0x20)); 0x00443b25 lea rax, [rdx + rax*8] | rax = rdx + rax*8; 0x00443b29 cmp rax, rcx | | if (rax >= rcx) { 0x00443b2c jae 0x443d61 | goto label_38; | } 0x00443b32 xor ebx, ebx | ebx = 0; 0x00443b34 mov rbp, r14 | 0x00443b37 jmp 0x443dc4 | goto label_31; | label_24: 0x00443b3c add r14d, ebp | r14d += ebp; 0x00443b3f mov ecx, r14d | ecx = r14d; 0x00443b42 shl r13, cl | r13 <<= cl; 0x00443b45 cmp r14d, 0x40 | | if (r14d >= 0x40) { 0x00443b49 jae 0x444096 | goto label_39; | } | label_9: 0x00443b4f not rsi | rsi = ~rsi; 0x00443b52 mov ecx, ebx | ecx = ebx; 0x00443b54 shl rsi, cl | rsi <<= cl; 0x00443b57 or r13, r10 | r13 |= r10; 0x00443b5a or r13, rsi | r13 |= rsi; 0x00443b5d and qword [r11], r13 | *(r11) &= r13; | label_25: 0x00443b60 sub r8, rbp | r8 -= rbp; 0x00443b63 mov ebx, 1 | ebx = 1; 0x00443b68 cmp r14d, 0x40 | 0x00443b6c mov r13, qword [rsp - 0x28] | r13 = *((rsp - 0x28)); | if (r14d < 0x40) { 0x00443b71 jb 0x443c98 | goto label_40; | } 0x00443b77 add r14d, 0xffffffc0 | r14d += 0xffffffc0; 0x00443b7b test r14d, r14d | 0x00443b7e jne 0x443a74 | | } while (r14d != 0); | label_33: 0x00443b84 xor r14d, r14d | r14d = 0; 0x00443b87 cmp r8, 0x40 | | if (r8 < 0x40) { 0x00443b8b jb 0x443ec8 | goto label_41; | } 0x00443b91 lea rax, [r8 - 0x40] | rax = r8 - 0x40; 0x00443b95 mov r10, rax | r10 = rax; 0x00443b98 shr r10, 6 | r10 >>= 6; 0x00443b9c lea r12, [r10 + rbx] | r12 = r10 + rbx; 0x00443ba0 mov rbp, rbx | 0x00443ba3 cmp rax, 0xc0 | | if (rax < 0xc0) { 0x00443ba9 jb 0x443f45 | goto label_42; | } 0x00443baf lea rcx, [rbx + r15] | rcx = rbx + r15; 0x00443bb3 lea rbp, [rdi + rcx*8] | rbp = rdi + rcx*8; 0x00443bb7 lea rsi, [rbx + r9] | rsi = rbx + r9; 0x00443bbb lea rax, [rsi + r10] | rax = rsi + r10; 0x00443bbf lea rax, [rdx + rax*8 + 8] | rax = rdx + rax*8 + 8; 0x00443bc4 cmp rbp, rax | | if (rbp < rax) { 0x00443bc7 jae 0x443be1 | 0x00443bc9 add rcx, r10 | rcx += r10; 0x00443bcc lea rax, [rdi + rcx*8 + 8] | rax = rdi + rcx*8 + 8; 0x00443bd1 lea rsi, [rdx + rsi*8] | rsi = rdx + rsi*8; 0x00443bd5 mov rbp, rbx | 0x00443bd8 cmp rsi, rax | | if (rsi < rax) { 0x00443bdb jb 0x443f45 | goto label_42; | } | } 0x00443be1 mov qword [rsp - 0x18], rbx | *((rsp - 0x18)) = rbx; 0x00443be6 mov qword [rsp - 0x28], r13 | *((rsp - 0x28)) = r13; 0x00443beb mov qword [rsp - 0x20], rdx | *((rsp - 0x20)) = rdx; 0x00443bf0 lea rsi, [r10 + 1] | rsi = r10 + 1; 0x00443bf4 mov rdx, rsi | rdx = rsi; 0x00443bf7 and rdx, 0xfffffffffffffffc | rdx &= 0xfffffffffffffffc; 0x00443bfb lea rax, [rdx - 4] | rax = rdx - 4; 0x00443bff mov rcx, rax | rcx = rax; 0x00443c02 shr rcx, 2 | rcx >>= 2; 0x00443c06 inc rcx | rcx++; 0x00443c09 test rax, rax | | if (rax == 0) { 0x00443c0c je 0x443ef9 | goto label_43; | } 0x00443c12 mov qword [rsp - 0x10], rsi | *((rsp - 0x10)) = rsi; 0x00443c17 mov rsi, rcx | rsi = rcx; 0x00443c1a and rsi, 0xfffffffffffffffe | rsi &= 0xfffffffffffffffe; 0x00443c1e neg rsi | rsi = -rsi; 0x00443c21 xor ebp, ebp | ebp = 0; 0x00443c23 mov rbx, qword [rsp - 0x28] | rbx = *((rsp - 0x28)); 0x00443c28 mov r13, qword [rsp - 0x18] | r13 = *((rsp - 0x18)); | do { 0x00443c2d mov rax, r13 | rax = *((rsp - 0x18)); 0x00443c30 or rax, rbp | rax |= rbp; 0x00443c33 movups xmm0, xmmword [rbx + rax*8] | __asm ("movups xmm0, xmmword [rbx + rax*8]"); 0x00443c37 movups xmm1, xmmword [rbx + rax*8 + 0x10] | __asm ("movups xmm1, xmmword [rbx + rax*8 + 0x10]"); 0x00443c3c movups xmm2, xmmword [r11 + rax*8] | __asm ("movups xmm2, xmmword [r11 + rax*8]"); 0x00443c41 andnps xmm0, xmm2 | __asm ("andnps xmm0, xmm2"); 0x00443c44 movups xmm2, xmmword [r11 + rax*8 + 0x10] | __asm ("movups xmm2, xmmword [r11 + rax*8 + 0x10]"); 0x00443c4a andnps xmm1, xmm2 | __asm ("andnps xmm1, xmm2"); 0x00443c4d movups xmmword [r11 + rax*8], xmm0 | __asm ("movups xmmword [r11 + rax*8], xmm0"); 0x00443c52 movups xmmword [r11 + rax*8 + 0x10], xmm1 | __asm ("movups xmmword [r11 + rax*8 + 0x10], xmm1"); 0x00443c58 lea rax, [rbp + 4] | rax = rbp + 4; 0x00443c5c or rax, r13 | rax |= r13; 0x00443c5f movups xmm0, xmmword [rbx + rax*8] | __asm ("movups xmm0, xmmword [rbx + rax*8]"); 0x00443c63 movups xmm1, xmmword [rbx + rax*8 + 0x10] | __asm ("movups xmm1, xmmword [rbx + rax*8 + 0x10]"); 0x00443c68 movups xmm2, xmmword [r11 + rax*8] | __asm ("movups xmm2, xmmword [r11 + rax*8]"); 0x00443c6d andnps xmm0, xmm2 | __asm ("andnps xmm0, xmm2"); 0x00443c70 movups xmm2, xmmword [r11 + rax*8 + 0x10] | __asm ("movups xmm2, xmmword [r11 + rax*8 + 0x10]"); 0x00443c76 andnps xmm1, xmm2 | __asm ("andnps xmm1, xmm2"); 0x00443c79 movups xmmword [r11 + rax*8], xmm0 | __asm ("movups xmmword [r11 + rax*8], xmm0"); 0x00443c7e movups xmmword [r11 + rax*8 + 0x10], xmm1 | __asm ("movups xmmword [r11 + rax*8 + 0x10], xmm1"); 0x00443c84 add rbp, 8 | rbp += 8; 0x00443c88 add rsi, 2 | rsi += 2; 0x00443c8c jne 0x443c2d | | } while (rsi != 0); 0x00443c8e mov rsi, qword [rsp - 0x10] | rsi = *((rsp - 0x10)); 0x00443c93 jmp 0x443efb | goto label_44; | label_40: 0x00443c98 xor ebp, ebp | ebp = 0; 0x00443c9a cmp r8, 0x40 | | if (r8 < 0x40) { 0x00443c9e jb 0x443fa8 | goto label_35; | } | label_34: 0x00443ca4 mov qword [rsp - 0x28], r13 | *((rsp - 0x28)) = r13; 0x00443ca9 mov qword [rsp - 0x20], r11 | *((rsp - 0x20)) = r11; 0x00443cae mov r11d, r14d | r11d = r14d; 0x00443cb1 mov ecx, r14d | ecx = r14d; 0x00443cb4 mov r14, 0xffffffffffffffff | r14 = 0xffffffffffffffff; 0x00443cbb shl r14, cl | r14 <<= cl; 0x00443cbe mov r13, r14 | r13 = r14; 0x00443cc1 not r13 | r13 = ~r13; 0x00443cc4 mov esi, 0x40 | esi = 0x40; 0x00443cc9 mov dword [rsp - 0x18], ecx | *((rsp - 0x18)) = ecx; 0x00443ccd sub esi, ecx | esi -= ecx; 0x00443ccf lea r12, [r8 - 0x40] | r12 = r8 - 0x40; 0x00443cd3 shr r12, 6 | r12 >>= 6; 0x00443cd7 lea rax, [r12 + rbx] | rax = r12 + rbx; 0x00443cdb mov qword [rsp - 8], rax | *((rsp - 8)) = rax; 0x00443ce0 mov qword [rsp - 0x10], rbp | *((rsp - 0x10)) = rbp; 0x00443ce5 add r15, rbp | r15 += rbp; 0x00443ce8 mov r10, qword [rdi + r15*8] | r10 = *((rdi + r15*8)); 0x00443cec inc r12 | r12++; 0x00443cef add r9, rbx | r9 += rbx; 0x00443cf2 lea rbx, [rdx + r9*8] | rbx = rdx + r9*8; 0x00443cf6 lea rdi, [rdi + r15*8 + 8] | rdi = rdi + r15*8 + 8; 0x00443cfb xor edx, edx | edx = 0; 0x00443cfd nop dword [rax] | | do { 0x00443d00 mov rbp, qword [rbx + rdx*8] | rbp = *((rbx + rdx*8)); 0x00443d04 mov rax, rbp | rax = *((rbx + rdx*8)); 0x00443d07 not rax | rax = ~rax; 0x00443d0a mov ecx, r11d | ecx = r11d; 0x00443d0d shl rax, cl | rax <<= cl; 0x00443d10 or rax, r13 | rax |= r13; 0x00443d13 and rax, r10 | rax &= r10; 0x00443d16 mov qword [rdi + rdx*8 - 8], rax | *((rdi + rdx*8 - 8)) = rax; 0x00443d1b mov ecx, esi | ecx = esi; 0x00443d1d shr rbp, cl | rbp >>= cl; 0x00443d20 not rbp | rbp = ~rbp; 0x00443d23 or rbp, r14 | rbp |= r14; 0x00443d26 and rbp, qword [rdi + rdx*8] | rbp &= *((rdi + rdx*8)); 0x00443d2a mov qword [rdi + rdx*8], rbp | *((rdi + rdx*8)) = rbp; 0x00443d2e inc rdx | rdx++; 0x00443d31 mov r10, rbp | r10 = rbp; 0x00443d34 cmp r12, rdx | 0x00443d37 jne 0x443d00 | | } while (r12 != rdx); 0x00443d39 mov rbx, qword [rsp - 8] | rbx = *((rsp - 8)); 0x00443d3e inc rbx | rbx++; 0x00443d41 and r8d, 0x3f | r8d &= 0x3f; 0x00443d45 mov rbp, qword [rsp - 0x10] | rbp = *((rsp - 0x10)); 0x00443d4a add rbp, rdx | rbp += rdx; 0x00443d4d mov r11, qword [rsp - 0x20] | r11 = *((rsp - 0x20)); 0x00443d52 mov r14d, dword [rsp - 0x18] | r14d = *((rsp - 0x18)); 0x00443d57 mov r13, qword [rsp - 0x28] | r13 = *((rsp - 0x28)); 0x00443d5c jmp 0x443fa8 | goto label_35; | label_38: 0x00443d61 inc r10 | r10++; 0x00443d64 mov r9, r10 | r9 = r10; 0x00443d67 and r9, 0xfffffffffffffffc | r9 &= 0xfffffffffffffffc; 0x00443d6b sub r13, r9 | r13 -= r9; 0x00443d6e mov rbx, r9 | rbx = r9; 0x00443d71 neg rbx | rbx = -rbx; 0x00443d74 mov rax, r9 | rax = r9; 0x00443d77 shl rax, 6 | rax <<= 6; 0x00443d7b sub r8, rax | r8 -= rax; 0x00443d7e mov rax, qword [rsp - 0x20] | rax = *((rsp - 0x20)); 0x00443d83 lea rcx, [rax + r12*8 - 0x10] | rcx = rax + r12*8 - 0x10; 0x00443d88 lea rbp, [rdi + rbp*8 - 0x10] | rbp = rdi + rbp*8 - 0x10; 0x00443d8d xor eax, eax | eax = 0; 0x00443d8f nop | | do { 0x00443d90 movups xmm0, xmmword [rcx + rax*8 - 0x10] | __asm ("movups xmm0, xmmword [rcx + rax*8 - 0x10]"); 0x00443d95 movups xmm1, xmmword [rcx + rax*8] | __asm ("movups xmm1, xmmword [rcx + rax*8]"); 0x00443d99 movups xmm2, xmmword [rbp + rax*8 - 0x10] | __asm ("movups xmm2, xmmword [rbp + rax*8 - 0x10]"); 0x00443d9e andnps xmm0, xmm2 | __asm ("andnps xmm0, xmm2"); 0x00443da1 movups xmm2, xmmword [rbp + rax*8] | __asm ("movups xmm2, xmmword [rbp + rax*8]"); 0x00443da6 andnps xmm1, xmm2 | __asm ("andnps xmm1, xmm2"); 0x00443da9 movups xmmword [rbp + rax*8], xmm1 | __asm ("movups xmmword [rbp + rax*8], xmm1"); 0x00443dae movups xmmword [rbp + rax*8 - 0x10], xmm0 | __asm ("movups xmmword [rbp + rax*8 - 0x10], xmm0"); 0x00443db3 add rax, 0xfffffffffffffffc | rax += 0xfffffffffffffffc; 0x00443db7 cmp rbx, rax | 0x00443dba jne 0x443d90 | | } while (rbx != rax); 0x00443dbc cmp r10, r9 | 0x00443dbf mov rbp, r14 | | if (r10 == r9) { 0x00443dc2 je 0x443dfb | goto label_28; | } | label_31: 0x00443dc4 lea rax, [rdi + r15*8 - 8] | rax = rdi + r15*8 - 8; 0x00443dc9 mov rcx, qword [rsp - 0x20] | rcx = *((rsp - 0x20)); 0x00443dce lea rcx, [rcx + r12*8 - 8] | rcx = rcx + r12*8 - 8; 0x00443dd3 nop word cs:[rax + rax] | 0x00443ddd nop dword [rax] | | do { 0x00443de0 mov rdx, qword [rcx + rbx*8] | rdx = *((rcx + rbx*8)); 0x00443de4 not rdx | rdx = ~rdx; 0x00443de7 and qword [rax + r13*8], rdx | *((rax + r13*8)) &= rdx; 0x00443deb dec rbx | rbx--; 0x00443dee dec r13 | r13--; 0x00443df1 add r8, 0xffffffffffffffc0 | r8 += 0xffffffffffffffc0; 0x00443df5 cmp r8, 0x3f | 0x00443df9 ja 0x443de0 | | } while (r8 > 0x3f); | label_28: 0x00443dfb test r8d, r8d | | if (r8d == 0) { 0x00443dfe je 0x444056 | goto label_13; | } 0x00443e04 lea edx, [rsi + 0x40] | edx = rsi + 0x40; 0x00443e07 cmp esi, r8d | | if (esi >= r8d) { 0x00443e0a cmovae edx, esi | edx = esi; | } 0x00443e0d sbb r13, 0 | 0x00443e11 mov eax, edx | eax = edx; 0x00443e13 mov rbp, qword [rbp + rbx*8 - 8] | rbp = *((rbp + rbx*8 - 8)); 0x00443e18 mov ecx, r8d | ecx = r8d; 0x00443e1b neg cl | cl = -cl; 0x00443e1d shr rbp, cl | rbp >>= cl; 0x00443e20 sub eax, r8d | eax -= r8d; 0x00443e23 mov esi, 0x40 | esi = 0x40; 0x00443e28 sub esi, eax | esi -= eax; 0x00443e2a cmp esi, r8d | | if (esi < r8d) { 0x00443e2d jge 0x443e82 | 0x00443e2f cmp eax, 0x3f | | if (eax <= 0x3f) { 0x00443e32 jg 0x443e53 | 0x00443e34 mov rdx, 0xffffffffffffffff | rdx = 0xffffffffffffffff; 0x00443e3b mov ecx, eax | ecx = eax; 0x00443e3d shl rdx, cl | rdx <<= cl; 0x00443e40 not rdx | rdx = ~rdx; 0x00443e43 mov rdi, rbp | rdi = rbp; 0x00443e46 not rdi | rdi = ~rdi; 0x00443e49 shl rdi, cl | rdi <<= cl; 0x00443e4c or rdi, rdx | rdi |= rdx; 0x00443e4f and qword [r11 + r13*8], rdi | *((r11 + r13*8)) &= rdi; | } 0x00443e53 mov ecx, esi | ecx = esi; 0x00443e55 shr rbp, cl | rbp >>= cl; 0x00443e58 sub r8d, esi | r8d -= esi; 0x00443e5b mov rax, 0xffffffffffffffff | rax = 0xffffffffffffffff; 0x00443e62 mov ecx, r8d | ecx = r8d; 0x00443e65 shl rax, cl | rax <<= cl; 0x00443e68 cmp r8d, 0x40 | | if (r8d >= 0x40) { 0x00443e6c jge 0x444061 | goto label_45; | } | label_2: 0x00443e72 not rbp | rbp = ~rbp; 0x00443e75 or rbp, rax | rbp |= rax; 0x00443e78 and qword [r11 + r13*8 + 8], rbp | *((r11 + r13*8 + 8)) &= rbp; 0x00443e7d jmp 0x444056 | goto label_13; | } 0x00443e82 cmp eax, 0x3f | | if (eax > 0x3f) { 0x00443e85 jg 0x444056 | goto label_13; | } 0x00443e8b mov esi, eax | esi = eax; 0x00443e8d mov rdi, 0xffffffffffffffff | rdi = 0xffffffffffffffff; 0x00443e94 mov rbx, 0xffffffffffffffff | rbx = 0xffffffffffffffff; 0x00443e9b mov ecx, eax | ecx = eax; 0x00443e9d shl rbx, cl | rbx <<= cl; 0x00443ea0 not rbx | rbx = ~rbx; 0x00443ea3 mov ecx, edx | ecx = edx; 0x00443ea5 shl rdi, cl | rdi <<= cl; 0x00443ea8 cmp edx, 0x40 | | if (edx >= 0x40) { 0x00443eab jge 0x444068 | goto label_46; | } | label_3: 0x00443eb1 or rdi, rbx | rdi |= rbx; 0x00443eb4 not rbp | rbp = ~rbp; 0x00443eb7 mov ecx, esi | ecx = esi; 0x00443eb9 shl rbp, cl | rbp <<= cl; 0x00443ebc or rbp, rdi | rbp |= rdi; 0x00443ebf and qword [r11 + r13*8], rbp | *((r11 + r13*8)) &= rbp; 0x00443ec3 jmp 0x444056 | goto label_13; | label_41: 0x00443ec8 mov rbp, rbx | 0x00443ecb jmp 0x443fa8 | goto label_35; | label_36: 0x00443ed0 add r14d, r8d | r14d += r8d; 0x00443ed3 mov ecx, r14d | ecx = r14d; 0x00443ed6 shl rdi, cl | rdi <<= cl; 0x00443ed9 cmp r14d, 0x40 | | if (r14d >= 0x40) { 0x00443edd jge 0x4440a5 | goto label_47; | } | label_11: 0x00443ee3 not rsi | rsi = ~rsi; 0x00443ee6 mov ecx, eax | ecx = eax; 0x00443ee8 shl rsi, cl | rsi <<= cl; 0x00443eeb or rdi, rbp | rdi |= rbp; 0x00443eee or rdi, rsi | rdi |= rsi; 0x00443ef1 and qword [r11], rdi | *(r11) &= rdi; 0x00443ef4 jmp 0x444056 | goto label_13; | label_43: 0x00443ef9 xor ebp, ebp | ebp = 0; | label_44: 0x00443efb test cl, 1 | 0x00443efe mov rbx, qword [rsp - 0x18] | rbx = *((rsp - 0x18)); | if ((cl & 1) != 0) { 0x00443f03 je 0x443f32 | 0x00443f05 or rbp, rbx | rbp |= rbx; 0x00443f08 mov rax, qword [rsp - 0x28] | rax = *((rsp - 0x28)); 0x00443f0d movups xmm0, xmmword [rax + rbp*8] | __asm ("movups xmm0, xmmword [rax + rbp*8]"); 0x00443f11 movups xmm1, xmmword [rax + rbp*8 + 0x10] | __asm ("movups xmm1, xmmword [rax + rbp*8 + 0x10]"); 0x00443f16 movups xmm2, xmmword [r11 + rbp*8] | __asm ("movups xmm2, xmmword [r11 + rbp*8]"); 0x00443f1b andnps xmm0, xmm2 | __asm ("andnps xmm0, xmm2"); 0x00443f1e movups xmm2, xmmword [r11 + rbp*8 + 0x10] | __asm ("movups xmm2, xmmword [r11 + rbp*8 + 0x10]"); 0x00443f24 andnps xmm1, xmm2 | __asm ("andnps xmm1, xmm2"); 0x00443f27 movups xmmword [r11 + rbp*8], xmm0 | __asm ("movups xmmword [r11 + rbp*8], xmm0"); 0x00443f2c movups xmmword [r11 + rbp*8 + 0x10], xmm1 | __asm ("movups xmmword [r11 + rbp*8 + 0x10], xmm1"); | } 0x00443f32 lea rbp, [rbx + rdx] | rbp = rbx + rdx; 0x00443f36 cmp rsi, rdx | 0x00443f39 mov rdx, qword [rsp - 0x20] | rdx = *((rsp - 0x20)); 0x00443f3e mov r13, qword [rsp - 0x28] | r13 = *((rsp - 0x28)); | if (rsi == rdx) { 0x00443f43 je 0x443f9e | goto label_48; | } | label_42: 0x00443f45 mov eax, r12d | eax = r12d; 0x00443f48 sub eax, ebp | eax -= ebp; 0x00443f4a inc eax | eax++; 0x00443f4c mov rsi, rbp | rsi = rbp; 0x00443f4f test al, 1 | | if ((al & 1) != 0) { 0x00443f51 je 0x443f63 | 0x00443f53 lea rsi, [rbp + 1] | rsi = rbp + 1; 0x00443f57 mov rax, qword [r13 + rbp*8] | rax = *((r13 + rbp*8)); 0x00443f5c not rax | rax = ~rax; 0x00443f5f and qword [r11 + rbp*8], rax | *((r11 + rbp*8)) &= rax; | } 0x00443f63 cmp r12, rbp | 0x00443f66 mov rbp, rsi | | if (r12 == rbp) { 0x00443f69 je 0x443f9e | goto label_48; | } 0x00443f6b lea rdx, [rdx + r9*8 + 8] | rdx = rdx + r9*8 + 8; 0x00443f70 lea rdi, [rdi + r15*8 + 8] | rdi = rdi + r15*8 + 8; 0x00443f75 lea rcx, [rbx + r10 + 1] | rcx = rbx + r10 + 1; | do { 0x00443f7a mov rax, qword [rdx + rsi*8 - 8] | rax = *((rdx + rsi*8 - 8)); 0x00443f7f not rax | rax = ~rax; 0x00443f82 and qword [rdi + rsi*8 - 8], rax | *((rdi + rsi*8 - 8)) &= rax; 0x00443f87 lea rbp, [rsi + 2] | rbp = rsi + 2; 0x00443f8b mov rax, qword [rdx + rsi*8] | rax = *((rdx + rsi*8)); 0x00443f8f not rax | rax = ~rax; 0x00443f92 and qword [rdi + rsi*8], rax | *((rdi + rsi*8)) &= rax; 0x00443f96 mov rsi, rbp | rsi = rbp; 0x00443f99 cmp rcx, rbp | 0x00443f9c jne 0x443f7a | | } while (rcx != rbp); | label_48: 0x00443f9e inc r12 | r12++; 0x00443fa1 and r8d, 0x3f | r8d &= 0x3f; 0x00443fa5 mov rbx, r12 | rbx = r12; | label_35: 0x00443fa8 test r8, r8 | | if (r8 == 0) { 0x00443fab je 0x444056 | goto label_13; | } 0x00443fb1 mov rdx, qword [r13 + rbx*8] | rdx = *((r13 + rbx*8)); 0x00443fb6 mov eax, 0x40 | eax = 0x40; 0x00443fbb sub eax, r14d | eax -= r14d; 0x00443fbe cmp eax, r8d | | if (eax >= r8d) { 0x00443fc1 jge 0x444015 | goto label_49; | } 0x00443fc3 cmp r14d, 0x3f | | if (r14d <= 0x3f) { 0x00443fc7 jg 0x443fe9 | 0x00443fc9 mov rsi, 0xffffffffffffffff | rsi = 0xffffffffffffffff; 0x00443fd0 mov ecx, r14d | ecx = r14d; 0x00443fd3 shl rsi, cl | rsi <<= cl; 0x00443fd6 not rsi | rsi = ~rsi; 0x00443fd9 mov rdi, rdx | rdi = rdx; 0x00443fdc not rdi | rdi = ~rdi; 0x00443fdf shl rdi, cl | rdi <<= cl; 0x00443fe2 or rdi, rsi | rdi |= rsi; 0x00443fe5 and qword [r11 + rbp*8], rdi | *((r11 + rbp*8)) &= rdi; | } 0x00443fe9 mov ecx, eax | ecx = eax; 0x00443feb shr rdx, cl | rdx >>= cl; 0x00443fee sub r8d, eax | r8d -= eax; 0x00443ff1 mov rax, 0xffffffffffffffff | rax = 0xffffffffffffffff; 0x00443ff8 mov ecx, r8d | ecx = r8d; 0x00443ffb shl rax, cl | rax <<= cl; 0x00443ffe cmp r8d, 0x40 | 0x00444002 jge 0x44408b | | while (1) { 0x00444008 not rdx | rdx = ~rdx; 0x0044400b or rdx, rax | rdx |= rax; 0x0044400e and qword [r11 + rbp*8 + 8], rdx | *((r11 + rbp*8 + 8)) &= rdx; 0x00444013 jmp 0x444056 | goto label_13; | label_49: 0x00444015 cmp r14d, 0x3f | | if (r14d <= 0x3f) { 0x00444019 jg 0x444056 | 0x0044401b mov rdi, 0xffffffffffffffff | rdi = 0xffffffffffffffff; 0x00444022 mov ecx, r14d | ecx = r14d; 0x00444025 shl rdi, cl | rdi <<= cl; 0x00444028 mov eax, r14d | eax = r14d; 0x0044402b mov rsi, 0xffffffffffffffff | rsi = 0xffffffffffffffff; 0x00444032 not rdi | rdi = ~rdi; 0x00444035 add r8d, r14d | r8d += r14d; 0x00444038 mov ecx, r8d | ecx = r8d; 0x0044403b shl rsi, cl | rsi <<= cl; 0x0044403e cmp r8d, 0x40 | | if (r8d >= 0x40) { 0x00444042 jge 0x444092 | goto label_50; | } | label_8: 0x00444044 or rsi, rdi | rsi |= rdi; 0x00444047 not rdx | rdx = ~rdx; 0x0044404a mov ecx, eax | ecx = eax; 0x0044404c shl rdx, cl | rdx <<= cl; 0x0044404f or rdx, rsi | rdx |= rsi; 0x00444052 and qword [r11 + rbp*8], rdx | *((r11 + rbp*8)) &= rdx; | } | label_13: 0x00444056 pop rbx | 0x00444057 pop r12 | r12 = rbx; 0x00444059 pop r13 | r13 = rbx; 0x0044405b pop r14 | r14 = rbx; 0x0044405d pop r15 | r15 = rbx; 0x0044405f pop rbp | 0x00444060 ret | return rax; | label_45: 0x00444061 xor eax, eax | eax = 0; 0x00444063 jmp 0x443e72 | goto label_2; | label_46: 0x00444068 xor edi, edi | edi = 0; 0x0044406a jmp 0x443eb1 | goto label_3; | label_16: 0x0044406f xor eax, eax | eax = 0; 0x00444071 jmp 0x4437d4 | goto label_4; | label_29: 0x00444076 xor ebp, ebp | ebp = 0; 0x00444078 jmp 0x4439db | goto label_5; | label_27: 0x0044407d xor eax, eax | eax = 0; 0x0044407f jmp 0x44398a | goto label_6; | label_32: 0x00444084 xor ebp, ebp | ebp = 0; 0x00444086 jmp 0x443a52 | goto label_7; 0x0044408b xor eax, eax | eax = 0; 0x0044408d jmp 0x444008 | | } | label_50: 0x00444092 xor esi, esi | esi = 0; 0x00444094 jmp 0x444044 | goto label_8; | label_39: 0x00444096 xor r13d, r13d | r13d = 0; 0x00444099 jmp 0x443b4f | goto label_9; | label_37: 0x0044409e xor edi, edi | edi = 0; 0x004440a0 jmp 0x443ae3 | goto label_10; | label_47: 0x004440a5 xor edi, edi | edi = 0; 0x004440a7 jmp 0x443ee3 | goto label_11; | }