; assembly | /* r2dec pseudo code output */ | /* bblb_schedulegenerationutil.t/assume @ 0x419d30 */ | #include | ; (fcn) method.BloombergLP::bdlc::PackedIntArrayImp_BloombergLP::bdlc::PackedIntArrayImp_Signed_.replaceImp_void__unsigned_long__int__void__unsigned_long__int__unsigned_long_ () | int64_t method_BloombergLP::bdlc::PackedIntArrayImp_BloombergLP::bdlc::PackedIntArrayImp_Signed_replaceImp_void_unsigned_long_int_void_unsigned_long_int_unsigned_long_ (int64_t arg_20h, int64_t arg_28h, int64_t arg_7h, int64_t arg_8h_2, int64_t arg_1ch, int64_t arg_20h_4, void ** arg6, int64_t arg5, int64_t arg4, void ** arg3, int64_t arg2, int64_t arg7, int64_t arg8, int64_t arg9) { | r9 = arg6; | r8 = arg5; | rcx = arg4; | rdx = arg3; | rsi = arg2; | xmm0 = arg7; | xmm1 = arg8; | xmm2 = arg9; | /* BloombergLP::bdlc::PackedIntArrayImp::replaceImp(void*, unsigned long, int, void*, unsigned long, int, unsigned long) */ 0x00419d30 push r15 | 0x00419d32 push r14 | 0x00419d34 push rbx | 0x00419d35 mov r14, qword [rsp + 0x28] | r14 = *((rsp + 0x28)); 0x00419d3a mov r11d, dword [rsp + 0x20] | r11d = *((rsp + 0x20)); 0x00419d3f movsxd r10, ecx | r10 = (int64_t) ecx; 0x00419d42 mov rax, r10 | rax = r10; 0x00419d45 imul rax, rdx | rax *= rdx; 0x00419d49 add rax, rsi | rax += rsi; 0x00419d4c movsxd r15, r11d | r15 = (int64_t) r11d; 0x00419d4f mov rbx, r15 | rbx = r15; 0x00419d52 imul rbx, r9 | rbx *= r9; 0x00419d56 add rbx, r8 | rbx += r8; 0x00419d59 cmp rax, rbx | | if (rax <= rbx) { 0x00419d5c ja 0x419d6e | 0x00419d5e lea rdi, [r14 + rdx] | rdi = r14 + rdx; 0x00419d62 imul rdi, r10 | rdi *= r10; 0x00419d66 add rdi, rsi | rdi += rsi; 0x00419d69 cmp rdi, rbx | | if (rdi <= rbx) { 0x00419d6c jbe 0x419d7e | goto label_29; | } | } 0x00419d6e lea rbx, [r14 + r9] | rbx = r14 + r9; 0x00419d72 imul rbx, r15 | rbx *= r15; 0x00419d76 add rbx, r8 | rbx += r8; 0x00419d79 cmp rax, rbx | | if (rax < rbx) { 0x00419d7c jae 0x419d87 | | label_29: 0x00419d7e dec ecx | ecx--; | /* switch table (160 cases) at 0x45fc20 */ 0x00419d80 jmp qword [rcx*8 + 0x45fc20] | | } 0x00419d87 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x00419d8b imul rax, r10 | rax *= r10; 0x00419d8f add rax, rsi | rax += rsi; 0x00419d92 cmp rax, rbx | 0x00419d95 dec ecx | ecx--; | /* switch table (160 cases) at 0x45fc20 */ 0x00419d97 jmp qword [rcx*8 + 0x45fc20] | 0x00419d9e lea rax, [rsi + rdx] | rax = rsi + rdx; 0x00419da2 cmp r11d, 8 | | if (r11d == 8) { 0x00419da6 je 0x41a104 | goto label_30; | } 0x00419dac cmp r11d, 4 | | if (r11d != 4) { 0x00419db0 jne 0x41a2a4 | goto label_31; | } 0x00419db6 test r14, r14 | | if (r14 == 0) { 0x00419db9 je 0x41b168 | goto label_32; | } 0x00419dbf lea rcx, [rax + r14] | rcx = rax + r14; 0x00419dc3 lea r10, [r8 + r9*4] | r10 = r8 + r9*4; 0x00419dc7 lea rdi, [r10 + r14*4] | rdi = r10 + r14*4; 0x00419dcb cmp r14, 8 | | if (r14 >= 8) { 0x00419dcf jb 0x419deb | 0x00419dd1 lea rbx, [r14 + r9] | rbx = r14 + r9; 0x00419dd5 lea rbx, [r8 + rbx*4] | rbx = r8 + rbx*4; 0x00419dd9 cmp rax, rbx | | if (rax >= rbx) { 0x00419ddc jae 0x41a8ce | goto label_33; | } 0x00419de2 cmp r10, rcx | | if (r10 >= rcx) { 0x00419de5 jae 0x41a8ce | goto label_33; | } | } 0x00419deb xor r10d, r10d | r10d = 0; | label_0: 0x00419dee mov rax, r10 | rax = r10; 0x00419df1 not rax | rax = ~rax; 0x00419df4 add rax, r14 | rax += r14; 0x00419df7 mov rdx, r14 | rdx = r14; 0x00419dfa and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00419dfe je 0x419e2a | goto label_34; | } 0x00419e00 neg rdx | rdx = -rdx; 0x00419e03 xor esi, esi | esi = 0; 0x00419e05 nop word cs:[rax + rax] | 0x00419e0f nop | | do { 0x00419e10 movzx ebx, byte [rdi - 4] | ebx = *((rdi - 4)); 0x00419e14 add rdi, 0xfffffffffffffffc | rdi += 0xfffffffffffffffc; 0x00419e18 mov byte [rcx + rsi - 1], bl | *((rcx + rsi - 1)) = bl; 0x00419e1c dec rsi | rsi--; 0x00419e1f cmp rdx, rsi | 0x00419e22 jne 0x419e10 | | } while (rdx != rsi); 0x00419e24 sub r10, rsi | r10 -= rsi; 0x00419e27 add rcx, rsi | rcx += rsi; | label_34: 0x00419e2a cmp rax, 7 | | if (rax < 7) { 0x00419e2e jb 0x41b168 | goto label_32; | } 0x00419e34 sub r10, r14 | r10 -= r14; 0x00419e37 xor eax, eax | eax = 0; 0x00419e39 nop dword [rax] | | do { 0x00419e40 movzx edx, byte [rdi + rax*4 - 4] | edx = *((rdi + rax*4 - 4)); 0x00419e45 mov byte [rcx + rax - 1], dl | *((rcx + rax - 1)) = dl; 0x00419e49 movzx edx, byte [rdi + rax*4 - 8] | edx = *((rdi + rax*4 - 8)); 0x00419e4e mov byte [rcx + rax - 2], dl | *((rcx + rax - 2)) = dl; 0x00419e52 movzx edx, byte [rdi + rax*4 - 0xc] | edx = *((rdi + rax*4 - 0xc)); 0x00419e57 mov byte [rcx + rax - 3], dl | *((rcx + rax - 3)) = dl; 0x00419e5b movzx edx, byte [rdi + rax*4 - 0x10] | edx = *((rdi + rax*4 - 0x10)); 0x00419e60 mov byte [rcx + rax - 4], dl | *((rcx + rax - 4)) = dl; 0x00419e64 movzx edx, byte [rdi + rax*4 - 0x14] | edx = *((rdi + rax*4 - 0x14)); 0x00419e69 mov byte [rcx + rax - 5], dl | *((rcx + rax - 5)) = dl; 0x00419e6d movzx edx, byte [rdi + rax*4 - 0x18] | edx = *((rdi + rax*4 - 0x18)); 0x00419e72 mov byte [rcx + rax - 6], dl | *((rcx + rax - 6)) = dl; 0x00419e76 movzx edx, byte [rdi + rax*4 - 0x1c] | edx = *((rdi + rax*4 - 0x1c)); 0x00419e7b mov byte [rcx + rax - 7], dl | *((rcx + rax - 7)) = dl; 0x00419e7f movzx edx, byte [rdi + rax*4 - 0x20] | edx = *((rdi + rax*4 - 0x20)); 0x00419e84 mov byte [rcx + rax - 8], dl | *((rcx + rax - 8)) = dl; 0x00419e88 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x00419e8c cmp r10, rax | 0x00419e8f jne 0x419e40 | | } while (r10 != rax); 0x00419e91 jmp 0x41b168 | goto label_32; 0x00419e96 lea r10, [rsi + rdx*8] | r10 = rsi + rdx*8; 0x00419e9a cmp r11d, 4 | | if (r11d == 4) { 0x00419e9e je 0x41a0d6 | goto label_35; | } 0x00419ea4 cmp r11d, 2 | | if (r11d != 2) { 0x00419ea8 jne 0x41a386 | goto label_36; | } 0x00419eae test r14, r14 | | if (r14 == 0) { 0x00419eb1 je 0x41b168 | goto label_32; | } 0x00419eb7 lea rax, [r14 - 1] | rax = r14 - 1; 0x00419ebb mov ecx, r14d | ecx = r14d; 0x00419ebe and ecx, 7 | ecx &= 7; 0x00419ec1 cmp rax, 7 | | if (rax >= 7) { 0x00419ec5 jae 0x41a576 | goto label_37; | } 0x00419ecb lea rsi, [r10 + r14*8] | rsi = r10 + r14*8; 0x00419ecf lea rax, [r8 + r9*2] | rax = r8 + r9*2; 0x00419ed3 lea r8, [rax + r14*2] | r8 = rax + r14*2; 0x00419ed7 jmp 0x41a60c | goto label_38; 0x00419edc lea rax, [rsi + rdx*2] | rax = rsi + rdx*2; 0x00419ee0 cmp r11d, 8 | | if (r11d == 8) { 0x00419ee4 je 0x41a1e6 | goto label_39; | } 0x00419eea cmp r11d, 4 | | if (r11d != 4) { 0x00419eee jne 0x41a3b2 | goto label_40; | } 0x00419ef4 test r14, r14 | | if (r14 == 0) { 0x00419ef7 je 0x41b168 | goto label_32; | } 0x00419efd lea rcx, [rax + r14*2] | rcx = rax + r14*2; 0x00419f01 lea r10, [r8 + r9*4] | r10 = r8 + r9*4; 0x00419f05 lea rdi, [r10 + r14*4] | rdi = r10 + r14*4; 0x00419f09 cmp r14, 8 | | if (r14 >= 8) { 0x00419f0d jb 0x419f31 | 0x00419f0f lea rbx, [r14 + r9] | rbx = r14 + r9; 0x00419f13 lea rbx, [r8 + rbx*4] | rbx = r8 + rbx*4; 0x00419f17 cmp rax, rbx | | if (rax >= rbx) { 0x00419f1a jae 0x41a974 | goto label_41; | } 0x00419f20 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x00419f24 lea rax, [rsi + rax*2] | rax = rsi + rax*2; 0x00419f28 cmp r10, rax | | if (r10 >= rax) { 0x00419f2b jae 0x41a974 | goto label_41; | } | } 0x00419f31 xor r10d, r10d | r10d = 0; | label_1: 0x00419f34 mov rax, r10 | rax = r10; 0x00419f37 not rax | rax = ~rax; 0x00419f3a add rax, r14 | rax += r14; 0x00419f3d mov rdx, r14 | rdx = r14; 0x00419f40 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00419f44 je 0x419f6b | goto label_42; | } 0x00419f46 neg rdx | rdx = -rdx; 0x00419f49 xor esi, esi | esi = 0; 0x00419f4b nop dword [rax + rax] | | do { 0x00419f50 movzx ebx, word [rdi - 4] | ebx = *((rdi - 4)); 0x00419f54 add rdi, 0xfffffffffffffffc | rdi += 0xfffffffffffffffc; 0x00419f58 mov word [rcx - 2], bx | *((rcx - 2)) = bx; 0x00419f5c add rcx, 0xfffffffffffffffe | rcx += 0xfffffffffffffffe; 0x00419f60 dec rsi | rsi--; 0x00419f63 cmp rdx, rsi | 0x00419f66 jne 0x419f50 | | } while (rdx != rsi); 0x00419f68 sub r10, rsi | r10 -= rsi; | label_42: 0x00419f6b cmp rax, 7 | | if (rax < 7) { 0x00419f6f jb 0x41b168 | goto label_32; | } 0x00419f75 sub r10, r14 | r10 -= r14; 0x00419f78 xor eax, eax | eax = 0; 0x00419f7a nop word [rax + rax] | | do { 0x00419f80 movzx edx, word [rdi + rax*4 - 4] | edx = *((rdi + rax*4 - 4)); 0x00419f85 mov word [rcx + rax*2 - 2], dx | *((rcx + rax*2 - 2)) = dx; 0x00419f8a movzx edx, word [rdi + rax*4 - 8] | edx = *((rdi + rax*4 - 8)); 0x00419f8f mov word [rcx + rax*2 - 4], dx | *((rcx + rax*2 - 4)) = dx; 0x00419f94 movzx edx, word [rdi + rax*4 - 0xc] | edx = *((rdi + rax*4 - 0xc)); 0x00419f99 mov word [rcx + rax*2 - 6], dx | *((rcx + rax*2 - 6)) = dx; 0x00419f9e movzx edx, word [rdi + rax*4 - 0x10] | edx = *((rdi + rax*4 - 0x10)); 0x00419fa3 mov word [rcx + rax*2 - 8], dx | *((rcx + rax*2 - 8)) = dx; 0x00419fa8 movzx edx, word [rdi + rax*4 - 0x14] | edx = *((rdi + rax*4 - 0x14)); 0x00419fad mov word [rcx + rax*2 - 0xa], dx | *((rcx + rax*2 - 0xa)) = dx; 0x00419fb2 movzx edx, word [rdi + rax*4 - 0x18] | edx = *((rdi + rax*4 - 0x18)); 0x00419fb7 mov word [rcx + rax*2 - 0xc], dx | *((rcx + rax*2 - 0xc)) = dx; 0x00419fbc movzx edx, word [rdi + rax*4 - 0x1c] | edx = *((rdi + rax*4 - 0x1c)); 0x00419fc1 mov word [rcx + rax*2 - 0xe], dx | *((rcx + rax*2 - 0xe)) = dx; 0x00419fc6 movzx edx, word [rdi + rax*4 - 0x20] | edx = *((rdi + rax*4 - 0x20)); 0x00419fcb mov word [rcx + rax*2 - 0x10], dx | *((rcx + rax*2 - 0x10)) = dx; 0x00419fd0 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x00419fd4 cmp r10, rax | 0x00419fd7 jne 0x419f80 | | } while (r10 != rax); 0x00419fd9 jmp 0x41b168 | goto label_32; 0x00419fde lea rax, [rsi + rdx*4] | rax = rsi + rdx*4; 0x00419fe2 cmp r11d, 8 | | if (r11d == 8) { 0x00419fe6 je 0x41a214 | goto label_43; | } 0x00419fec cmp r11d, 2 | | if (r11d != 2) { 0x00419ff0 jne 0x41a49e | goto label_44; | } 0x00419ff6 test r14, r14 | | if (r14 == 0) { 0x00419ff9 je 0x41b168 | goto label_32; | } 0x00419fff lea rcx, [rax + r14*4] | rcx = rax + r14*4; 0x0041a003 lea r10, [r8 + r9*2] | r10 = r8 + r9*2; 0x0041a007 lea rdi, [r10 + r14*2] | rdi = r10 + r14*2; 0x0041a00b cmp r14, 8 | | if (r14 >= 8) { 0x0041a00f jb 0x41a033 | 0x0041a011 lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041a015 lea rbx, [r8 + rbx*2] | rbx = r8 + rbx*2; 0x0041a019 cmp rax, rbx | | if (rax >= rbx) { 0x0041a01c jae 0x41aa11 | goto label_45; | } 0x0041a022 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041a026 lea rax, [rsi + rax*4] | rax = rsi + rax*4; 0x0041a02a cmp r10, rax | | if (r10 >= rax) { 0x0041a02d jae 0x41aa11 | goto label_45; | } | } 0x0041a033 xor r10d, r10d | r10d = 0; | label_2: 0x0041a036 mov rax, r10 | rax = r10; 0x0041a039 not rax | rax = ~rax; 0x0041a03c add rax, r14 | rax += r14; 0x0041a03f mov rdx, r14 | rdx = r14; 0x0041a042 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a046 je 0x41a06a | goto label_46; | } 0x0041a048 neg rdx | rdx = -rdx; 0x0041a04b xor esi, esi | esi = 0; 0x0041a04d nop dword [rax] | | do { 0x0041a050 movsx ebx, word [rdi - 2] | ebx = *((rdi - 2)); 0x0041a054 add rdi, 0xfffffffffffffffe | rdi += 0xfffffffffffffffe; 0x0041a058 mov dword [rcx - 4], ebx | *((rcx - 4)) = ebx; 0x0041a05b add rcx, 0xfffffffffffffffc | rcx += 0xfffffffffffffffc; 0x0041a05f dec rsi | rsi--; 0x0041a062 cmp rdx, rsi | 0x0041a065 jne 0x41a050 | | } while (rdx != rsi); 0x0041a067 sub r10, rsi | r10 -= rsi; | label_46: 0x0041a06a cmp rax, 7 | | if (rax < 7) { 0x0041a06e jb 0x41b168 | goto label_32; | } 0x0041a074 sub r10, r14 | r10 -= r14; 0x0041a077 xor eax, eax | eax = 0; 0x0041a079 nop dword [rax] | | do { 0x0041a080 movsx edx, word [rdi + rax*2 - 2] | edx = *((rdi + rax*2 - 2)); 0x0041a085 mov dword [rcx + rax*4 - 4], edx | *((rcx + rax*4 - 4)) = edx; 0x0041a089 movsx edx, word [rdi + rax*2 - 4] | edx = *((rdi + rax*2 - 4)); 0x0041a08e mov dword [rcx + rax*4 - 8], edx | *((rcx + rax*4 - 8)) = edx; 0x0041a092 movsx edx, word [rdi + rax*2 - 6] | edx = *((rdi + rax*2 - 6)); 0x0041a097 mov dword [rcx + rax*4 - 0xc], edx | *((rcx + rax*4 - 0xc)) = edx; 0x0041a09b movsx edx, word [rdi + rax*2 - 8] | edx = *((rdi + rax*2 - 8)); 0x0041a0a0 mov dword [rcx + rax*4 - 0x10], edx | *((rcx + rax*4 - 0x10)) = edx; 0x0041a0a4 movsx edx, word [rdi + rax*2 - 0xa] | edx = *((rdi + rax*2 - 0xa)); 0x0041a0a9 mov dword [rcx + rax*4 - 0x14], edx | *((rcx + rax*4 - 0x14)) = edx; 0x0041a0ad movsx edx, word [rdi + rax*2 - 0xc] | edx = *((rdi + rax*2 - 0xc)); 0x0041a0b2 mov dword [rcx + rax*4 - 0x18], edx | *((rcx + rax*4 - 0x18)) = edx; 0x0041a0b6 movsx edx, word [rdi + rax*2 - 0xe] | edx = *((rdi + rax*2 - 0xe)); 0x0041a0bb mov dword [rcx + rax*4 - 0x1c], edx | *((rcx + rax*4 - 0x1c)) = edx; 0x0041a0bf movsx edx, word [rdi + rax*2 - 0x10] | edx = *((rdi + rax*2 - 0x10)); 0x0041a0c4 mov dword [rcx + rax*4 - 0x20], edx | *((rcx + rax*4 - 0x20)) = edx; 0x0041a0c8 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041a0cc cmp r10, rax | 0x0041a0cf jne 0x41a080 | | } while (r10 != rax); 0x0041a0d1 jmp 0x41b168 | goto label_32; | label_35: 0x0041a0d6 test r14, r14 | | if (r14 == 0) { 0x0041a0d9 je 0x41b168 | goto label_32; | } 0x0041a0df lea rax, [r14 - 1] | rax = r14 - 1; 0x0041a0e3 mov ecx, r14d | ecx = r14d; 0x0041a0e6 and ecx, 7 | ecx &= 7; 0x0041a0e9 cmp rax, 7 | | if (rax >= 7) { 0x0041a0ed jae 0x41a638 | goto label_47; | } 0x0041a0f3 lea rsi, [r10 + r14*8] | rsi = r10 + r14*8; 0x0041a0f7 lea rax, [r8 + r9*4] | rax = r8 + r9*4; 0x0041a0fb lea r8, [rax + r14*4] | r8 = rax + r14*4; 0x0041a0ff jmp 0x41a6c4 | goto label_48; | label_30: 0x0041a104 test r14, r14 | | if (r14 == 0) { 0x0041a107 je 0x41b168 | goto label_32; | } 0x0041a10d lea rcx, [rax + r14] | rcx = rax + r14; 0x0041a111 lea r10, [r8 + r9*8] | r10 = r8 + r9*8; 0x0041a115 lea rdi, [r10 + r14*8] | rdi = r10 + r14*8; 0x0041a119 cmp r14, 4 | | if (r14 >= 4) { 0x0041a11d jb 0x41a139 | 0x0041a11f lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041a123 lea rbx, [r8 + rbx*8] | rbx = r8 + rbx*8; 0x0041a127 cmp rax, rbx | | if (rax >= rbx) { 0x0041a12a jae 0x41aadc | goto label_49; | } 0x0041a130 cmp r10, rcx | | if (r10 >= rcx) { 0x0041a133 jae 0x41aadc | goto label_49; | } | } 0x0041a139 xor r10d, r10d | r10d = 0; | label_3: 0x0041a13c mov edx, r14d | edx = r14d; 0x0041a13f sub edx, r10d | edx -= r10d; 0x0041a142 mov rax, r10 | rax = r10; 0x0041a145 not rax | rax = ~rax; 0x0041a148 add rax, r14 | rax += r14; 0x0041a14b and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a14f je 0x41a17a | goto label_50; | } 0x0041a151 neg rdx | rdx = -rdx; 0x0041a154 xor esi, esi | esi = 0; 0x0041a156 nop word cs:[rax + rax] | | do { 0x0041a160 movzx ebx, byte [rdi - 8] | ebx = *((rdi - 8)); 0x0041a164 add rdi, 0xfffffffffffffff8 | rdi += 0xfffffffffffffff8; 0x0041a168 mov byte [rcx + rsi - 1], bl | *((rcx + rsi - 1)) = bl; 0x0041a16c dec rsi | rsi--; 0x0041a16f cmp rdx, rsi | 0x0041a172 jne 0x41a160 | | } while (rdx != rsi); 0x0041a174 sub r10, rsi | r10 -= rsi; 0x0041a177 add rcx, rsi | rcx += rsi; | label_50: 0x0041a17a cmp rax, 7 | | if (rax < 7) { 0x0041a17e jb 0x41b168 | goto label_32; | } 0x0041a184 sub r10, r14 | r10 -= r14; 0x0041a187 xor eax, eax | eax = 0; 0x0041a189 nop dword [rax] | | do { 0x0041a190 movzx edx, byte [rdi + rax*8 - 8] | edx = *((rdi + rax*8 - 8)); 0x0041a195 mov byte [rcx + rax - 1], dl | *((rcx + rax - 1)) = dl; 0x0041a199 movzx edx, byte [rdi + rax*8 - 0x10] | edx = *((rdi + rax*8 - 0x10)); 0x0041a19e mov byte [rcx + rax - 2], dl | *((rcx + rax - 2)) = dl; 0x0041a1a2 movzx edx, byte [rdi + rax*8 - 0x18] | edx = *((rdi + rax*8 - 0x18)); 0x0041a1a7 mov byte [rcx + rax - 3], dl | *((rcx + rax - 3)) = dl; 0x0041a1ab movzx edx, byte [rdi + rax*8 - 0x20] | edx = *((rdi + rax*8 - 0x20)); 0x0041a1b0 mov byte [rcx + rax - 4], dl | *((rcx + rax - 4)) = dl; 0x0041a1b4 movzx edx, byte [rdi + rax*8 - 0x28] | edx = *((rdi + rax*8 - 0x28)); 0x0041a1b9 mov byte [rcx + rax - 5], dl | *((rcx + rax - 5)) = dl; 0x0041a1bd movzx edx, byte [rdi + rax*8 - 0x30] | edx = *((rdi + rax*8 - 0x30)); 0x0041a1c2 mov byte [rcx + rax - 6], dl | *((rcx + rax - 6)) = dl; 0x0041a1c6 movzx edx, byte [rdi + rax*8 - 0x38] | edx = *((rdi + rax*8 - 0x38)); 0x0041a1cb mov byte [rcx + rax - 7], dl | *((rcx + rax - 7)) = dl; 0x0041a1cf movzx edx, byte [rdi + rax*8 - 0x40] | edx = *((rdi + rax*8 - 0x40)); 0x0041a1d4 mov byte [rcx + rax - 8], dl | *((rcx + rax - 8)) = dl; 0x0041a1d8 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041a1dc cmp r10, rax | 0x0041a1df jne 0x41a190 | | } while (r10 != rax); 0x0041a1e1 jmp 0x41b168 | goto label_32; | label_39: 0x0041a1e6 test r14, r14 | | if (r14 == 0) { 0x0041a1e9 je 0x41b168 | goto label_32; | } 0x0041a1ef lea rdi, [r14 - 1] | rdi = r14 - 1; 0x0041a1f3 mov ecx, r14d | ecx = r14d; 0x0041a1f6 and ecx, 7 | ecx &= 7; 0x0041a1f9 cmp rdi, 7 | | if (rdi >= 7) { 0x0041a1fd jae 0x41a6f7 | goto label_51; | } 0x0041a203 lea rsi, [rax + r14*2] | rsi = rax + r14*2; 0x0041a207 lea rax, [r8 + r9*8] | rax = r8 + r9*8; 0x0041a20b lea r8, [rax + r14*8] | r8 = rax + r14*8; 0x0041a20f jmp 0x41a78c | goto label_52; | label_43: 0x0041a214 test r14, r14 | | if (r14 == 0) { 0x0041a217 je 0x41b168 | goto label_32; | } 0x0041a21d lea rcx, [rax + r14*4] | rcx = rax + r14*4; 0x0041a221 lea rdi, [r8 + r9*8] | rdi = r8 + r9*8; 0x0041a225 lea r10, [rdi + r14*8] | r10 = rdi + r14*8; 0x0041a229 cmp r14, 4 | | if (r14 >= 4) { 0x0041a22d jb 0x41a251 | 0x0041a22f lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041a233 lea rbx, [r8 + rbx*8] | rbx = r8 + rbx*8; 0x0041a237 cmp rax, rbx | | if (rax >= rbx) { 0x0041a23a jae 0x41ab8c | goto label_53; | } 0x0041a240 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041a244 lea rax, [rsi + rax*4] | rax = rsi + rax*4; 0x0041a248 cmp rdi, rax | | if (rdi >= rax) { 0x0041a24b jae 0x41ab8c | goto label_53; | } | } 0x0041a251 xor edi, edi | edi = 0; | label_4: 0x0041a253 mov esi, r14d | esi = r14d; 0x0041a256 sub esi, edi | esi -= edi; 0x0041a258 mov r8, rdi | r8 = rdi; 0x0041a25b not r8 | r8 = ~r8; 0x0041a25e add r8, r14 | r8 += r14; 0x0041a261 and rsi, 7 | rsi &= 7; | if (rsi == 0) { 0x0041a265 je 0x41a868 | goto label_54; | } 0x0041a26b shl rsi, 2 | rsi <<= 2; 0x0041a26f xor ebx, ebx | ebx = 0; 0x0041a271 mov rdx, r10 | rdx = r10; 0x0041a274 nop word cs:[rax + rax] | 0x0041a27e nop | | do { 0x0041a280 add rdx, 0xfffffffffffffff8 | rdx += 0xfffffffffffffff8; 0x0041a284 mov eax, dword [r10 + rbx*2 - 8] | eax = *((r10 + rbx*2 - 8)); 0x0041a289 mov dword [rcx + rbx - 4], eax | *((rcx + rbx - 4)) = eax; 0x0041a28d inc rdi | rdi++; 0x0041a290 add rbx, 0xfffffffffffffffc | rbx += 0xfffffffffffffffc; 0x0041a294 mov rax, rsi | rax = rsi; 0x0041a297 add rax, rbx | rax += rbx; 0x0041a29a jne 0x41a280 | | } while (rax != 0); 0x0041a29c add rcx, rbx | rcx += rbx; 0x0041a29f jmp 0x41a86b | goto label_55; | label_31: 0x0041a2a4 test r14, r14 | | if (r14 == 0) { 0x0041a2a7 je 0x41b168 | goto label_32; | } 0x0041a2ad lea rcx, [rax + r14] | rcx = rax + r14; 0x0041a2b1 lea r10, [r8 + r9*2] | r10 = r8 + r9*2; 0x0041a2b5 lea rdi, [r10 + r14*2] | rdi = r10 + r14*2; 0x0041a2b9 cmp r14, 0x10 | | if (r14 >= 0x10) { 0x0041a2bd jb 0x41a2d9 | 0x0041a2bf lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041a2c3 lea rbx, [r8 + rbx*2] | rbx = r8 + rbx*2; 0x0041a2c7 cmp rax, rbx | | if (rax >= rbx) { 0x0041a2ca jae 0x41ac21 | goto label_56; | } 0x0041a2d0 cmp r10, rcx | | if (r10 >= rcx) { 0x0041a2d3 jae 0x41ac21 | goto label_56; | } | } 0x0041a2d9 xor r10d, r10d | r10d = 0; | label_5: 0x0041a2dc mov rax, r10 | rax = r10; 0x0041a2df not rax | rax = ~rax; 0x0041a2e2 add rax, r14 | rax += r14; 0x0041a2e5 mov rdx, r14 | rdx = r14; 0x0041a2e8 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a2ec je 0x41a31a | goto label_57; | } 0x0041a2ee neg rdx | rdx = -rdx; 0x0041a2f1 xor esi, esi | esi = 0; 0x0041a2f3 nop word cs:[rax + rax] | 0x0041a2fd nop dword [rax] | | do { 0x0041a300 movzx ebx, byte [rdi - 2] | ebx = *((rdi - 2)); 0x0041a304 add rdi, 0xfffffffffffffffe | rdi += 0xfffffffffffffffe; 0x0041a308 mov byte [rcx + rsi - 1], bl | *((rcx + rsi - 1)) = bl; 0x0041a30c dec rsi | rsi--; 0x0041a30f cmp rdx, rsi | 0x0041a312 jne 0x41a300 | | } while (rdx != rsi); 0x0041a314 sub r10, rsi | r10 -= rsi; 0x0041a317 add rcx, rsi | rcx += rsi; | label_57: 0x0041a31a cmp rax, 7 | | if (rax < 7) { 0x0041a31e jb 0x41b168 | goto label_32; | } 0x0041a324 sub r10, r14 | r10 -= r14; 0x0041a327 xor eax, eax | eax = 0; 0x0041a329 nop dword [rax] | | do { 0x0041a330 movzx edx, byte [rdi + rax*2 - 2] | edx = *((rdi + rax*2 - 2)); 0x0041a335 mov byte [rcx + rax - 1], dl | *((rcx + rax - 1)) = dl; 0x0041a339 movzx edx, byte [rdi + rax*2 - 4] | edx = *((rdi + rax*2 - 4)); 0x0041a33e mov byte [rcx + rax - 2], dl | *((rcx + rax - 2)) = dl; 0x0041a342 movzx edx, byte [rdi + rax*2 - 6] | edx = *((rdi + rax*2 - 6)); 0x0041a347 mov byte [rcx + rax - 3], dl | *((rcx + rax - 3)) = dl; 0x0041a34b movzx edx, byte [rdi + rax*2 - 8] | edx = *((rdi + rax*2 - 8)); 0x0041a350 mov byte [rcx + rax - 4], dl | *((rcx + rax - 4)) = dl; 0x0041a354 movzx edx, byte [rdi + rax*2 - 0xa] | edx = *((rdi + rax*2 - 0xa)); 0x0041a359 mov byte [rcx + rax - 5], dl | *((rcx + rax - 5)) = dl; 0x0041a35d movzx edx, byte [rdi + rax*2 - 0xc] | edx = *((rdi + rax*2 - 0xc)); 0x0041a362 mov byte [rcx + rax - 6], dl | *((rcx + rax - 6)) = dl; 0x0041a366 movzx edx, byte [rdi + rax*2 - 0xe] | edx = *((rdi + rax*2 - 0xe)); 0x0041a36b mov byte [rcx + rax - 7], dl | *((rcx + rax - 7)) = dl; 0x0041a36f movzx edx, byte [rdi + rax*2 - 0x10] | edx = *((rdi + rax*2 - 0x10)); 0x0041a374 mov byte [rcx + rax - 8], dl | *((rcx + rax - 8)) = dl; 0x0041a378 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041a37c cmp r10, rax | 0x0041a37f jne 0x41a330 | | } while (r10 != rax); 0x0041a381 jmp 0x41b168 | goto label_32; | label_36: 0x0041a386 test r14, r14 | | if (r14 == 0) { 0x0041a389 je 0x41b168 | goto label_32; | } 0x0041a38f add r8, r9 | r8 += r9; 0x0041a392 add r8, r14 | r8 += r14; 0x0041a395 lea rax, [r14 - 1] | rax = r14 - 1; 0x0041a399 mov ecx, r14d | ecx = r14d; 0x0041a39c and ecx, 7 | ecx &= 7; 0x0041a39f cmp rax, 7 | | if (rax >= 7) { 0x0041a3a3 jae 0x41a7b8 | goto label_58; | } 0x0041a3a9 lea rsi, [r10 + r14*8] | rsi = r10 + r14*8; 0x0041a3ad jmp 0x41a83b | goto label_59; | label_40: 0x0041a3b2 test r14, r14 | | if (r14 == 0) { 0x0041a3b5 je 0x41b168 | goto label_32; | } 0x0041a3bb lea rcx, [rax + r14*2] | rcx = rax + r14*2; 0x0041a3bf lea rbx, [r8 + r9] | rbx = r8 + r9; 0x0041a3c3 lea rdi, [rbx + r14] | rdi = rbx + r14; 0x0041a3c7 cmp r14, 0x10 | | if (r14 >= 0x10) { 0x0041a3cb jb 0x41a3e7 | 0x0041a3cd cmp rax, rdi | | if (rax >= rdi) { 0x0041a3d0 jae 0x41acc1 | goto label_60; | } 0x0041a3d6 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041a3da lea rax, [rsi + rax*2] | rax = rsi + rax*2; 0x0041a3de cmp rbx, rax | | if (rbx >= rax) { 0x0041a3e1 jae 0x41acc1 | goto label_60; | } | } 0x0041a3e7 xor r10d, r10d | r10d = 0; | label_6: 0x0041a3ea mov rax, r10 | rax = r10; 0x0041a3ed not rax | rax = ~rax; 0x0041a3f0 add rax, r14 | rax += r14; 0x0041a3f3 mov rdx, r14 | rdx = r14; 0x0041a3f6 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a3fa je 0x41a42b | goto label_61; | } 0x0041a3fc neg rdx | rdx = -rdx; 0x0041a3ff xor esi, esi | esi = 0; 0x0041a401 nop word cs:[rax + rax] | 0x0041a40b nop dword [rax + rax] | | do { 0x0041a410 movsx ebx, byte [rdi + rsi - 1] | ebx = *((rdi + rsi - 1)); 0x0041a415 mov word [rcx - 2], bx | *((rcx - 2)) = bx; 0x0041a419 add rcx, 0xfffffffffffffffe | rcx += 0xfffffffffffffffe; 0x0041a41d dec rsi | rsi--; 0x0041a420 cmp rdx, rsi | 0x0041a423 jne 0x41a410 | | } while (rdx != rsi); 0x0041a425 sub r10, rsi | r10 -= rsi; 0x0041a428 add rdi, rsi | rdi += rsi; | label_61: 0x0041a42b cmp rax, 7 | | if (rax < 7) { 0x0041a42f jb 0x41b168 | goto label_32; | } 0x0041a435 sub r10, r14 | r10 -= r14; 0x0041a438 xor eax, eax | eax = 0; 0x0041a43a nop word [rax + rax] | | do { 0x0041a440 movsx edx, byte [rdi + rax - 1] | edx = *((rdi + rax - 1)); 0x0041a445 mov word [rcx + rax*2 - 2], dx | *((rcx + rax*2 - 2)) = dx; 0x0041a44a movsx edx, byte [rdi + rax - 2] | edx = *((rdi + rax - 2)); 0x0041a44f mov word [rcx + rax*2 - 4], dx | *((rcx + rax*2 - 4)) = dx; 0x0041a454 movsx edx, byte [rdi + rax - 3] | edx = *((rdi + rax - 3)); 0x0041a459 mov word [rcx + rax*2 - 6], dx | *((rcx + rax*2 - 6)) = dx; 0x0041a45e movsx edx, byte [rdi + rax - 4] | edx = *((rdi + rax - 4)); 0x0041a463 mov word [rcx + rax*2 - 8], dx | *((rcx + rax*2 - 8)) = dx; 0x0041a468 movsx edx, byte [rdi + rax - 5] | edx = *((rdi + rax - 5)); 0x0041a46d mov word [rcx + rax*2 - 0xa], dx | *((rcx + rax*2 - 0xa)) = dx; 0x0041a472 movsx edx, byte [rdi + rax - 6] | edx = *((rdi + rax - 6)); 0x0041a477 mov word [rcx + rax*2 - 0xc], dx | *((rcx + rax*2 - 0xc)) = dx; 0x0041a47c movsx edx, byte [rdi + rax - 7] | edx = *((rdi + rax - 7)); 0x0041a481 mov word [rcx + rax*2 - 0xe], dx | *((rcx + rax*2 - 0xe)) = dx; 0x0041a486 movsx edx, byte [rdi + rax - 8] | edx = *((rdi + rax - 8)); 0x0041a48b mov word [rcx + rax*2 - 0x10], dx | *((rcx + rax*2 - 0x10)) = dx; 0x0041a490 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041a494 cmp r10, rax | 0x0041a497 jne 0x41a440 | | } while (r10 != rax); 0x0041a499 jmp 0x41b168 | goto label_32; | label_44: 0x0041a49e test r14, r14 | | if (r14 == 0) { 0x0041a4a1 je 0x41b168 | goto label_32; | } 0x0041a4a7 lea rcx, [rax + r14*4] | rcx = rax + r14*4; 0x0041a4ab lea rbx, [r8 + r9] | rbx = r8 + r9; 0x0041a4af lea rdi, [rbx + r14] | rdi = rbx + r14; 0x0041a4b3 cmp r14, 8 | | if (r14 >= 8) { 0x0041a4b7 jb 0x41a4d3 | 0x0041a4b9 cmp rax, rdi | | if (rax >= rdi) { 0x0041a4bc jae 0x41ad8c | goto label_62; | } 0x0041a4c2 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041a4c6 lea rax, [rsi + rax*4] | rax = rsi + rax*4; 0x0041a4ca cmp rbx, rax | | if (rbx >= rax) { 0x0041a4cd jae 0x41ad8c | goto label_62; | } | } 0x0041a4d3 xor r10d, r10d | r10d = 0; | label_7: 0x0041a4d6 mov rax, r10 | rax = r10; 0x0041a4d9 not rax | rax = ~rax; 0x0041a4dc add rax, r14 | rax += r14; 0x0041a4df mov rdx, r14 | rdx = r14; 0x0041a4e2 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a4e6 je 0x41a50a | goto label_63; | } 0x0041a4e8 neg rdx | rdx = -rdx; 0x0041a4eb xor esi, esi | esi = 0; 0x0041a4ed nop dword [rax] | | do { 0x0041a4f0 movsx ebx, byte [rdi + rsi - 1] | ebx = *((rdi + rsi - 1)); 0x0041a4f5 mov dword [rcx - 4], ebx | *((rcx - 4)) = ebx; 0x0041a4f8 add rcx, 0xfffffffffffffffc | rcx += 0xfffffffffffffffc; 0x0041a4fc dec rsi | rsi--; 0x0041a4ff cmp rdx, rsi | 0x0041a502 jne 0x41a4f0 | | } while (rdx != rsi); 0x0041a504 sub r10, rsi | r10 -= rsi; 0x0041a507 add rdi, rsi | rdi += rsi; | label_63: 0x0041a50a cmp rax, 7 | | if (rax < 7) { 0x0041a50e jb 0x41b168 | goto label_32; | } 0x0041a514 sub r10, r14 | r10 -= r14; 0x0041a517 xor eax, eax | eax = 0; 0x0041a519 nop dword [rax] | | do { 0x0041a520 movsx edx, byte [rdi + rax - 1] | edx = *((rdi + rax - 1)); 0x0041a525 mov dword [rcx + rax*4 - 4], edx | *((rcx + rax*4 - 4)) = edx; 0x0041a529 movsx edx, byte [rdi + rax - 2] | edx = *((rdi + rax - 2)); 0x0041a52e mov dword [rcx + rax*4 - 8], edx | *((rcx + rax*4 - 8)) = edx; 0x0041a532 movsx edx, byte [rdi + rax - 3] | edx = *((rdi + rax - 3)); 0x0041a537 mov dword [rcx + rax*4 - 0xc], edx | *((rcx + rax*4 - 0xc)) = edx; 0x0041a53b movsx edx, byte [rdi + rax - 4] | edx = *((rdi + rax - 4)); 0x0041a540 mov dword [rcx + rax*4 - 0x10], edx | *((rcx + rax*4 - 0x10)) = edx; 0x0041a544 movsx edx, byte [rdi + rax - 5] | edx = *((rdi + rax - 5)); 0x0041a549 mov dword [rcx + rax*4 - 0x14], edx | *((rcx + rax*4 - 0x14)) = edx; 0x0041a54d movsx edx, byte [rdi + rax - 6] | edx = *((rdi + rax - 6)); 0x0041a552 mov dword [rcx + rax*4 - 0x18], edx | *((rcx + rax*4 - 0x18)) = edx; 0x0041a556 movsx edx, byte [rdi + rax - 7] | edx = *((rdi + rax - 7)); 0x0041a55b mov dword [rcx + rax*4 - 0x1c], edx | *((rcx + rax*4 - 0x1c)) = edx; 0x0041a55f movsx edx, byte [rdi + rax - 8] | edx = *((rdi + rax - 8)); 0x0041a564 mov dword [rcx + rax*4 - 0x20], edx | *((rcx + rax*4 - 0x20)) = edx; 0x0041a568 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041a56c cmp r10, rax | 0x0041a56f jne 0x41a520 | | } while (r10 != rax); 0x0041a571 jmp 0x41b168 | goto label_32; | label_37: 0x0041a576 add r9, r9 | r9 += r9; 0x0041a579 lea rax, [r9 + r14*2] | rax = r9 + r14*2; 0x0041a57d add r8, rax | r8 += rax; 0x0041a580 shl rdx, 3 | rdx <<= 3; 0x0041a584 lea rax, [rdx + r14*8] | rax = rdx + r14*8; 0x0041a588 add rsi, rax | rsi += rax; 0x0041a58b and r14, 0xfffffffffffffff8 | r14 &= 0xfffffffffffffff8; 0x0041a58f neg r14 | r14 = -r14; 0x0041a592 xor eax, eax | eax = 0; 0x0041a594 xor edx, edx | edx = 0; 0x0041a596 nop word cs:[rax + rax] | | do { 0x0041a5a0 movsx rdi, word [r8 + rdx - 2] | rdi = *((r8 + rdx - 2)); 0x0041a5a6 mov qword [rsi + rdx*4 - 8], rdi | *((rsi + rdx*4 - 8)) = rdi; 0x0041a5ab movsx rdi, word [r8 + rdx - 4] | rdi = *((r8 + rdx - 4)); 0x0041a5b1 mov qword [rsi + rdx*4 - 0x10], rdi | *((rsi + rdx*4 - 0x10)) = rdi; 0x0041a5b6 movsx rdi, word [r8 + rdx - 6] | rdi = *((r8 + rdx - 6)); 0x0041a5bc mov qword [rsi + rdx*4 - 0x18], rdi | *((rsi + rdx*4 - 0x18)) = rdi; 0x0041a5c1 movsx rdi, word [r8 + rdx - 8] | rdi = *((r8 + rdx - 8)); 0x0041a5c7 mov qword [rsi + rdx*4 - 0x20], rdi | *((rsi + rdx*4 - 0x20)) = rdi; 0x0041a5cc movsx rdi, word [r8 + rdx - 0xa] | rdi = *((r8 + rdx - 0xa)); 0x0041a5d2 mov qword [rsi + rdx*4 - 0x28], rdi | *((rsi + rdx*4 - 0x28)) = rdi; 0x0041a5d7 movsx rdi, word [r8 + rdx - 0xc] | rdi = *((r8 + rdx - 0xc)); 0x0041a5dd mov qword [rsi + rdx*4 - 0x30], rdi | *((rsi + rdx*4 - 0x30)) = rdi; 0x0041a5e2 movsx rdi, word [r8 + rdx - 0xe] | rdi = *((r8 + rdx - 0xe)); 0x0041a5e8 mov qword [rsi + rdx*4 - 0x38], rdi | *((rsi + rdx*4 - 0x38)) = rdi; 0x0041a5ed movsx rdi, word [r8 + rdx - 0x10] | rdi = *((r8 + rdx - 0x10)); 0x0041a5f3 mov qword [rsi + rdx*4 - 0x40], rdi | *((rsi + rdx*4 - 0x40)) = rdi; 0x0041a5f8 add rdx, 0xfffffffffffffff0 | rdx += 0xfffffffffffffff0; 0x0041a5fc add rax, 0x40 | rax += 0x40; 0x0041a600 add r14, 8 | r14 += 8; 0x0041a604 jne 0x41a5a0 | | } while (r14 != 0); 0x0041a606 add r8, rdx | r8 += rdx; 0x0041a609 sub rsi, rax | rsi -= rax; | label_38: 0x0041a60c test rcx, rcx | | if (rcx == 0) { 0x0041a60f je 0x41b168 | goto label_32; | } 0x0041a615 neg rcx | rcx = -rcx; 0x0041a618 xor eax, eax | eax = 0; 0x0041a61a nop word [rax + rax] | | do { 0x0041a620 movsx rdx, word [r8 + rax*2 - 2] | rdx = *((r8 + rax*2 - 2)); 0x0041a626 mov qword [rsi + rax*8 - 8], rdx | *((rsi + rax*8 - 8)) = rdx; 0x0041a62b dec rax | rax--; 0x0041a62e cmp rcx, rax | 0x0041a631 jne 0x41a620 | | } while (rcx != rax); 0x0041a633 jmp 0x41b168 | goto label_32; | label_47: 0x0041a638 shl r9, 2 | r9 <<= 2; 0x0041a63c lea rax, [r9 + r14*4] | rax = r9 + r14*4; 0x0041a640 add r8, rax | r8 += rax; 0x0041a643 shl rdx, 3 | rdx <<= 3; 0x0041a647 lea rax, [rdx + r14*8] | rax = rdx + r14*8; 0x0041a64b add rsi, rax | rsi += rax; 0x0041a64e and r14, 0xfffffffffffffff8 | r14 &= 0xfffffffffffffff8; 0x0041a652 neg r14 | r14 = -r14; 0x0041a655 xor eax, eax | eax = 0; 0x0041a657 xor edx, edx | edx = 0; 0x0041a659 nop dword [rax] | | do { 0x0041a660 movsxd rdi, dword [r8 + rdx - 4] | rdi = *((r8 + rdx - 4)); 0x0041a665 mov qword [rsi + rdx*2 - 8], rdi | *((rsi + rdx*2 - 8)) = rdi; 0x0041a66a movsxd rdi, dword [r8 + rdx - 8] | rdi = *((r8 + rdx - 8)); 0x0041a66f mov qword [rsi + rdx*2 - 0x10], rdi | *((rsi + rdx*2 - 0x10)) = rdi; 0x0041a674 movsxd rdi, dword [r8 + rdx - 0xc] | rdi = *((r8 + rdx - 0xc)); 0x0041a679 mov qword [rsi + rdx*2 - 0x18], rdi | *((rsi + rdx*2 - 0x18)) = rdi; 0x0041a67e movsxd rdi, dword [r8 + rdx - 0x10] | rdi = *((r8 + rdx - 0x10)); 0x0041a683 mov qword [rsi + rdx*2 - 0x20], rdi | *((rsi + rdx*2 - 0x20)) = rdi; 0x0041a688 movsxd rdi, dword [r8 + rdx - 0x14] | rdi = *((r8 + rdx - 0x14)); 0x0041a68d mov qword [rsi + rdx*2 - 0x28], rdi | *((rsi + rdx*2 - 0x28)) = rdi; 0x0041a692 movsxd rdi, dword [r8 + rdx - 0x18] | rdi = *((r8 + rdx - 0x18)); 0x0041a697 mov qword [rsi + rdx*2 - 0x30], rdi | *((rsi + rdx*2 - 0x30)) = rdi; 0x0041a69c movsxd rdi, dword [r8 + rdx - 0x1c] | rdi = *((r8 + rdx - 0x1c)); 0x0041a6a1 mov qword [rsi + rdx*2 - 0x38], rdi | *((rsi + rdx*2 - 0x38)) = rdi; 0x0041a6a6 movsxd rdi, dword [r8 + rdx - 0x20] | rdi = *((r8 + rdx - 0x20)); 0x0041a6ab mov qword [rsi + rdx*2 - 0x40], rdi | *((rsi + rdx*2 - 0x40)) = rdi; 0x0041a6b0 add rdx, 0xffffffffffffffe0 | rdx += 0xffffffffffffffe0; 0x0041a6b4 add rax, 0x40 | rax += 0x40; 0x0041a6b8 add r14, 8 | r14 += 8; 0x0041a6bc jne 0x41a660 | | } while (r14 != 0); 0x0041a6be add r8, rdx | r8 += rdx; 0x0041a6c1 sub rsi, rax | rsi -= rax; | label_48: 0x0041a6c4 test rcx, rcx | | if (rcx == 0) { 0x0041a6c7 je 0x41b168 | goto label_32; | } 0x0041a6cd neg rcx | rcx = -rcx; 0x0041a6d0 xor eax, eax | eax = 0; 0x0041a6d2 nop word cs:[rax + rax] | 0x0041a6dc nop dword [rax] | | do { 0x0041a6e0 movsxd rdx, dword [r8 + rax*4 - 4] | rdx = *((r8 + rax*4 - 4)); 0x0041a6e5 mov qword [rsi + rax*8 - 8], rdx | *((rsi + rax*8 - 8)) = rdx; 0x0041a6ea dec rax | rax--; 0x0041a6ed cmp rcx, rax | 0x0041a6f0 jne 0x41a6e0 | | } while (rcx != rax); 0x0041a6f2 jmp 0x41b168 | goto label_32; | label_51: 0x0041a6f7 shl r9, 3 | r9 <<= 3; 0x0041a6fb lea rax, [r9 + r14*8] | rax = r9 + r14*8; 0x0041a6ff add r8, rax | r8 += rax; 0x0041a702 add rdx, rdx | rdx += rdx; 0x0041a705 lea rax, [rdx + r14*2] | rax = rdx + r14*2; 0x0041a709 add rsi, rax | rsi += rax; 0x0041a70c and r14, 0xfffffffffffffff8 | r14 &= 0xfffffffffffffff8; 0x0041a710 neg r14 | r14 = -r14; 0x0041a713 xor eax, eax | eax = 0; 0x0041a715 xor edx, edx | edx = 0; 0x0041a717 nop word [rax + rax] | | do { 0x0041a720 movzx edi, word [r8 + rax*4 - 8] | edi = *((r8 + rax*4 - 8)); 0x0041a726 mov word [rsi + rax - 2], di | *((rsi + rax - 2)) = di; 0x0041a72b movzx edi, word [r8 + rax*4 - 0x10] | edi = *((r8 + rax*4 - 0x10)); 0x0041a731 mov word [rsi + rax - 4], di | *((rsi + rax - 4)) = di; 0x0041a736 movzx edi, word [r8 + rax*4 - 0x18] | edi = *((r8 + rax*4 - 0x18)); 0x0041a73c mov word [rsi + rax - 6], di | *((rsi + rax - 6)) = di; 0x0041a741 movzx edi, word [r8 + rax*4 - 0x20] | edi = *((r8 + rax*4 - 0x20)); 0x0041a747 mov word [rsi + rax - 8], di | *((rsi + rax - 8)) = di; 0x0041a74c movzx edi, word [r8 + rax*4 - 0x28] | edi = *((r8 + rax*4 - 0x28)); 0x0041a752 mov word [rsi + rax - 0xa], di | *((rsi + rax - 0xa)) = di; 0x0041a757 movzx edi, word [r8 + rax*4 - 0x30] | edi = *((r8 + rax*4 - 0x30)); 0x0041a75d mov word [rsi + rax - 0xc], di | *((rsi + rax - 0xc)) = di; 0x0041a762 movzx edi, word [r8 + rax*4 - 0x38] | edi = *((r8 + rax*4 - 0x38)); 0x0041a768 mov word [rsi + rax - 0xe], di | *((rsi + rax - 0xe)) = di; 0x0041a76d movzx edi, word [r8 + rax*4 - 0x40] | edi = *((r8 + rax*4 - 0x40)); 0x0041a773 mov word [rsi + rax - 0x10], di | *((rsi + rax - 0x10)) = di; 0x0041a778 add rdx, 0x40 | rdx += 0x40; 0x0041a77c add rax, 0xfffffffffffffff0 | rax += 0xfffffffffffffff0; 0x0041a780 add r14, 8 | r14 += 8; 0x0041a784 jne 0x41a720 | | } while (r14 != 0); 0x0041a786 sub r8, rdx | r8 -= rdx; 0x0041a789 add rsi, rax | rsi += rax; | label_52: 0x0041a78c test rcx, rcx | | if (rcx == 0) { 0x0041a78f je 0x41b168 | goto label_32; | } 0x0041a795 neg rcx | rcx = -rcx; 0x0041a798 xor eax, eax | eax = 0; 0x0041a79a nop word [rax + rax] | | do { 0x0041a7a0 movzx edx, word [r8 + rax*8 - 8] | edx = *((r8 + rax*8 - 8)); 0x0041a7a6 mov word [rsi + rax*2 - 2], dx | *((rsi + rax*2 - 2)) = dx; 0x0041a7ab dec rax | rax--; 0x0041a7ae cmp rcx, rax | 0x0041a7b1 jne 0x41a7a0 | | } while (rcx != rax); 0x0041a7b3 jmp 0x41b168 | goto label_32; | label_58: 0x0041a7b8 shl rdx, 3 | rdx <<= 3; 0x0041a7bc lea rax, [rdx + r14*8] | rax = rdx + r14*8; 0x0041a7c0 add rsi, rax | rsi += rax; 0x0041a7c3 and r14, 0xfffffffffffffff8 | r14 &= 0xfffffffffffffff8; 0x0041a7c7 neg r14 | r14 = -r14; 0x0041a7ca xor eax, eax | eax = 0; 0x0041a7cc xor edx, edx | edx = 0; 0x0041a7ce nop | | do { 0x0041a7d0 movsx rdi, byte [r8 + rdx - 1] | rdi = *((r8 + rdx - 1)); 0x0041a7d6 mov qword [rsi + rdx*8 - 8], rdi | *((rsi + rdx*8 - 8)) = rdi; 0x0041a7db movsx rdi, byte [r8 + rdx - 2] | rdi = *((r8 + rdx - 2)); 0x0041a7e1 mov qword [rsi + rdx*8 - 0x10], rdi | *((rsi + rdx*8 - 0x10)) = rdi; 0x0041a7e6 movsx rdi, byte [r8 + rdx - 3] | rdi = *((r8 + rdx - 3)); 0x0041a7ec mov qword [rsi + rdx*8 - 0x18], rdi | *((rsi + rdx*8 - 0x18)) = rdi; 0x0041a7f1 movsx rdi, byte [r8 + rdx - 4] | rdi = *((r8 + rdx - 4)); 0x0041a7f7 mov qword [rsi + rdx*8 - 0x20], rdi | *((rsi + rdx*8 - 0x20)) = rdi; 0x0041a7fc movsx rdi, byte [r8 + rdx - 5] | rdi = *((r8 + rdx - 5)); 0x0041a802 mov qword [rsi + rdx*8 - 0x28], rdi | *((rsi + rdx*8 - 0x28)) = rdi; 0x0041a807 movsx rdi, byte [r8 + rdx - 6] | rdi = *((r8 + rdx - 6)); 0x0041a80d mov qword [rsi + rdx*8 - 0x30], rdi | *((rsi + rdx*8 - 0x30)) = rdi; 0x0041a812 movsx rdi, byte [r8 + rdx - 7] | rdi = *((r8 + rdx - 7)); 0x0041a818 mov qword [rsi + rdx*8 - 0x38], rdi | *((rsi + rdx*8 - 0x38)) = rdi; 0x0041a81d movsx rdi, byte [r8 + rdx - 8] | rdi = *((r8 + rdx - 8)); 0x0041a823 mov qword [rsi + rdx*8 - 0x40], rdi | *((rsi + rdx*8 - 0x40)) = rdi; 0x0041a828 add rdx, 0xfffffffffffffff8 | rdx += 0xfffffffffffffff8; 0x0041a82c add rax, 0x40 | rax += 0x40; 0x0041a830 cmp r14, rdx | 0x0041a833 jne 0x41a7d0 | | } while (r14 != rdx); 0x0041a835 add r8, rdx | r8 += rdx; 0x0041a838 sub rsi, rax | rsi -= rax; | label_59: 0x0041a83b test rcx, rcx | | if (rcx == 0) { 0x0041a83e je 0x41b168 | goto label_32; | } 0x0041a844 neg rcx | rcx = -rcx; 0x0041a847 xor eax, eax | eax = 0; 0x0041a849 nop dword [rax] | | do { 0x0041a850 movsx rdx, byte [r8 + rax - 1] | rdx = *((r8 + rax - 1)); 0x0041a856 mov qword [rsi + rax*8 - 8], rdx | *((rsi + rax*8 - 8)) = rdx; 0x0041a85b dec rax | rax--; 0x0041a85e cmp rcx, rax | 0x0041a861 jne 0x41a850 | | } while (rcx != rax); 0x0041a863 jmp 0x41b168 | goto label_32; | label_54: 0x0041a868 mov rdx, r10 | rdx = r10; | label_55: 0x0041a86b cmp r8, 7 | | if (r8 < 7) { 0x0041a86f jb 0x41b168 | goto label_32; | } 0x0041a875 sub rdi, r14 | rdi -= r14; 0x0041a878 xor eax, eax | eax = 0; 0x0041a87a nop word [rax + rax] | | do { 0x0041a880 mov esi, dword [rdx + rax*8 - 8] | esi = *((rdx + rax*8 - 8)); 0x0041a884 mov dword [rcx + rax*4 - 4], esi | *((rcx + rax*4 - 4)) = esi; 0x0041a888 mov esi, dword [rdx + rax*8 - 0x10] | esi = *((rdx + rax*8 - 0x10)); 0x0041a88c mov dword [rcx + rax*4 - 8], esi | *((rcx + rax*4 - 8)) = esi; 0x0041a890 mov esi, dword [rdx + rax*8 - 0x18] | esi = *((rdx + rax*8 - 0x18)); 0x0041a894 mov dword [rcx + rax*4 - 0xc], esi | *((rcx + rax*4 - 0xc)) = esi; 0x0041a898 mov esi, dword [rdx + rax*8 - 0x20] | esi = *((rdx + rax*8 - 0x20)); 0x0041a89c mov dword [rcx + rax*4 - 0x10], esi | *((rcx + rax*4 - 0x10)) = esi; 0x0041a8a0 mov esi, dword [rdx + rax*8 - 0x28] | esi = *((rdx + rax*8 - 0x28)); 0x0041a8a4 mov dword [rcx + rax*4 - 0x14], esi | *((rcx + rax*4 - 0x14)) = esi; 0x0041a8a8 mov esi, dword [rdx + rax*8 - 0x30] | esi = *((rdx + rax*8 - 0x30)); 0x0041a8ac mov dword [rcx + rax*4 - 0x18], esi | *((rcx + rax*4 - 0x18)) = esi; 0x0041a8b0 mov esi, dword [rdx + rax*8 - 0x38] | esi = *((rdx + rax*8 - 0x38)); 0x0041a8b4 mov dword [rcx + rax*4 - 0x1c], esi | *((rcx + rax*4 - 0x1c)) = esi; 0x0041a8b8 mov esi, dword [rdx + rax*8 - 0x40] | esi = *((rdx + rax*8 - 0x40)); 0x0041a8bc mov dword [rcx + rax*4 - 0x20], esi | *((rcx + rax*4 - 0x20)) = esi; 0x0041a8c0 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041a8c4 cmp rdi, rax | 0x0041a8c7 jne 0x41a880 | | } while (rdi != rax); 0x0041a8c9 jmp 0x41b168 | goto label_32; | label_33: 0x0041a8ce mov r10, r14 | r10 = r14; 0x0041a8d1 and r10, 0xfffffffffffffff8 | r10 &= 0xfffffffffffffff8; 0x0041a8d5 lea rax, [r10 - 8] | rax = r10 - 8; 0x0041a8d9 mov r11, rax | r11 = rax; 0x0041a8dc shr r11, 3 | r11 >>= 3; 0x0041a8e0 inc r11 | r11++; 0x0041a8e3 test rax, rax | | if (rax == 0) { 0x0041a8e6 je 0x41ae5c | goto label_64; | } 0x0041a8ec add rdx, r14 | rdx += r14; 0x0041a8ef lea rax, [rsi + rdx - 4] | rax = rsi + rdx - 4; 0x0041a8f4 shl r9, 2 | r9 <<= 2; 0x0041a8f8 lea rdx, [r9 + r14*4] | rdx = r9 + r14*4; 0x0041a8fc lea rsi, [r8 + rdx - 0x10] | rsi = r8 + rdx - 0x10; 0x0041a901 mov rbx, r11 | rbx = r11; 0x0041a904 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041a908 neg rbx | rbx = -rbx; 0x0041a90b xor edx, edx | edx = 0; 0x0041a90d movdqa xmm0, xmmword [rip + 0x452eb] | __asm ("movdqa xmm0, xmmword [0x0045fc00]"); 0x0041a915 nop word cs:[rax + rax] | 0x0041a91f nop | | do { 0x0041a920 movdqu xmm1, xmmword [rsi + rdx*4 - 0x10] | __asm ("movdqu xmm1, xmmword [rsi + rdx*4 - 0x10]"); 0x0041a926 movdqu xmm2, xmmword [rsi + rdx*4] | __asm ("movdqu xmm2, xmmword [rsi + rdx*4]"); 0x0041a92b pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041a930 movd dword [rax + rdx], xmm2 | *((rax + rdx)) = xmm2; 0x0041a935 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041a93a movd dword [rax + rdx - 4], xmm1 | *((rax + rdx - 4)) = xmm1; 0x0041a940 movdqu xmm1, xmmword [rsi + rdx*4 - 0x30] | __asm ("movdqu xmm1, xmmword [rsi + rdx*4 - 0x30]"); 0x0041a946 movdqu xmm2, xmmword [rsi + rdx*4 - 0x20] | __asm ("movdqu xmm2, xmmword [rsi + rdx*4 - 0x20]"); 0x0041a94c pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041a951 movd dword [rax + rdx - 8], xmm2 | *((rax + rdx - 8)) = xmm2; 0x0041a957 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041a95c movd dword [rax + rdx - 0xc], xmm1 | *((rax + rdx - 0xc)) = xmm1; 0x0041a962 add rdx, 0xfffffffffffffff0 | rdx += 0xfffffffffffffff0; 0x0041a966 add rbx, 2 | rbx += 2; 0x0041a96a jne 0x41a920 | | } while (rbx != 0); 0x0041a96c neg rdx | rdx = -rdx; 0x0041a96f jmp 0x41ae5e | goto label_65; | label_41: 0x0041a974 mov r10, r14 | r10 = r14; 0x0041a977 and r10, 0xfffffffffffffff8 | r10 &= 0xfffffffffffffff8; 0x0041a97b lea rax, [r10 - 8] | rax = r10 - 8; 0x0041a97f mov r11, rax | r11 = rax; 0x0041a982 shr r11, 3 | r11 >>= 3; 0x0041a986 inc r11 | r11++; 0x0041a989 test rax, rax | | if (rax == 0) { 0x0041a98c je 0x41aeba | goto label_66; | } 0x0041a992 add rdx, rdx | rdx += rdx; 0x0041a995 lea rax, [rdx + r14*2] | rax = rdx + r14*2; 0x0041a999 lea rax, [rsi + rax - 8] | rax = rsi + rax - 8; 0x0041a99e shl r9, 2 | r9 <<= 2; 0x0041a9a2 lea rdx, [r9 + r14*4] | rdx = r9 + r14*4; 0x0041a9a6 lea rsi, [r8 + rdx - 0x10] | rsi = r8 + rdx - 0x10; 0x0041a9ab mov rbx, r11 | rbx = r11; 0x0041a9ae and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041a9b2 neg rbx | rbx = -rbx; 0x0041a9b5 xor edx, edx | edx = 0; 0x0041a9b7 movdqa xmm0, xmmword [rip + 0x45201] | __asm ("movdqa xmm0, xmmword [0x0045fbc0]"); 0x0041a9bf nop | | do { 0x0041a9c0 movdqu xmm1, xmmword [rsi + rdx*4 - 0x10] | __asm ("movdqu xmm1, xmmword [rsi + rdx*4 - 0x10]"); 0x0041a9c6 movdqu xmm2, xmmword [rsi + rdx*4] | __asm ("movdqu xmm2, xmmword [rsi + rdx*4]"); 0x0041a9cb pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041a9d0 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041a9d5 punpcklqdq xmm1, xmm2 | __asm ("punpcklqdq xmm1, xmm2"); 0x0041a9d9 movdqu xmmword [rax + rdx*2 - 8], xmm1 | __asm ("movdqu xmmword [rax + rdx*2 - 8], xmm1"); 0x0041a9df movdqu xmm1, xmmword [rsi + rdx*4 - 0x30] | __asm ("movdqu xmm1, xmmword [rsi + rdx*4 - 0x30]"); 0x0041a9e5 movdqu xmm2, xmmword [rsi + rdx*4 - 0x20] | __asm ("movdqu xmm2, xmmword [rsi + rdx*4 - 0x20]"); 0x0041a9eb pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041a9f0 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041a9f5 punpcklqdq xmm1, xmm2 | __asm ("punpcklqdq xmm1, xmm2"); 0x0041a9f9 movdqu xmmword [rax + rdx*2 - 0x18], xmm1 | __asm ("movdqu xmmword [rax + rdx*2 - 0x18], xmm1"); 0x0041a9ff add rdx, 0xfffffffffffffff0 | rdx += 0xfffffffffffffff0; 0x0041aa03 add rbx, 2 | rbx += 2; 0x0041aa07 jne 0x41a9c0 | | } while (rbx != 0); 0x0041aa09 neg rdx | rdx = -rdx; 0x0041aa0c jmp 0x41aebc | goto label_67; | label_45: 0x0041aa11 mov r10, r14 | r10 = r14; 0x0041aa14 and r10, 0xfffffffffffffff8 | r10 &= 0xfffffffffffffff8; 0x0041aa18 lea rax, [r10 - 8] | rax = r10 - 8; 0x0041aa1c mov r11, rax | r11 = rax; 0x0041aa1f shr r11, 3 | r11 >>= 3; 0x0041aa23 inc r11 | r11++; 0x0041aa26 test rax, rax | | if (rax == 0) { 0x0041aa29 je 0x41af1e | goto label_68; | } 0x0041aa2f shl rdx, 2 | rdx <<= 2; 0x0041aa33 lea rax, [rdx + r14*4] | rax = rdx + r14*4; 0x0041aa37 lea rax, [rsi + rax - 0x10] | rax = rsi + rax - 0x10; 0x0041aa3c add r9, r9 | r9 += r9; 0x0041aa3f lea rdx, [r9 + r14*2] | rdx = r9 + r14*2; 0x0041aa43 lea rsi, [r8 + rdx - 8] | rsi = r8 + rdx - 8; 0x0041aa48 mov rbx, r11 | rbx = r11; 0x0041aa4b and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041aa4f neg rbx | rbx = -rbx; 0x0041aa52 xor edx, edx | edx = 0; 0x0041aa54 nop word cs:[rax + rax] | 0x0041aa5e nop | | do { 0x0041aa60 movq xmm0, qword [rsi + rdx*2] | xmm0 = *((rsi + rdx*2)); 0x0041aa65 pshuflw xmm0, xmm0, 0x1b | __asm ("pshuflw xmm0, xmm0, 0x1b"); 0x0041aa6a movq xmm1, qword [rsi + rdx*2 - 8] | xmm1 = *((rsi + rdx*2 - 8)); 0x0041aa70 pshuflw xmm1, xmm1, 0x1b | __asm ("pshuflw xmm1, xmm1, 0x1b"); 0x0041aa75 pmovsxwd xmm0, xmm0 | __asm ("pmovsxwd xmm0, xmm0"); 0x0041aa7a pmovsxwd xmm1, xmm1 | __asm ("pmovsxwd xmm1, xmm1"); 0x0041aa7f pshufd xmm0, xmm0, 0x1b | __asm ("pshufd xmm0, xmm0, 0x1b"); 0x0041aa84 movdqu xmmword [rax + rdx*4], xmm0 | __asm ("movdqu xmmword [rax + rdx*4], xmm0"); 0x0041aa89 pshufd xmm0, xmm1, 0x1b | __asm ("pshufd xmm0, xmm1, 0x1b"); 0x0041aa8e movdqu xmmword [rax + rdx*4 - 0x10], xmm0 | __asm ("movdqu xmmword [rax + rdx*4 - 0x10], xmm0"); 0x0041aa94 movq xmm0, qword [rsi + rdx*2 - 0x10] | xmm0 = *((rsi + rdx*2 - 0x10)); 0x0041aa9a pshuflw xmm0, xmm0, 0x1b | __asm ("pshuflw xmm0, xmm0, 0x1b"); 0x0041aa9f movq xmm1, qword [rsi + rdx*2 - 0x18] | xmm1 = *((rsi + rdx*2 - 0x18)); 0x0041aaa5 pshuflw xmm1, xmm1, 0x1b | __asm ("pshuflw xmm1, xmm1, 0x1b"); 0x0041aaaa pmovsxwd xmm0, xmm0 | __asm ("pmovsxwd xmm0, xmm0"); 0x0041aaaf pmovsxwd xmm1, xmm1 | __asm ("pmovsxwd xmm1, xmm1"); 0x0041aab4 pshufd xmm0, xmm0, 0x1b | __asm ("pshufd xmm0, xmm0, 0x1b"); 0x0041aab9 movdqu xmmword [rax + rdx*4 - 0x20], xmm0 | __asm ("movdqu xmmword [rax + rdx*4 - 0x20], xmm0"); 0x0041aabf pshufd xmm0, xmm1, 0x1b | __asm ("pshufd xmm0, xmm1, 0x1b"); 0x0041aac4 movdqu xmmword [rax + rdx*4 - 0x30], xmm0 | __asm ("movdqu xmmword [rax + rdx*4 - 0x30], xmm0"); 0x0041aaca add rdx, 0xfffffffffffffff0 | rdx += 0xfffffffffffffff0; 0x0041aace add rbx, 2 | rbx += 2; 0x0041aad2 jne 0x41aa60 | | } while (rbx != 0); 0x0041aad4 neg rdx | rdx = -rdx; 0x0041aad7 jmp 0x41af20 | goto label_69; | label_49: 0x0041aadc mov r10, r14 | r10 = r14; 0x0041aadf and r10, 0xfffffffffffffffc | r10 &= 0xfffffffffffffffc; 0x0041aae3 lea rax, [r10 - 4] | rax = r10 - 4; 0x0041aae7 mov r11, rax | r11 = rax; 0x0041aaea shr r11, 2 | r11 >>= 2; 0x0041aaee inc r11 | r11++; 0x0041aaf1 test rax, rax | | if (rax == 0) { 0x0041aaf4 je 0x41af8c | goto label_70; | } 0x0041aafa add rdx, r14 | rdx += r14; 0x0041aafd lea rax, [rsi + rdx - 2] | rax = rsi + rdx - 2; 0x0041ab02 shl r9, 3 | r9 <<= 3; 0x0041ab06 lea rdx, [r9 + r14*8] | rdx = r9 + r14*8; 0x0041ab0a lea rsi, [r8 + rdx - 0x10] | rsi = r8 + rdx - 0x10; 0x0041ab0f mov rbx, r11 | rbx = r11; 0x0041ab12 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041ab16 neg rbx | rbx = -rbx; 0x0041ab19 xor edx, edx | edx = 0; 0x0041ab1b movdqa xmm0, xmmword [rip + 0x450cd] | __asm ("movdqa xmm0, xmmword [0x0045fbf0]"); 0x0041ab23 nop word cs:[rax + rax] | 0x0041ab2d nop dword [rax] | | do { 0x0041ab30 movdqu xmm1, xmmword [rsi + rdx*8 - 0x10] | __asm ("movdqu xmm1, xmmword [rsi + rdx*8 - 0x10]"); 0x0041ab36 movdqu xmm2, xmmword [rsi + rdx*8] | __asm ("movdqu xmm2, xmmword [rsi + rdx*8]"); 0x0041ab3b pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041ab40 pextrw word [rax + rdx], xmm2, 0 | __asm ("pextrw word [rax + rdx], xmm2, 0"); 0x0041ab47 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041ab4c pextrw word [rax + rdx - 2], xmm1, 0 | __asm ("pextrw word [rax + rdx - 2], xmm1, 0"); 0x0041ab54 movdqu xmm1, xmmword [rsi + rdx*8 - 0x30] | __asm ("movdqu xmm1, xmmword [rsi + rdx*8 - 0x30]"); 0x0041ab5a movdqu xmm2, xmmword [rsi + rdx*8 - 0x20] | __asm ("movdqu xmm2, xmmword [rsi + rdx*8 - 0x20]"); 0x0041ab60 pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041ab65 pextrw word [rax + rdx - 4], xmm2, 0 | __asm ("pextrw word [rax + rdx - 4], xmm2, 0"); 0x0041ab6d pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041ab72 pextrw word [rax + rdx - 6], xmm1, 0 | __asm ("pextrw word [rax + rdx - 6], xmm1, 0"); 0x0041ab7a add rdx, 0xfffffffffffffff8 | rdx += 0xfffffffffffffff8; 0x0041ab7e add rbx, 2 | rbx += 2; 0x0041ab82 jne 0x41ab30 | | } while (rbx != 0); 0x0041ab84 neg rdx | rdx = -rdx; 0x0041ab87 jmp 0x41af8e | goto label_71; | label_53: 0x0041ab8c mov rdi, r14 | rdi = r14; 0x0041ab8f and rdi, 0xfffffffffffffffc | rdi &= 0xfffffffffffffffc; 0x0041ab93 lea rax, [rdi - 4] | rax = rdi - 4; 0x0041ab97 mov r11, rax | r11 = rax; 0x0041ab9a shr r11, 2 | r11 >>= 2; 0x0041ab9e inc r11 | r11++; 0x0041aba1 test rax, rax | | if (rax == 0) { 0x0041aba4 je 0x41afee | goto label_72; | } 0x0041abaa shl rdx, 2 | rdx <<= 2; 0x0041abae lea rax, [rdx + r14*4] | rax = rdx + r14*4; 0x0041abb2 lea rdx, [rsi + rax - 8] | rdx = rsi + rax - 8; 0x0041abb7 shl r9, 3 | r9 <<= 3; 0x0041abbb lea rax, [r9 + r14*8] | rax = r9 + r14*8; 0x0041abbf lea rsi, [r8 + rax - 0x10] | rsi = r8 + rax - 0x10; 0x0041abc4 mov rbx, r11 | rbx = r11; 0x0041abc7 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041abcb neg rbx | rbx = -rbx; 0x0041abce xor eax, eax | eax = 0; | do { 0x0041abd0 movdqu xmm0, xmmword [rsi + rax*8 - 0x10] | __asm ("movdqu xmm0, xmmword [rsi + rax*8 - 0x10]"); 0x0041abd6 movdqu xmm1, xmmword [rsi + rax*8] | __asm ("movdqu xmm1, xmmword [rsi + rax*8]"); 0x0041abdb pshufd xmm1, xmm1, 0xe8 | __asm ("pshufd xmm1, xmm1, 0xe8"); 0x0041abe0 pshufd xmm0, xmm0, 0xe8 | __asm ("pshufd xmm0, xmm0, 0xe8"); 0x0041abe5 punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041abe9 movdqu xmmword [rdx + rax*4 - 8], xmm0 | __asm ("movdqu xmmword [rdx + rax*4 - 8], xmm0"); 0x0041abef movdqu xmm0, xmmword [rsi + rax*8 - 0x30] | __asm ("movdqu xmm0, xmmword [rsi + rax*8 - 0x30]"); 0x0041abf5 movdqu xmm1, xmmword [rsi + rax*8 - 0x20] | __asm ("movdqu xmm1, xmmword [rsi + rax*8 - 0x20]"); 0x0041abfb pshufd xmm1, xmm1, 0xe8 | __asm ("pshufd xmm1, xmm1, 0xe8"); 0x0041ac00 pshufd xmm0, xmm0, 0xe8 | __asm ("pshufd xmm0, xmm0, 0xe8"); 0x0041ac05 punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041ac09 movdqu xmmword [rdx + rax*4 - 0x18], xmm0 | __asm ("movdqu xmmword [rdx + rax*4 - 0x18], xmm0"); 0x0041ac0f add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041ac13 add rbx, 2 | rbx += 2; 0x0041ac17 jne 0x41abd0 | | } while (rbx != 0); 0x0041ac19 neg rax | rax = -rax; 0x0041ac1c jmp 0x41aff0 | goto label_73; | label_56: 0x0041ac21 mov r10, r14 | r10 = r14; 0x0041ac24 and r10, 0xfffffffffffffff0 | r10 &= 0xfffffffffffffff0; 0x0041ac28 lea rax, [r10 - 0x10] | rax = r10 - 0x10; 0x0041ac2c mov r11, rax | r11 = rax; 0x0041ac2f shr r11, 4 | r11 >>= 4; 0x0041ac33 inc r11 | r11++; 0x0041ac36 test rax, rax | | if (rax == 0) { 0x0041ac39 je 0x41b04f | goto label_74; | } 0x0041ac3f add rdx, r14 | rdx += r14; 0x0041ac42 lea rax, [rsi + rdx - 8] | rax = rsi + rdx - 8; 0x0041ac47 add r9, r9 | r9 += r9; 0x0041ac4a lea rdx, [r9 + r14*2] | rdx = r9 + r14*2; 0x0041ac4e lea rsi, [r8 + rdx - 0x10] | rsi = r8 + rdx - 0x10; 0x0041ac53 mov rbx, r11 | rbx = r11; 0x0041ac56 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041ac5a neg rbx | rbx = -rbx; 0x0041ac5d xor edx, edx | edx = 0; 0x0041ac5f movdqa xmm0, xmmword [rip + 0x44fa9] | __asm ("movdqa xmm0, xmmword [0x0045fc10]"); 0x0041ac67 nop word [rax + rax] | | do { 0x0041ac70 movdqu xmm1, xmmword [rsi + rdx*2 - 0x10] | __asm ("movdqu xmm1, xmmword [rsi + rdx*2 - 0x10]"); 0x0041ac76 movdqu xmm2, xmmword [rsi + rdx*2] | __asm ("movdqu xmm2, xmmword [rsi + rdx*2]"); 0x0041ac7b pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041ac80 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041ac85 punpcklqdq xmm1, xmm2 | __asm ("punpcklqdq xmm1, xmm2"); 0x0041ac89 movdqu xmmword [rax + rdx - 8], xmm1 | __asm ("movdqu xmmword [rax + rdx - 8], xmm1"); 0x0041ac8f movdqu xmm1, xmmword [rsi + rdx*2 - 0x30] | __asm ("movdqu xmm1, xmmword [rsi + rdx*2 - 0x30]"); 0x0041ac95 movdqu xmm2, xmmword [rsi + rdx*2 - 0x20] | __asm ("movdqu xmm2, xmmword [rsi + rdx*2 - 0x20]"); 0x0041ac9b pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041aca0 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041aca5 punpcklqdq xmm1, xmm2 | __asm ("punpcklqdq xmm1, xmm2"); 0x0041aca9 movdqu xmmword [rax + rdx - 0x18], xmm1 | __asm ("movdqu xmmword [rax + rdx - 0x18], xmm1"); 0x0041acaf add rdx, 0xffffffffffffffe0 | rdx += 0xffffffffffffffe0; 0x0041acb3 add rbx, 2 | rbx += 2; 0x0041acb7 jne 0x41ac70 | | } while (rbx != 0); 0x0041acb9 neg rdx | rdx = -rdx; 0x0041acbc jmp 0x41b051 | goto label_75; | label_60: 0x0041acc1 mov r10, r14 | r10 = r14; 0x0041acc4 and r10, 0xfffffffffffffff0 | r10 &= 0xfffffffffffffff0; 0x0041acc8 lea rax, [r10 - 0x10] | rax = r10 - 0x10; 0x0041accc mov r11, rax | r11 = rax; 0x0041accf shr r11, 4 | r11 >>= 4; 0x0041acd3 inc r11 | r11++; 0x0041acd6 test rax, rax | | if (rax == 0) { 0x0041acd9 je 0x41b0a4 | goto label_76; | } 0x0041acdf add rdx, rdx | rdx += rdx; 0x0041ace2 lea rax, [rdx + r14*2] | rax = rdx + r14*2; 0x0041ace6 lea rsi, [rsi + rax - 0x10] | rsi = rsi + rax - 0x10; 0x0041aceb add r9, r14 | r9 += r14; 0x0041acee lea rax, [r8 + r9 - 8] | rax = r8 + r9 - 8; 0x0041acf3 mov rbx, r11 | rbx = r11; 0x0041acf6 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041acfa neg rbx | rbx = -rbx; 0x0041acfd xor edx, edx | edx = 0; 0x0041acff movdqa xmm0, xmmword [rip + 0x44ec9] | __asm ("movdqa xmm0, xmmword [0x0045fbd0]"); 0x0041ad07 movdqa xmm1, xmmword [rip + 0x44ed1] | __asm ("movdqa xmm1, xmmword [0x0045fbe0]"); 0x0041ad0f nop | | do { 0x0041ad10 movq xmm2, qword [rax + rdx] | xmm2 = *((rax + rdx)); 0x0041ad15 pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041ad1a movq xmm3, qword [rax + rdx - 8] | xmm3 = *((rax + rdx - 8)); 0x0041ad20 pshufb xmm3, xmm0 | __asm ("pshufb xmm3, xmm0"); 0x0041ad25 pmovsxbw xmm2, xmm2 | __asm ("pmovsxbw xmm2, xmm2"); 0x0041ad2a pmovsxbw xmm3, xmm3 | __asm ("pmovsxbw xmm3, xmm3"); 0x0041ad2f pshufb xmm2, xmm1 | __asm ("pshufb xmm2, xmm1"); 0x0041ad34 movdqu xmmword [rsi + rdx*2], xmm2 | __asm ("movdqu xmmword [rsi + rdx*2], xmm2"); 0x0041ad39 pshufb xmm3, xmm1 | __asm ("pshufb xmm3, xmm1"); 0x0041ad3e movdqu xmmword [rsi + rdx*2 - 0x10], xmm3 | __asm ("movdqu xmmword [rsi + rdx*2 - 0x10], xmm3"); 0x0041ad44 movq xmm2, qword [rax + rdx - 0x10] | xmm2 = *((rax + rdx - 0x10)); 0x0041ad4a pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041ad4f movq xmm3, qword [rax + rdx - 0x18] | xmm3 = *((rax + rdx - 0x18)); 0x0041ad55 pshufb xmm3, xmm0 | __asm ("pshufb xmm3, xmm0"); 0x0041ad5a pmovsxbw xmm2, xmm2 | __asm ("pmovsxbw xmm2, xmm2"); 0x0041ad5f pmovsxbw xmm3, xmm3 | __asm ("pmovsxbw xmm3, xmm3"); 0x0041ad64 pshufb xmm2, xmm1 | __asm ("pshufb xmm2, xmm1"); 0x0041ad69 movdqu xmmword [rsi + rdx*2 - 0x20], xmm2 | __asm ("movdqu xmmword [rsi + rdx*2 - 0x20], xmm2"); 0x0041ad6f pshufb xmm3, xmm1 | __asm ("pshufb xmm3, xmm1"); 0x0041ad74 movdqu xmmword [rsi + rdx*2 - 0x30], xmm3 | __asm ("movdqu xmmword [rsi + rdx*2 - 0x30], xmm3"); 0x0041ad7a add rdx, 0xffffffffffffffe0 | rdx += 0xffffffffffffffe0; 0x0041ad7e add rbx, 2 | rbx += 2; 0x0041ad82 jne 0x41ad10 | | } while (rbx != 0); 0x0041ad84 neg rdx | rdx = -rdx; 0x0041ad87 jmp 0x41b0a6 | goto label_77; | label_62: 0x0041ad8c mov r10, r14 | r10 = r14; 0x0041ad8f and r10, 0xfffffffffffffff8 | r10 &= 0xfffffffffffffff8; 0x0041ad93 lea rax, [r10 - 8] | rax = r10 - 8; 0x0041ad97 mov r11, rax | r11 = rax; 0x0041ad9a shr r11, 3 | r11 >>= 3; 0x0041ad9e inc r11 | r11++; 0x0041ada1 test rax, rax | | if (rax == 0) { 0x0041ada4 je 0x41b111 | goto label_78; | } 0x0041adaa shl rdx, 2 | rdx <<= 2; 0x0041adae lea rax, [rdx + r14*4] | rax = rdx + r14*4; 0x0041adb2 lea rax, [rsi + rax - 0x10] | rax = rsi + rax - 0x10; 0x0041adb7 add r9, r14 | r9 += r14; 0x0041adba lea rsi, [r8 + r9 - 4] | rsi = r8 + r9 - 4; 0x0041adbf mov rbx, r11 | rbx = r11; 0x0041adc2 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041adc6 neg rbx | rbx = -rbx; 0x0041adc9 xor edx, edx | edx = 0; 0x0041adcb movdqa xmm0, xmmword [rip + 0x44ddd] | __asm ("movdqa xmm0, xmmword [0x0045fbb0]"); 0x0041add3 nop word cs:[rax + rax] | 0x0041addd nop dword [rax] | | do { 0x0041ade0 movd xmm1, dword [rsi + rdx] | xmm1 = *((rsi + rdx)); 0x0041ade5 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041adea movd xmm2, dword [rsi + rdx - 4] | xmm2 = *((rsi + rdx - 4)); 0x0041adf0 pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041adf5 pmovsxbd xmm1, xmm1 | __asm ("pmovsxbd xmm1, xmm1"); 0x0041adfa pmovsxbd xmm2, xmm2 | __asm ("pmovsxbd xmm2, xmm2"); 0x0041adff pshufd xmm1, xmm1, 0x1b | __asm ("pshufd xmm1, xmm1, 0x1b"); 0x0041ae04 movdqu xmmword [rax + rdx*4], xmm1 | __asm ("movdqu xmmword [rax + rdx*4], xmm1"); 0x0041ae09 pshufd xmm1, xmm2, 0x1b | __asm ("pshufd xmm1, xmm2, 0x1b"); 0x0041ae0e movdqu xmmword [rax + rdx*4 - 0x10], xmm1 | __asm ("movdqu xmmword [rax + rdx*4 - 0x10], xmm1"); 0x0041ae14 movd xmm1, dword [rsi + rdx - 8] | xmm1 = *((rsi + rdx - 8)); 0x0041ae1a pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041ae1f movd xmm2, dword [rsi + rdx - 0xc] | xmm2 = *((rsi + rdx - 0xc)); 0x0041ae25 pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041ae2a pmovsxbd xmm1, xmm1 | __asm ("pmovsxbd xmm1, xmm1"); 0x0041ae2f pmovsxbd xmm2, xmm2 | __asm ("pmovsxbd xmm2, xmm2"); 0x0041ae34 pshufd xmm1, xmm1, 0x1b | __asm ("pshufd xmm1, xmm1, 0x1b"); 0x0041ae39 movdqu xmmword [rax + rdx*4 - 0x20], xmm1 | __asm ("movdqu xmmword [rax + rdx*4 - 0x20], xmm1"); 0x0041ae3f pshufd xmm1, xmm2, 0x1b | __asm ("pshufd xmm1, xmm2, 0x1b"); 0x0041ae44 movdqu xmmword [rax + rdx*4 - 0x30], xmm1 | __asm ("movdqu xmmword [rax + rdx*4 - 0x30], xmm1"); 0x0041ae4a add rdx, 0xfffffffffffffff0 | rdx += 0xfffffffffffffff0; 0x0041ae4e add rbx, 2 | rbx += 2; 0x0041ae52 jne 0x41ade0 | | } while (rbx != 0); 0x0041ae54 neg rdx | rdx = -rdx; 0x0041ae57 jmp 0x41b113 | goto label_79; | label_64: 0x0041ae5c xor edx, edx | edx = 0; | label_65: 0x0041ae5e test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041ae62 je 0x41ae9e | 0x0041ae64 lea rax, [rdx*4] | rax = rdx*4; 0x0041ae6c mov rsi, rdi | rsi = rdi; 0x0041ae6f sub rsi, rax | rsi -= rax; 0x0041ae72 mov rax, rcx | rax = rcx; 0x0041ae75 sub rax, rdx | rax -= rdx; 0x0041ae78 movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041ae7d movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041ae82 movdqa xmm2, xmmword [rip + 0x44d76] | __asm ("movdqa xmm2, xmmword [0x0045fc00]"); 0x0041ae8a pshufb xmm1, xmm2 | __asm ("pshufb xmm1, xmm2"); 0x0041ae8f movd dword [rax - 4], xmm1 | *((rax - 4)) = xmm1; 0x0041ae94 pshufb xmm0, xmm2 | __asm ("pshufb xmm0, xmm2"); 0x0041ae99 movd dword [rax - 8], xmm0 | *((rax - 8)) = xmm0; | } 0x0041ae9e cmp r10, r14 | | if (r10 != r14) { 0x0041aea1 je 0x41b168 | 0x0041aea7 lea rax, [r10*4] | rax = r10*4; 0x0041aeaf sub rdi, rax | rdi -= rax; 0x0041aeb2 sub rcx, r10 | rcx -= r10; 0x0041aeb5 jmp 0x419dee | goto label_0; | label_66: 0x0041aeba xor edx, edx | edx = 0; | label_67: 0x0041aebc test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041aec0 je 0x41aefe | 0x0041aec2 lea rax, [rdx*4] | rax = rdx*4; 0x0041aeca mov rsi, rdi | rsi = rdi; 0x0041aecd sub rsi, rax | rsi -= rax; 0x0041aed0 add rdx, rdx | rdx += rdx; 0x0041aed3 mov rax, rcx | rax = rcx; 0x0041aed6 sub rax, rdx | rax -= rdx; 0x0041aed9 movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041aede movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041aee3 movdqa xmm2, xmmword [rip + 0x44cd5] | __asm ("movdqa xmm2, xmmword [0x0045fbc0]"); 0x0041aeeb pshufb xmm1, xmm2 | __asm ("pshufb xmm1, xmm2"); 0x0041aef0 pshufb xmm0, xmm2 | __asm ("pshufb xmm0, xmm2"); 0x0041aef5 punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041aef9 movdqu xmmword [rax - 0x10], xmm0 | __asm ("movdqu xmmword [rax - 0x10], xmm0"); | } 0x0041aefe cmp r10, r14 | | if (r10 == r14) { 0x0041af01 je 0x41b168 | goto label_32; | } 0x0041af07 lea rax, [r10*4] | rax = r10*4; 0x0041af0f lea rdx, [r10 + r10] | rdx = r10 + r10; 0x0041af13 sub rdi, rax | rdi -= rax; 0x0041af16 sub rcx, rdx | rcx -= rdx; 0x0041af19 jmp 0x419f34 | goto label_1; | label_68: 0x0041af1e xor edx, edx | edx = 0; | label_69: 0x0041af20 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041af24 je 0x41af6c | 0x0041af26 lea rax, [rdx + rdx] | rax = rdx + rdx; 0x0041af2a mov rsi, rdi | rsi = rdi; 0x0041af2d sub rsi, rax | rsi -= rax; 0x0041af30 shl rdx, 2 | rdx <<= 2; 0x0041af34 mov rax, rcx | rax = rcx; 0x0041af37 sub rax, rdx | rax -= rdx; 0x0041af3a movq xmm0, qword [rsi - 8] | xmm0 = *((rsi - 8)); 0x0041af3f pshuflw xmm0, xmm0, 0x1b | __asm ("pshuflw xmm0, xmm0, 0x1b"); 0x0041af44 movq xmm1, qword [rsi - 0x10] | xmm1 = *((rsi - 0x10)); 0x0041af49 pshuflw xmm1, xmm1, 0x1b | __asm ("pshuflw xmm1, xmm1, 0x1b"); 0x0041af4e pmovsxwd xmm0, xmm0 | __asm ("pmovsxwd xmm0, xmm0"); 0x0041af53 pmovsxwd xmm1, xmm1 | __asm ("pmovsxwd xmm1, xmm1"); 0x0041af58 pshufd xmm0, xmm0, 0x1b | __asm ("pshufd xmm0, xmm0, 0x1b"); 0x0041af5d movdqu xmmword [rax - 0x10], xmm0 | __asm ("movdqu xmmword [rax - 0x10], xmm0"); 0x0041af62 pshufd xmm0, xmm1, 0x1b | __asm ("pshufd xmm0, xmm1, 0x1b"); 0x0041af67 movdqu xmmword [rax - 0x20], xmm0 | __asm ("movdqu xmmword [rax - 0x20], xmm0"); | } 0x0041af6c cmp r10, r14 | | if (r10 == r14) { 0x0041af6f je 0x41b168 | goto label_32; | } 0x0041af75 lea rax, [r10 + r10] | rax = r10 + r10; 0x0041af79 lea rdx, [r10*4] | rdx = r10*4; 0x0041af81 sub rdi, rax | rdi -= rax; 0x0041af84 sub rcx, rdx | rcx -= rdx; 0x0041af87 jmp 0x41a036 | goto label_2; | label_70: 0x0041af8c xor edx, edx | edx = 0; | label_71: 0x0041af8e test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041af92 je 0x41afd2 | 0x0041af94 lea rax, [rdx*8] | rax = rdx*8; 0x0041af9c mov rsi, rdi | rsi = rdi; 0x0041af9f sub rsi, rax | rsi -= rax; 0x0041afa2 mov rax, rcx | rax = rcx; 0x0041afa5 sub rax, rdx | rax -= rdx; 0x0041afa8 movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041afad movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041afb2 movdqa xmm2, xmmword [rip + 0x44c36] | __asm ("movdqa xmm2, xmmword [0x0045fbf0]"); 0x0041afba pshufb xmm1, xmm2 | __asm ("pshufb xmm1, xmm2"); 0x0041afbf pextrw word [rax - 2], xmm1, 0 | __asm ("pextrw word [rax - 2], xmm1, 0"); 0x0041afc6 pshufb xmm0, xmm2 | __asm ("pshufb xmm0, xmm2"); 0x0041afcb pextrw word [rax - 4], xmm0, 0 | __asm ("pextrw word [rax - 4], xmm0, 0"); | } 0x0041afd2 cmp r10, r14 | | if (r10 == r14) { 0x0041afd5 je 0x41b168 | goto label_32; | } 0x0041afdb lea rax, [r10*8] | rax = r10*8; 0x0041afe3 sub rdi, rax | rdi -= rax; 0x0041afe6 sub rcx, r10 | rcx -= r10; 0x0041afe9 jmp 0x41a13c | goto label_3; | label_72: 0x0041afee xor eax, eax | eax = 0; | label_73: 0x0041aff0 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041aff4 je 0x41b02b | 0x0041aff6 lea rdx, [rax*8] | rdx = rax*8; 0x0041affe mov rsi, r10 | rsi = r10; 0x0041b001 sub rsi, rdx | rsi -= rdx; 0x0041b004 shl rax, 2 | rax <<= 2; 0x0041b008 mov rdx, rcx | rdx = rcx; 0x0041b00b sub rdx, rax | rdx -= rax; 0x0041b00e movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041b013 movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041b018 pshufd xmm1, xmm1, 0xe8 | __asm ("pshufd xmm1, xmm1, 0xe8"); 0x0041b01d pshufd xmm0, xmm0, 0xe8 | __asm ("pshufd xmm0, xmm0, 0xe8"); 0x0041b022 punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041b026 movdqu xmmword [rdx - 0x10], xmm0 | __asm ("movdqu xmmword [rdx - 0x10], xmm0"); | } 0x0041b02b cmp rdi, r14 | | if (rdi == r14) { 0x0041b02e je 0x41b168 | goto label_32; | } 0x0041b034 lea rax, [rdi*8] | rax = rdi*8; 0x0041b03c lea rdx, [rdi*4] | rdx = rdi*4; 0x0041b044 sub r10, rax | r10 -= rax; 0x0041b047 sub rcx, rdx | rcx -= rdx; 0x0041b04a jmp 0x41a253 | goto label_4; | label_74: 0x0041b04f xor edx, edx | edx = 0; | label_75: 0x0041b051 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041b055 je 0x41b08c | 0x0041b057 lea rax, [rdx + rdx] | rax = rdx + rdx; 0x0041b05b mov rsi, rdi | rsi = rdi; 0x0041b05e sub rsi, rax | rsi -= rax; 0x0041b061 mov rax, rcx | rax = rcx; 0x0041b064 sub rax, rdx | rax -= rdx; 0x0041b067 movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041b06c movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041b071 movdqa xmm2, xmmword [rip + 0x44b97] | __asm ("movdqa xmm2, xmmword [0x0045fc10]"); 0x0041b079 pshufb xmm1, xmm2 | __asm ("pshufb xmm1, xmm2"); 0x0041b07e pshufb xmm0, xmm2 | __asm ("pshufb xmm0, xmm2"); 0x0041b083 punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041b087 movdqu xmmword [rax - 0x10], xmm0 | __asm ("movdqu xmmword [rax - 0x10], xmm0"); | } 0x0041b08c cmp r10, r14 | | if (r10 == r14) { 0x0041b08f je 0x41b168 | goto label_32; | } 0x0041b095 lea rax, [r10 + r10] | rax = r10 + r10; 0x0041b099 sub rdi, rax | rdi -= rax; 0x0041b09c sub rcx, r10 | rcx -= r10; 0x0041b09f jmp 0x41a2dc | goto label_5; | label_76: 0x0041b0a4 xor edx, edx | edx = 0; | label_77: 0x0041b0a6 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041b0aa je 0x41b0fd | 0x0041b0ac mov rax, rdi | rax = rdi; 0x0041b0af sub rax, rdx | rax -= rdx; 0x0041b0b2 add rdx, rdx | rdx += rdx; 0x0041b0b5 mov rsi, rcx | rsi = rcx; 0x0041b0b8 sub rsi, rdx | rsi -= rdx; 0x0041b0bb movq xmm0, qword [rax - 8] | xmm0 = *((rax - 8)); 0x0041b0c0 movdqa xmm1, xmmword [rip + 0x44b08] | __asm ("movdqa xmm1, xmmword [0x0045fbd0]"); 0x0041b0c8 pshufb xmm0, xmm1 | __asm ("pshufb xmm0, xmm1"); 0x0041b0cd movq xmm2, qword [rax - 0x10] | xmm2 = *((rax - 0x10)); 0x0041b0d2 pshufb xmm2, xmm1 | __asm ("pshufb xmm2, xmm1"); 0x0041b0d7 pmovsxbw xmm0, xmm0 | __asm ("pmovsxbw xmm0, xmm0"); 0x0041b0dc pmovsxbw xmm1, xmm2 | __asm ("pmovsxbw xmm1, xmm2"); 0x0041b0e1 movdqa xmm2, xmmword [rip + 0x44af7] | __asm ("movdqa xmm2, xmmword [0x0045fbe0]"); 0x0041b0e9 pshufb xmm0, xmm2 | __asm ("pshufb xmm0, xmm2"); 0x0041b0ee movdqu xmmword [rsi - 0x10], xmm0 | __asm ("movdqu xmmword [rsi - 0x10], xmm0"); 0x0041b0f3 pshufb xmm1, xmm2 | __asm ("pshufb xmm1, xmm2"); 0x0041b0f8 movdqu xmmword [rsi - 0x20], xmm1 | __asm ("movdqu xmmword [rsi - 0x20], xmm1"); | } 0x0041b0fd cmp r10, r14 | | if (r10 == r14) { 0x0041b100 je 0x41b168 | goto label_32; | } 0x0041b102 lea rax, [r10 + r10] | rax = r10 + r10; 0x0041b106 sub rdi, r10 | rdi -= r10; 0x0041b109 sub rcx, rax | rcx -= rax; 0x0041b10c jmp 0x41a3ea | goto label_6; | label_78: 0x0041b111 xor edx, edx | edx = 0; | label_79: 0x0041b113 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041b117 je 0x41b163 | 0x0041b119 mov rax, rdi | rax = rdi; 0x0041b11c sub rax, rdx | rax -= rdx; 0x0041b11f shl rdx, 2 | rdx <<= 2; 0x0041b123 mov rsi, rcx | rsi = rcx; 0x0041b126 sub rsi, rdx | rsi -= rdx; 0x0041b129 movd xmm0, dword [rax - 4] | xmm0 = *((rax - 4)); 0x0041b12e movdqa xmm1, xmmword [rip + 0x44a7a] | __asm ("movdqa xmm1, xmmword [0x0045fbb0]"); 0x0041b136 pshufb xmm0, xmm1 | __asm ("pshufb xmm0, xmm1"); 0x0041b13b movd xmm2, dword [rax - 8] | xmm2 = *((rax - 8)); 0x0041b140 pshufb xmm2, xmm1 | __asm ("pshufb xmm2, xmm1"); 0x0041b145 pmovsxbd xmm0, xmm0 | __asm ("pmovsxbd xmm0, xmm0"); 0x0041b14a pmovsxbd xmm1, xmm2 | __asm ("pmovsxbd xmm1, xmm2"); 0x0041b14f pshufd xmm0, xmm0, 0x1b | __asm ("pshufd xmm0, xmm0, 0x1b"); 0x0041b154 movdqu xmmword [rsi - 0x10], xmm0 | __asm ("movdqu xmmword [rsi - 0x10], xmm0"); 0x0041b159 pshufd xmm0, xmm1, 0x1b | __asm ("pshufd xmm0, xmm1, 0x1b"); 0x0041b15e movdqu xmmword [rsi - 0x20], xmm0 | __asm ("movdqu xmmword [rsi - 0x20], xmm0"); | } 0x0041b163 cmp r10, r14 | | if (r10 != r14) { 0x0041b166 jne 0x41b16e | goto label_80; | } | } | label_32: 0x0041b168 pop rbx | 0x0041b169 pop r14 | r14 = rbx; 0x0041b16b pop r15 | r15 = rbx; 0x0041b16d ret | return rax; | label_80: 0x0041b16e lea rax, [r10*4] | rax = r10*4; 0x0041b176 sub rdi, r10 | rdi -= r10; 0x0041b179 sub rcx, rax | rcx -= rax; 0x0041b17c jmp 0x41a4d6 | goto label_7; 0x0041b181 nop word cs:[rax + rax] | 0x0041b18b nop dword [rax + rax] | 0x0041b19c mov rax, qword [rdi] | rax = *(rdi); 0x0041b19f mov byte [rax + rsi], dl | *((rax + rsi)) = dl; 0x0041b1a2 ret | return rax; 0x0041b1a3 mov rax, qword [rdi] | rax = *(rdi); 0x0041b1a6 mov qword [rax + rsi*8], rdx | *((rax + rsi*8)) = rdx; 0x0041b1aa ret | return rax; 0x0041b1ab mov rax, qword [rdi] | rax = *(rdi); 0x0041b1ae mov word [rax + rsi*2], dx | *((rax + rsi*2)) = dx; 0x0041b1b2 ret | return rax; 0x0041b1b3 mov rax, qword [rdi] | rax = *(rdi); 0x0041b1b6 mov dword [rax + rsi*4], edx | *((rax + rsi*4)) = edx; 0x0041b1b9 ret | return rax; 0x0041b1ba nop word [rax + rax] | 0x0041b1e3 mov rdx, qword [rdi] | rdx = *(rdi); 0x0041b1e6 cmp eax, 8 | | if (eax == 8) { 0x0041b1e9 je 0x41b362 | goto label_81; | } 0x0041b1ef cmp eax, 4 | | if (eax != 4) { 0x0041b1f2 jne 0x41b422 | goto label_82; | } 0x0041b1f8 test rcx, rcx | | if (rcx == 0) { 0x0041b1fb je 0x41b4fa | goto label_83; | } 0x0041b201 mov r8, qword [rsi] | r8 = *(rsi); 0x0041b204 dec rcx | rcx--; 0x0041b207 xor edi, edi | edi = 0; 0x0041b209 nop dword [rax] | | do { 0x0041b210 movsx eax, byte [rdx + rdi] | eax = *((rdx + rdi)); 0x0041b214 cmp dword [r8 + rdi*4], eax | 0x0041b218 sete al | al = (*((r8 + rdi*4)) == eax) ? 1 : 0; | if (*((r8 + rdi*4)) != eax) { 0x0041b21b jne 0x41b4f9 | goto label_84; | } 0x0041b221 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b225 cmp rcx, rdi | 0x0041b228 mov rdi, rsi | rdi = rsi; 0x0041b22b jne 0x41b210 | | } while (rcx != rdi); 0x0041b22d jmp 0x41b4f9 | goto label_84; 0x0041b232 mov rdx, qword [rdi] | rdx = *(rdi); 0x0041b235 cmp eax, 4 | | if (eax == 4) { 0x0041b238 je 0x41b322 | goto label_85; | } 0x0041b23e cmp eax, 2 | | if (eax != 2) { 0x0041b241 jne 0x41b463 | goto label_86; | } 0x0041b247 test rcx, rcx | | if (rcx == 0) { 0x0041b24a je 0x41b4fa | goto label_83; | } 0x0041b250 mov r8, qword [rsi] | r8 = *(rsi); 0x0041b253 dec rcx | rcx--; 0x0041b256 xor edi, edi | edi = 0; 0x0041b258 nop dword [rax + rax] | | do { 0x0041b260 movsx rax, word [r8 + rdi*2] | rax = *((r8 + rdi*2)); 0x0041b265 cmp qword [rdx + rdi*8], rax | 0x0041b269 sete al | al = (*((rdx + rdi*8)) == rax) ? 1 : 0; | if (*((rdx + rdi*8)) != rax) { 0x0041b26c jne 0x41b4f9 | goto label_84; | } 0x0041b272 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b276 cmp rcx, rdi | 0x0041b279 mov rdi, rsi | rdi = rsi; 0x0041b27c jne 0x41b260 | | } while (rcx != rdi); 0x0041b27e jmp 0x41b4f9 | goto label_84; 0x0041b283 mov rdx, qword [rdi] | rdx = *(rdi); 0x0041b286 cmp eax, 8 | | if (eax == 8) { 0x0041b289 je 0x41b3a3 | goto label_87; | } 0x0041b28f cmp eax, 4 | | if (eax != 4) { 0x0041b292 jne 0x41b49c | goto label_88; | } 0x0041b298 test rcx, rcx | | if (rcx == 0) { 0x0041b29b je 0x41b4fa | goto label_83; | } 0x0041b2a1 mov r8, qword [rsi] | r8 = *(rsi); 0x0041b2a4 dec rcx | rcx--; 0x0041b2a7 xor edi, edi | edi = 0; 0x0041b2a9 nop dword [rax] | | do { 0x0041b2b0 movsx eax, word [rdx + rdi*2] | eax = *((rdx + rdi*2)); 0x0041b2b4 cmp dword [r8 + rdi*4], eax | 0x0041b2b8 sete al | al = (*((r8 + rdi*4)) == eax) ? 1 : 0; | if (*((r8 + rdi*4)) != eax) { 0x0041b2bb jne 0x41b4f9 | goto label_84; | } 0x0041b2c1 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b2c5 cmp rcx, rdi | 0x0041b2c8 mov rdi, rsi | rdi = rsi; 0x0041b2cb jne 0x41b2b0 | | } while (rcx != rdi); 0x0041b2cd jmp 0x41b4f9 | goto label_84; 0x0041b2d2 mov rdx, qword [rdi] | rdx = *(rdi); 0x0041b2d5 cmp eax, 8 | | if (eax == 8) { 0x0041b2d8 je 0x41b3e3 | goto label_89; | } 0x0041b2de cmp eax, 2 | | if (eax != 2) { 0x0041b2e1 jne 0x41b4cc | goto label_90; | } 0x0041b2e7 test rcx, rcx | | if (rcx == 0) { 0x0041b2ea je 0x41b4fa | goto label_83; | } 0x0041b2f0 mov r8, qword [rsi] | r8 = *(rsi); 0x0041b2f3 dec rcx | rcx--; 0x0041b2f6 xor edi, edi | edi = 0; 0x0041b2f8 nop dword [rax + rax] | | do { 0x0041b300 movsx eax, word [r8 + rdi*2] | eax = *((r8 + rdi*2)); 0x0041b305 cmp dword [rdx + rdi*4], eax | 0x0041b308 sete al | al = (*((rdx + rdi*4)) == eax) ? 1 : 0; | if (*((rdx + rdi*4)) != eax) { 0x0041b30b jne 0x41b4f9 | goto label_84; | } 0x0041b311 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b315 cmp rcx, rdi | 0x0041b318 mov rdi, rsi | rdi = rsi; 0x0041b31b jne 0x41b300 | | } while (rcx != rdi); 0x0041b31d jmp 0x41b4f9 | goto label_84; | label_85: 0x0041b322 test rcx, rcx | | if (rcx == 0) { 0x0041b325 je 0x41b4fa | goto label_83; | } 0x0041b32b mov r8, qword [rsi] | r8 = *(rsi); 0x0041b32e dec rcx | rcx--; 0x0041b331 xor edi, edi | edi = 0; 0x0041b333 nop word cs:[rax + rax] | 0x0041b33d nop dword [rax] | | do { 0x0041b340 movsxd rax, dword [r8 + rdi*4] | rax = *((r8 + rdi*4)); 0x0041b344 cmp qword [rdx + rdi*8], rax | 0x0041b348 sete al | al = (*((rdx + rdi*8)) == rax) ? 1 : 0; | if (*((rdx + rdi*8)) != rax) { 0x0041b34b jne 0x41b4f9 | goto label_84; | } 0x0041b351 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b355 cmp rcx, rdi | 0x0041b358 mov rdi, rsi | rdi = rsi; 0x0041b35b jne 0x41b340 | | } while (rcx != rdi); 0x0041b35d jmp 0x41b4f9 | goto label_84; | label_81: 0x0041b362 test rcx, rcx | | if (rcx == 0) { 0x0041b365 je 0x41b4fa | goto label_83; | } 0x0041b36b mov r8, qword [rsi] | r8 = *(rsi); 0x0041b36e dec rcx | rcx--; 0x0041b371 xor edi, edi | edi = 0; 0x0041b373 nop word cs:[rax + rax] | 0x0041b37d nop dword [rax] | | do { 0x0041b380 movsx rax, byte [rdx + rdi] | rax = *((rdx + rdi)); 0x0041b385 cmp qword [r8 + rdi*8], rax | 0x0041b389 sete al | al = (*((r8 + rdi*8)) == rax) ? 1 : 0; | if (*((r8 + rdi*8)) != rax) { 0x0041b38c jne 0x41b4f9 | goto label_84; | } 0x0041b392 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b396 cmp rcx, rdi | 0x0041b399 mov rdi, rsi | rdi = rsi; 0x0041b39c jne 0x41b380 | | } while (rcx != rdi); 0x0041b39e jmp 0x41b4f9 | goto label_84; | label_87: 0x0041b3a3 test rcx, rcx | | if (rcx == 0) { 0x0041b3a6 je 0x41b4fa | goto label_83; | } 0x0041b3ac mov r8, qword [rsi] | r8 = *(rsi); 0x0041b3af dec rcx | rcx--; 0x0041b3b2 xor edi, edi | edi = 0; 0x0041b3b4 nop word cs:[rax + rax] | 0x0041b3be nop | | do { 0x0041b3c0 movsx rax, word [rdx + rdi*2] | rax = *((rdx + rdi*2)); 0x0041b3c5 cmp qword [r8 + rdi*8], rax | 0x0041b3c9 sete al | al = (*((r8 + rdi*8)) == rax) ? 1 : 0; | if (*((r8 + rdi*8)) != rax) { 0x0041b3cc jne 0x41b4f9 | goto label_84; | } 0x0041b3d2 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b3d6 cmp rcx, rdi | 0x0041b3d9 mov rdi, rsi | rdi = rsi; 0x0041b3dc jne 0x41b3c0 | | } while (rcx != rdi); 0x0041b3de jmp 0x41b4f9 | goto label_84; | label_89: 0x0041b3e3 test rcx, rcx | | if (rcx == 0) { 0x0041b3e6 je 0x41b4fa | goto label_83; | } 0x0041b3ec mov r8, qword [rsi] | r8 = *(rsi); 0x0041b3ef dec rcx | rcx--; 0x0041b3f2 xor edi, edi | edi = 0; 0x0041b3f4 nop word cs:[rax + rax] | 0x0041b3fe nop | | do { 0x0041b400 movsxd rax, dword [rdx + rdi*4] | rax = *((rdx + rdi*4)); 0x0041b404 cmp qword [r8 + rdi*8], rax | 0x0041b408 sete al | al = (*((r8 + rdi*8)) == rax) ? 1 : 0; | if (*((r8 + rdi*8)) != rax) { 0x0041b40b jne 0x41b4f9 | goto label_84; | } 0x0041b411 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b415 cmp rcx, rdi | 0x0041b418 mov rdi, rsi | rdi = rsi; 0x0041b41b jne 0x41b400 | | } while (rcx != rdi); 0x0041b41d jmp 0x41b4f9 | goto label_84; | label_82: 0x0041b422 test rcx, rcx | | if (rcx == 0) { 0x0041b425 je 0x41b4fa | goto label_83; | } 0x0041b42b mov r8, qword [rsi] | r8 = *(rsi); 0x0041b42e dec rcx | rcx--; 0x0041b431 xor edi, edi | edi = 0; 0x0041b433 nop word cs:[rax + rax] | 0x0041b43d nop dword [rax] | | do { 0x0041b440 movsx eax, byte [rdx + rdi] | eax = *((rdx + rdi)); 0x0041b444 cmp word [r8 + rdi*2], ax | 0x0041b449 sete al | al = (*((r8 + rdi*2)) == ax) ? 1 : 0; | if (*((r8 + rdi*2)) != ax) { 0x0041b44c jne 0x41b4f9 | goto label_84; | } 0x0041b452 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b456 cmp rcx, rdi | 0x0041b459 mov rdi, rsi | rdi = rsi; 0x0041b45c jne 0x41b440 | | } while (rcx != rdi); 0x0041b45e jmp 0x41b4f9 | goto label_84; | label_86: 0x0041b463 test rcx, rcx | | if (rcx == 0) { 0x0041b466 je 0x41b4fa | goto label_83; | } 0x0041b46c mov r8, qword [rsi] | r8 = *(rsi); 0x0041b46f dec rcx | rcx--; 0x0041b472 xor edi, edi | edi = 0; 0x0041b474 nop word cs:[rax + rax] | 0x0041b47e nop | | do { 0x0041b480 movsx rax, byte [r8 + rdi] | rax = *((r8 + rdi)); 0x0041b485 cmp qword [rdx + rdi*8], rax | 0x0041b489 sete al | al = (*((rdx + rdi*8)) == rax) ? 1 : 0; | if (*((rdx + rdi*8)) != rax) { 0x0041b48c jne 0x41b4f9 | goto label_84; | } 0x0041b48e lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b492 cmp rcx, rdi | 0x0041b495 mov rdi, rsi | rdi = rsi; 0x0041b498 jne 0x41b480 | | } while (rcx != rdi); 0x0041b49a jmp 0x41b4f9 | goto label_84; | label_88: 0x0041b49c test rcx, rcx | | if (rcx == 0) { 0x0041b49f je 0x41b4fa | goto label_83; | } 0x0041b4a1 mov r8, qword [rsi] | r8 = *(rsi); 0x0041b4a4 dec rcx | rcx--; 0x0041b4a7 xor edi, edi | edi = 0; 0x0041b4a9 nop dword [rax] | | do { 0x0041b4b0 movsx eax, byte [r8 + rdi] | eax = *((r8 + rdi)); 0x0041b4b5 cmp word [rdx + rdi*2], ax | 0x0041b4b9 sete al | al = (*((rdx + rdi*2)) == ax) ? 1 : 0; | if (*((rdx + rdi*2)) != ax) { 0x0041b4bc jne 0x41b4f9 | goto label_84; | } 0x0041b4be lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b4c2 cmp rcx, rdi | 0x0041b4c5 mov rdi, rsi | rdi = rsi; 0x0041b4c8 jne 0x41b4b0 | | } while (rcx != rdi); 0x0041b4ca jmp 0x41b4f9 | goto label_84; | label_90: 0x0041b4cc test rcx, rcx | | if (rcx == 0) { 0x0041b4cf je 0x41b4fa | goto label_83; | } 0x0041b4d1 mov r8, qword [rsi] | r8 = *(rsi); 0x0041b4d4 dec rcx | rcx--; 0x0041b4d7 xor edi, edi | edi = 0; 0x0041b4d9 nop dword [rax] | | do { 0x0041b4e0 movsx eax, byte [r8 + rdi] | eax = *((r8 + rdi)); 0x0041b4e5 cmp dword [rdx + rdi*4], eax | 0x0041b4e8 sete al | al = (*((rdx + rdi*4)) == eax) ? 1 : 0; | if (*((rdx + rdi*4)) != eax) { 0x0041b4eb jne 0x41b4f9 | goto label_84; | } 0x0041b4ed lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041b4f1 cmp rcx, rdi | 0x0041b4f4 mov rdi, rsi | rdi = rsi; 0x0041b4f7 jne 0x41b4e0 | | } while (rcx != rdi); | label_84: 0x0041b4f9 ret | return rax; | label_83: 0x0041b4fa mov al, 1 | al = 1; 0x0041b4fc ret | return rax; 0x0041b4fd nop dword [rax] | 0x0041b511 mov eax, 1 | eax = 1; 0x0041b516 cmp r8, rsi | | if (r8 <= rsi) { 0x0041b519 jbe 0x41b54a | goto label_8; | } 0x0041b51b mov rcx, qword [rdi] | rcx = *(rdi); 0x0041b51e lea r8, [rcx + rsi*2] | r8 = rcx + rsi*2; 0x0041b522 xor esi, esi | esi = 0; 0x0041b524 nop word cs:[rax + rax] | 0x0041b52e nop | | do { 0x0041b530 movzx edi, word [r8 + rsi*2] | edi = *((r8 + rsi*2)); 0x0041b535 movsx ecx, dil | ecx = (int32_t) dil; 0x0041b539 cmp cx, di | | if (cx != di) { 0x0041b53c jne 0x41b684 | goto label_91; | } 0x0041b542 inc rsi | rsi++; 0x0041b545 cmp rdx, rsi | 0x0041b548 jne 0x41b530 | | } while (rdx != rsi); | do { | label_8: 0x0041b54a ret | return rax; 0x0041b54b mov eax, 1 | eax = 1; 0x0041b550 cmp r8, rsi | 0x0041b553 jbe 0x41b54a | | } while (r8 <= rsi); 0x0041b555 mov rax, qword [rdi] | rax = *(rdi); 0x0041b558 lea r9, [rax + rsi*8] | r9 = rax + rsi*8; 0x0041b55c mov eax, 1 | eax = 1; 0x0041b561 xor esi, esi | esi = 0; 0x0041b563 mov r8d, 2 | r8d = 2; 0x0041b569 jmp 0x41b57f | goto label_92; | label_9: 0x0041b570 cmp eax, 2 | | if (eax <= 2) { 0x0041b573 cmovbe eax, r8d | eax = r8d; | } | label_10: 0x0041b577 inc rsi | rsi++; 0x0041b57a cmp rdx, rsi | | if (rdx == rsi) { 0x0041b57d je 0x41b54a | goto label_8; | } | label_92: 0x0041b57f mov rcx, qword [r9 + rsi*8] | rcx = *((r9 + rsi*8)); 0x0041b583 cmp rcx, 0xffffffffffffff80 | | if (rcx >= 0xffffffffffffff80) { 0x0041b587 jge 0x41b5b0 | goto label_93; | } 0x0041b589 cmp rcx, 0xffffffffffff7fff | | if (rcx > 0xffffffffffff7fff) { 0x0041b590 jg 0x41b570 | goto label_9; | } 0x0041b592 xor edi, edi | edi = 0; 0x0041b594 cmp rcx, 0xffffffff80000000 | 0x0041b59b setl dil | dil = (rcx < 0xffffffff80000000) ? 1 : 0; 0x0041b59f jmp 0x41b5c6 | goto label_94; | label_93: 0x0041b5b0 cmp rcx, 0x8000 | | if (rcx < 0x8000) { 0x0041b5b7 jl 0x41b5e0 | goto label_95; | } 0x0041b5b9 xor edi, edi | edi = 0; 0x0041b5bb cmp rcx, 0x7fffffff | 0x0041b5c2 setg dil | dil = (rcx > 0x7fffffff) ? 1 : 0; | label_94: 0x0041b5c6 lea edi, [rdi*4 + 4] | edi = rdi*4 + 4; 0x0041b5cd cmp eax, edi | | if (eax >= edi) { 0x0041b5cf jae 0x41b577 | goto label_10; | } 0x0041b5d1 jmp 0x41b5f0 | goto label_96; | label_95: 0x0041b5e0 xor edi, edi | edi = 0; 0x0041b5e2 cmp rcx, 0x7f | 0x0041b5e6 setg dil | dil = (rcx > 0x7f) ? 1 : 0; 0x0041b5ea inc edi | edi++; 0x0041b5ec cmp eax, edi | | if (eax >= edi) { 0x0041b5ee jae 0x41b577 | goto label_10; | } | label_96: 0x0041b5f0 mov eax, edi | eax = edi; 0x0041b5f2 cmp edi, 8 | | if (edi != 8) { 0x0041b5f5 jne 0x41b577 | goto label_10; | } 0x0041b5f7 mov eax, 8 | eax = 8; 0x0041b5fc ret | return rax; 0x0041b5fd mov eax, 1 | eax = 1; 0x0041b602 cmp r8, rsi | | if (r8 <= rsi) { 0x0041b605 jbe 0x41b54a | goto label_8; | } 0x0041b60b mov rax, qword [rdi] | rax = *(rdi); 0x0041b60e lea r9, [rax + rsi*4] | r9 = rax + rsi*4; 0x0041b612 mov eax, 1 | eax = 1; 0x0041b617 xor esi, esi | esi = 0; 0x0041b619 mov r8d, 2 | r8d = 2; 0x0041b61f jmp 0x41b643 | goto label_97; | label_11: 0x0041b630 cmp eax, 2 | | if (eax <= 2) { 0x0041b633 cmovbe eax, r8d | eax = r8d; | } | label_12: 0x0041b637 inc rsi | rsi++; 0x0041b63a cmp rdx, rsi | | if (rdx == rsi) { 0x0041b63d je 0x41b54a | goto label_8; | } | label_97: 0x0041b643 mov ecx, dword [r9 + rsi*4] | ecx = *((r9 + rsi*4)); 0x0041b647 mov edi, 4 | edi = 4; 0x0041b64c cmp ecx, 0xffffff80 | | if (ecx >= 0xffffff80) { 0x0041b64f jge 0x41b660 | goto label_98; | } 0x0041b651 cmp ecx, 0xffff7fff | | if (ecx > 0xffff7fff) { 0x0041b657 jg 0x41b630 | goto label_11; | } 0x0041b659 jmp 0x41b673 | goto label_99; | label_98: 0x0041b660 cmp ecx, 0x7fff | | if (ecx <= 0x7fff) { 0x0041b666 jg 0x41b673 | 0x0041b668 xor edi, edi | edi = 0; 0x0041b66a cmp ecx, 0x7f | 0x0041b66d setg dil | dil = (ecx > 0x7f) ? 1 : 0; 0x0041b671 inc edi | edi++; | } | label_99: 0x0041b673 cmp eax, edi | | if (eax >= edi) { 0x0041b675 jae 0x41b637 | goto label_12; | } 0x0041b677 mov eax, edi | eax = edi; 0x0041b679 cmp edi, 4 | | if (edi != 4) { 0x0041b67c jne 0x41b637 | goto label_12; | } 0x0041b67e mov eax, 4 | eax = 4; 0x0041b683 ret | return rax; | label_91: 0x0041b684 mov eax, 2 | eax = 2; 0x0041b689 ret | return rax; 0x0041b68a nop word [rax + rax] | 0x0041b7ce cmp qword [rbx + 8], 0 | | if (*((rbx + 8)) == 0) { 0x0041b7d3 je 0x41b84d | void (*0x41b84d)() (); | } 0x0041b7d5 xor ecx, ecx | ecx = 0; 0x0041b7d7 nop word [rax + rax] | | do { 0x0041b7e0 mov byte [rax + rcx], r14b | *((rax + rcx)) = r14b; 0x0041b7e4 inc rcx | rcx++; 0x0041b7e7 cmp rcx, qword [rbx + 8] | 0x0041b7eb jb 0x41b7e0 | | } while (rcx < *((rbx + 8))); 0x0041b7ed jmp 0x41b84d | void (*0x41b84d)() (); 0x0041b7ef cmp qword [rbx + 8], 0 | | if (*((rbx + 8)) == 0) { 0x0041b7f4 je 0x41b84d | void (*0x41b84d)() (); | } 0x0041b7f6 xor ecx, ecx | ecx = 0; 0x0041b7f8 nop dword [rax + rax] | | do { 0x0041b800 mov qword [rax + rcx*8], r14 | *((rax + rcx*8)) = r14; 0x0041b804 inc rcx | rcx++; 0x0041b807 cmp rcx, qword [rbx + 8] | 0x0041b80b jb 0x41b800 | | } while (rcx < *((rbx + 8))); 0x0041b80d jmp 0x41b84d | void (*0x41b84d)() (); 0x0041b80f cmp qword [rbx + 8], 0 | | if (*((rbx + 8)) == 0) { 0x0041b814 je 0x41b84d | void (*0x41b84d)() (); | } 0x0041b816 xor ecx, ecx | ecx = 0; 0x0041b818 nop dword [rax + rax] | | do { 0x0041b820 mov word [rax + rcx*2], r14w | *((rax + rcx*2)) = r14w; 0x0041b825 inc rcx | rcx++; 0x0041b828 cmp rcx, qword [rbx + 8] | 0x0041b82c jb 0x41b820 | | } while (rcx < *((rbx + 8))); 0x0041b82e jmp 0x41b84d | void (*0x41b84d)() (); 0x0041b830 cmp qword [rbx + 8], 0 | | if (*((rbx + 8)) == 0) { 0x0041b835 je 0x41b84d | void (*0x41b84d)() (); | } 0x0041b837 xor ecx, ecx | ecx = 0; 0x0041b839 nop dword [rax] | | do { 0x0041b840 mov dword [rax + rcx*4], r14d | *((rax + rcx*4)) = r14d; 0x0041b844 inc rcx | rcx++; 0x0041b847 cmp rcx, qword [rbx + 8] | 0x0041b84b jb 0x41b840 | | } while (rcx < *((rbx + 8))); 0x0041b85d nop dword [rax] | 0x0041bb85 mov rcx, qword [rbx] | rcx = *(rbx); 0x0041bb88 mov byte [rcx + rax], r14b | *((rcx + rax)) = r14b; 0x0041bb8c jmp 0x41bba8 | goto label_100; 0x0041bb8e mov rcx, qword [rbx] | rcx = *(rbx); 0x0041bb91 mov qword [rcx + rax*8], r14 | *((rcx + rax*8)) = r14; 0x0041bb95 jmp 0x41bba8 | goto label_100; 0x0041bb97 mov rcx, qword [rbx] | rcx = *(rbx); 0x0041bb9a mov word [rcx + rax*2], r14w | *((rcx + rax*2)) = r14w; 0x0041bb9f jmp 0x41bba8 | goto label_100; 0x0041bba1 mov rcx, qword [rbx] | rcx = *(rbx); 0x0041bba4 mov dword [rcx + rax*4], r14d | *((rcx + rax*4)) = r14d; | label_100: 0x0041bba8 add rsp, 8 | 0x0041bbac pop rbx | 0x0041bbad pop r12 | 0x0041bbaf pop r13 | 0x0041bbb1 pop r14 | 0x0041bbb3 pop r15 | 0x0041bbb5 pop rbp | 0x0041bbb6 ret | return rax; 0x0041bbcd nop dword [rax] | 0x0041c0fe mov rax, qword [rbx] | rax = *(rbx); 0x0041c101 mov byte [rax + r15], r13b | *((rax + r15)) = r13b; 0x0041c105 jmp 0x41c121 | goto label_101; 0x0041c107 mov rax, qword [rbx] | rax = *(rbx); 0x0041c10a mov qword [rax + r15*8], r13 | *((rax + r15*8)) = r13; 0x0041c10e jmp 0x41c121 | goto label_101; 0x0041c110 mov rax, qword [rbx] | rax = *(rbx); 0x0041c113 mov word [rax + r15*2], r13w | *((rax + r15*2)) = r13w; 0x0041c118 jmp 0x41c121 | goto label_101; 0x0041c11a mov rax, qword [rbx] | rax = *(rbx); 0x0041c11d mov dword [rax + r15*4], r13d | *((rax + r15*4)) = r13d; | label_101: 0x0041c121 add rsp, 8 | 0x0041c125 pop rbx | 0x0041c126 pop r12 | 0x0041c128 pop r13 | 0x0041c12a pop r14 | 0x0041c12c pop r15 | 0x0041c12e pop rbp | 0x0041c12f ret | return rax; 0x0041c138 nop dword [rax + rax] | 0x0041c6f3 mov rax, qword [r12] | rax = *(r12); 0x0041c6f7 mov byte [rax + r14], r15b | *((rax + r14)) = r15b; 0x0041c6fb jmp 0x41c71a | goto label_102; 0x0041c6fd mov rax, qword [r12] | rax = *(r12); 0x0041c701 mov qword [rax + r14*8], r15 | *((rax + r14*8)) = r15; 0x0041c705 jmp 0x41c71a | goto label_102; 0x0041c707 mov rax, qword [r12] | rax = *(r12); 0x0041c70b mov word [rax + r14*2], r15w | *((rax + r14*2)) = r15w; 0x0041c710 jmp 0x41c71a | goto label_102; 0x0041c712 mov rax, qword [r12] | rax = *(r12); 0x0041c716 mov dword [rax + r14*4], r15d | *((rax + r14*4)) = r15d; | label_102: 0x0041c71a add rsp, 8 | 0x0041c71e pop rbx | 0x0041c71f pop r12 | 0x0041c721 pop r13 | 0x0041c723 pop r14 | 0x0041c725 pop r15 | 0x0041c727 pop rbp | 0x0041c728 ret | return rax; 0x0041c731 nop word cs:[rax + rax] | 0x0041c73b nop dword [rax + rax] | 0x0041cdcc mov rax, qword [rdi] | rax = *(rdi); 0x0041cdcf movsx rax, byte [rax + rsi] | rax = *((rax + rsi)); 0x0041cdd4 ret | return rax; 0x0041cdd5 mov rax, qword [rdi] | rax = *(rdi); 0x0041cdd8 mov rax, qword [rax + rsi*8] | rax = *((rax + rsi*8)); 0x0041cddc ret | return rax; 0x0041cddd mov rax, qword [rdi] | rax = *(rdi); 0x0041cde0 movsx rax, word [rax + rsi*2] | rax = *((rax + rsi*2)); 0x0041cde5 ret | return rax; 0x0041cde6 mov rax, qword [rdi] | rax = *(rdi); 0x0041cde9 movsxd rax, dword [rax + rsi*4] | rax = *((rax + rsi*4)); 0x0041cded ret | return rax; 0x0041cdee nop | 0x0041cec2 cmp qword [r13 + 8], 0 | | if (*((r13 + 8)) == 0) { 0x0041cec7 je 0x41d06a | goto label_103; | } 0x0041cecd mov r12, qword [r13] | r12 = *(r13); 0x0041ced1 xor r14d, r14d | r14d = 0; 0x0041ced4 jmp 0x41ceed | | while (r15d < 0) { | label_13: 0x0041cee0 inc r14 | r14++; 0x0041cee3 cmp r14, qword [r13 + 8] | | if (r14 >= *((r13 + 8))) { 0x0041cee7 jae 0x41d06a | goto label_103; | } 0x0041ceed movsx rbp, byte [r12 + r14] | rbp = *((r12 + r14)); 0x0041cef2 lea rdi, [rsp + 8] | 0x0041cef7 call 0x420780 | BloombergLP::bslim::Printer::printIndentation()const (rsp + 8); 0x0041cefc mov rbx, qword [rsp + 8] | rbx = *((rsp + 8)); 0x0041cf01 mov r15d, dword [rsp + 0x1c] | r15d = *((rsp + 0x1c)); 0x0041cf06 mov rdi, rbx | rdi = rbx; 0x0041cf09 mov rsi, rbp | rsi = rbp; 0x0041cf0c call 0x403b70 | std::_1::basic_ostream>::operator << (long) (); 0x0041cf11 test r15d, r15d | 0x0041cf14 js 0x41cee0 | | } 0x0041cf16 mov byte [rsp + 7], 0xa | *((rsp + 7)) = 0xa; 0x0041cf1b mov edx, 1 | 0x0041cf20 mov rdi, rbx | 0x0041cf23 lea rsi, [rsp + 7] | 0x0041cf28 call 0x40b010 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (rbx, rsp + 7, 1); 0x0041cf2d jmp 0x41cee0 | goto label_13; 0x0041cf2f cmp qword [r13 + 8], 0 | | if (*((r13 + 8)) == 0) { 0x0041cf34 je 0x41d06a | goto label_103; | } 0x0041cf3a mov r12, qword [r13] | r12 = *(r13); 0x0041cf3e xor ebx, ebx | ebx = 0; 0x0041cf40 jmp 0x41cf5d | | while (r15d < 0) { | label_14: 0x0041cf50 inc rbx | rbx++; 0x0041cf53 cmp rbx, qword [r13 + 8] | | if (rbx >= *((r13 + 8))) { 0x0041cf57 jae 0x41d06a | goto label_103; | } 0x0041cf5d mov rbp, qword [r12 + rbx*8] | rbp = *((r12 + rbx*8)); 0x0041cf61 lea rdi, [rsp + 8] | 0x0041cf66 call 0x420780 | BloombergLP::bslim::Printer::printIndentation()const (rsp + 8); 0x0041cf6b mov r14, qword [rsp + 8] | r14 = *((rsp + 8)); 0x0041cf70 mov r15d, dword [rsp + 0x1c] | r15d = *((rsp + 0x1c)); 0x0041cf75 mov rdi, r14 | rdi = r14; 0x0041cf78 mov rsi, rbp | rsi = rbp; 0x0041cf7b call 0x403b70 | std::_1::basic_ostream>::operator << (long) (); 0x0041cf80 test r15d, r15d | 0x0041cf83 js 0x41cf50 | | } 0x0041cf85 mov byte [rsp + 7], 0xa | *((rsp + 7)) = 0xa; 0x0041cf8a mov edx, 1 | 0x0041cf8f mov rdi, r14 | 0x0041cf92 lea rsi, [rsp + 7] | 0x0041cf97 call 0x40b010 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r14, rsp + 7, 1); 0x0041cf9c jmp 0x41cf50 | goto label_14; 0x0041cf9e cmp qword [r13 + 8], 0 | | if (*((r13 + 8)) == 0) { 0x0041cfa3 je 0x41d06a | goto label_103; | } 0x0041cfa9 mov r12, qword [r13] | r12 = *(r13); 0x0041cfad xor ebx, ebx | ebx = 0; 0x0041cfaf jmp 0x41cfcd | | while (r15d < 0) { | label_15: 0x0041cfc0 inc rbx | rbx++; 0x0041cfc3 cmp rbx, qword [r13 + 8] | | if (rbx >= *((r13 + 8))) { 0x0041cfc7 jae 0x41d06a | goto label_103; | } 0x0041cfcd movsx rbp, word [r12 + rbx*2] | rbp = *((r12 + rbx*2)); 0x0041cfd2 lea rdi, [rsp + 8] | 0x0041cfd7 call 0x420780 | BloombergLP::bslim::Printer::printIndentation()const (rsp + 8); 0x0041cfdc mov r14, qword [rsp + 8] | r14 = *((rsp + 8)); 0x0041cfe1 mov r15d, dword [rsp + 0x1c] | r15d = *((rsp + 0x1c)); 0x0041cfe6 mov rdi, r14 | rdi = r14; 0x0041cfe9 mov rsi, rbp | rsi = rbp; 0x0041cfec call 0x403b70 | std::_1::basic_ostream>::operator << (long) (); 0x0041cff1 test r15d, r15d | 0x0041cff4 js 0x41cfc0 | | } 0x0041cff6 mov byte [rsp + 7], 0xa | *((rsp + 7)) = 0xa; 0x0041cffb mov edx, 1 | 0x0041d000 mov rdi, r14 | 0x0041d003 lea rsi, [rsp + 7] | 0x0041d008 call 0x40b010 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r14, rsp + 7, 1); 0x0041d00d jmp 0x41cfc0 | goto label_15; 0x0041d00f cmp qword [r13 + 8], 0 | | if (*((r13 + 8)) == 0) { 0x0041d014 je 0x41d06a | goto label_103; | } 0x0041d016 mov r12, qword [r13] | r12 = *(r13); 0x0041d01a xor ebx, ebx | ebx = 0; 0x0041d01c jmp 0x41d029 | | while (r15d < 0) { | label_16: 0x0041d020 inc rbx | rbx++; 0x0041d023 cmp rbx, qword [r13 + 8] | | if (rbx >= *((r13 + 8))) { 0x0041d027 jae 0x41d06a | goto label_103; | } 0x0041d029 movsxd rbp, dword [r12 + rbx*4] | rbp = *((r12 + rbx*4)); 0x0041d02d lea rdi, [rsp + 8] | 0x0041d032 call 0x420780 | BloombergLP::bslim::Printer::printIndentation()const (rsp + 8); 0x0041d037 mov r14, qword [rsp + 8] | r14 = *((rsp + 8)); 0x0041d03c mov r15d, dword [rsp + 0x1c] | r15d = *((rsp + 0x1c)); 0x0041d041 mov rdi, r14 | rdi = r14; 0x0041d044 mov rsi, rbp | rsi = rbp; 0x0041d047 call 0x403b70 | std::_1::basic_ostream>::operator << (long) (); 0x0041d04c test r15d, r15d | 0x0041d04f js 0x41d020 | | } 0x0041d051 mov byte [rsp + 7], 0xa | *((rsp + 7)) = 0xa; 0x0041d056 mov edx, 1 | 0x0041d05b mov rdi, r14 | 0x0041d05e lea rsi, [rsp + 7] | 0x0041d063 call 0x40b010 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (r14, rsp + 7, 1); 0x0041d068 jmp 0x41d020 | goto label_16; | label_103: 0x0041d06a lea rdi, [rsp + 8] | 0x0041d06f xor esi, esi | 0x0041d071 call 0x420830 | BloombergLP::bslim::Printer::end(bool)const (rsp + 8, 0); 0x0041d076 mov rbp, qword [rsp + 0x20] | rbp = *((rsp + 0x20)); 0x0041d07b lea rdi, [rsp + 8] | rdi = rsp + 8; 0x0041d080 call 0x420810 | BloombergLP::bslim::Printer::~Printer() (); 0x0041d085 mov rax, rbp | rax = rbp; 0x0041d088 add rsp, 0x28 | 0x0041d08c pop rbx | 0x0041d08d pop r12 | 0x0041d08f pop r13 | 0x0041d091 pop r14 | 0x0041d093 pop r15 | 0x0041d095 pop rbp | 0x0041d096 ret | return rax; 0x0041d097 jmp 0x41d09f | 0x0041d09f mov rbx, rax | rbx = rax; 0x0041d0a2 lea rdi, [rsp + 8] | rdi = rsp + 8; 0x0041d0a7 call 0x420810 | BloombergLP::bslim::Printer::~Printer() (); 0x0041d0ac mov rdi, rbx | rdi = rbx; 0x0041d0af call 0x403b30 | Unwind_Resume (); 0x0041d0b4 nop word cs:[rax + rax] | 0x0041d0be nop | 0x0041d1fe lea rax, [rsi + rdx] | rax = rsi + rdx; 0x0041d202 cmp r10d, 8 | | if (r10d == 8) { 0x0041d206 je 0x41d684 | goto label_104; | } 0x0041d20c cmp r10d, 4 | | if (r10d != 4) { 0x0041d210 jne 0x41d824 | goto label_105; | } 0x0041d216 test r14, r14 | | if (r14 == 0) { 0x0041d219 je 0x41e74a | goto label_106; | } 0x0041d21f lea rcx, [rax + r14] | rcx = rax + r14; 0x0041d223 lea r10, [r8 + r9*4] | r10 = r8 + r9*4; 0x0041d227 lea rdi, [r10 + r14*4] | rdi = r10 + r14*4; 0x0041d22b cmp r14, 8 | | if (r14 >= 8) { 0x0041d22f jb 0x41d24b | 0x0041d231 lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041d235 lea rbx, [r8 + rbx*4] | rbx = r8 + rbx*4; 0x0041d239 cmp rax, rbx | | if (rax >= rbx) { 0x0041d23c jae 0x41dd3e | goto label_107; | } 0x0041d242 cmp r10, rcx | | if (r10 >= rcx) { 0x0041d245 jae 0x41dd3e | goto label_107; | } | } 0x0041d24b xor r10d, r10d | r10d = 0; | label_19: 0x0041d24e mov rax, r10 | rax = r10; 0x0041d251 not rax | rax = ~rax; 0x0041d254 add rax, r14 | rax += r14; 0x0041d257 mov rdx, r14 | rdx = r14; 0x0041d25a and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041d25e je 0x41d28a | goto label_108; | } 0x0041d260 neg rdx | rdx = -rdx; 0x0041d263 xor esi, esi | esi = 0; 0x0041d265 nop word cs:[rax + rax] | 0x0041d26f nop | | do { 0x0041d270 movzx ebx, byte [rdi - 4] | ebx = *((rdi - 4)); 0x0041d274 add rdi, 0xfffffffffffffffc | rdi += 0xfffffffffffffffc; 0x0041d278 mov byte [rcx + rsi - 1], bl | *((rcx + rsi - 1)) = bl; 0x0041d27c dec rsi | rsi--; 0x0041d27f cmp rdx, rsi | 0x0041d282 jne 0x41d270 | | } while (rdx != rsi); 0x0041d284 sub r10, rsi | r10 -= rsi; 0x0041d287 add rcx, rsi | rcx += rsi; | label_108: 0x0041d28a cmp rax, 7 | | if (rax < 7) { 0x0041d28e jb 0x41e74a | goto label_106; | } 0x0041d294 sub r10, r14 | r10 -= r14; 0x0041d297 xor eax, eax | eax = 0; 0x0041d299 nop dword [rax] | | do { 0x0041d2a0 movzx edx, byte [rdi + rax*4 - 4] | edx = *((rdi + rax*4 - 4)); 0x0041d2a5 mov byte [rcx + rax - 1], dl | *((rcx + rax - 1)) = dl; 0x0041d2a9 movzx edx, byte [rdi + rax*4 - 8] | edx = *((rdi + rax*4 - 8)); 0x0041d2ae mov byte [rcx + rax - 2], dl | *((rcx + rax - 2)) = dl; 0x0041d2b2 movzx edx, byte [rdi + rax*4 - 0xc] | edx = *((rdi + rax*4 - 0xc)); 0x0041d2b7 mov byte [rcx + rax - 3], dl | *((rcx + rax - 3)) = dl; 0x0041d2bb movzx edx, byte [rdi + rax*4 - 0x10] | edx = *((rdi + rax*4 - 0x10)); 0x0041d2c0 mov byte [rcx + rax - 4], dl | *((rcx + rax - 4)) = dl; 0x0041d2c4 movzx edx, byte [rdi + rax*4 - 0x14] | edx = *((rdi + rax*4 - 0x14)); 0x0041d2c9 mov byte [rcx + rax - 5], dl | *((rcx + rax - 5)) = dl; 0x0041d2cd movzx edx, byte [rdi + rax*4 - 0x18] | edx = *((rdi + rax*4 - 0x18)); 0x0041d2d2 mov byte [rcx + rax - 6], dl | *((rcx + rax - 6)) = dl; 0x0041d2d6 movzx edx, byte [rdi + rax*4 - 0x1c] | edx = *((rdi + rax*4 - 0x1c)); 0x0041d2db mov byte [rcx + rax - 7], dl | *((rcx + rax - 7)) = dl; 0x0041d2df movzx edx, byte [rdi + rax*4 - 0x20] | edx = *((rdi + rax*4 - 0x20)); 0x0041d2e4 mov byte [rcx + rax - 8], dl | *((rcx + rax - 8)) = dl; 0x0041d2e8 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041d2ec cmp r10, rax | 0x0041d2ef jne 0x41d2a0 | | } while (r10 != rax); 0x0041d2f1 jmp 0x41e74a | goto label_106; 0x0041d2f6 lea rax, [rsi + rdx*8] | rax = rsi + rdx*8; 0x0041d2fa cmp r10d, 4 | | if (r10d == 4) { 0x0041d2fe je 0x41d5f6 | goto label_109; | } 0x0041d304 cmp r10d, 2 | | if (r10d != 2) { 0x0041d308 jne 0x41d906 | goto label_110; | } 0x0041d30e test r14, r14 | | if (r14 == 0) { 0x0041d311 je 0x41e74a | goto label_106; | } 0x0041d317 lea rcx, [rax + r14*8] | rcx = rax + r14*8; 0x0041d31b lea r10, [r8 + r9*2] | r10 = r8 + r9*2; 0x0041d31f lea rdi, [r10 + r14*2] | rdi = r10 + r14*2; 0x0041d323 cmp r14, 4 | | if (r14 >= 4) { 0x0041d327 jb 0x41d34b | 0x0041d329 lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041d32d lea rbx, [r8 + rbx*2] | rbx = r8 + rbx*2; 0x0041d331 cmp rax, rbx | | if (rax >= rbx) { 0x0041d334 jae 0x41dde4 | goto label_111; | } 0x0041d33a lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041d33e lea rax, [rsi + rax*8] | rax = rsi + rax*8; 0x0041d342 cmp r10, rax | | if (r10 >= rax) { 0x0041d345 jae 0x41dde4 | goto label_111; | } | } 0x0041d34b xor r10d, r10d | r10d = 0; | label_17: 0x0041d34e mov eax, r14d | eax = r14d; 0x0041d351 sub eax, r10d | eax -= r10d; 0x0041d354 mov rdx, r10 | rdx = r10; 0x0041d357 not rdx | rdx = ~rdx; 0x0041d35a add rdx, r14 | rdx += r14; 0x0041d35d and rax, 7 | rax &= 7; | if (rax == 0) { 0x0041d361 je 0x41d38b | goto label_112; | } 0x0041d363 neg rax | rax = -rax; 0x0041d366 xor esi, esi | esi = 0; 0x0041d368 nop dword [rax + rax] | | do { 0x0041d370 movzx ebx, word [rdi - 2] | ebx = *((rdi - 2)); 0x0041d374 add rdi, 0xfffffffffffffffe | rdi += 0xfffffffffffffffe; 0x0041d378 mov qword [rcx - 8], rbx | *((rcx - 8)) = rbx; 0x0041d37c add rcx, 0xfffffffffffffff8 | rcx += 0xfffffffffffffff8; 0x0041d380 dec rsi | rsi--; 0x0041d383 cmp rax, rsi | 0x0041d386 jne 0x41d370 | | } while (rax != rsi); 0x0041d388 sub r10, rsi | r10 -= rsi; | label_112: 0x0041d38b cmp rdx, 7 | | if (rdx < 7) { 0x0041d38f jb 0x41e74a | goto label_106; | } 0x0041d395 sub r10, r14 | r10 -= r14; 0x0041d398 xor eax, eax | eax = 0; 0x0041d39a nop word [rax + rax] | | do { 0x0041d3a0 movzx edx, word [rdi + rax*2 - 2] | edx = *((rdi + rax*2 - 2)); 0x0041d3a5 mov qword [rcx + rax*8 - 8], rdx | *((rcx + rax*8 - 8)) = rdx; 0x0041d3aa movzx edx, word [rdi + rax*2 - 4] | edx = *((rdi + rax*2 - 4)); 0x0041d3af mov qword [rcx + rax*8 - 0x10], rdx | *((rcx + rax*8 - 0x10)) = rdx; 0x0041d3b4 movzx edx, word [rdi + rax*2 - 6] | edx = *((rdi + rax*2 - 6)); 0x0041d3b9 mov qword [rcx + rax*8 - 0x18], rdx | *((rcx + rax*8 - 0x18)) = rdx; 0x0041d3be movzx edx, word [rdi + rax*2 - 8] | edx = *((rdi + rax*2 - 8)); 0x0041d3c3 mov qword [rcx + rax*8 - 0x20], rdx | *((rcx + rax*8 - 0x20)) = rdx; 0x0041d3c8 movzx edx, word [rdi + rax*2 - 0xa] | edx = *((rdi + rax*2 - 0xa)); 0x0041d3cd mov qword [rcx + rax*8 - 0x28], rdx | *((rcx + rax*8 - 0x28)) = rdx; 0x0041d3d2 movzx edx, word [rdi + rax*2 - 0xc] | edx = *((rdi + rax*2 - 0xc)); 0x0041d3d7 mov qword [rcx + rax*8 - 0x30], rdx | *((rcx + rax*8 - 0x30)) = rdx; 0x0041d3dc movzx edx, word [rdi + rax*2 - 0xe] | edx = *((rdi + rax*2 - 0xe)); 0x0041d3e1 mov qword [rcx + rax*8 - 0x38], rdx | *((rcx + rax*8 - 0x38)) = rdx; 0x0041d3e6 movzx edx, word [rdi + rax*2 - 0x10] | edx = *((rdi + rax*2 - 0x10)); 0x0041d3eb mov qword [rcx + rax*8 - 0x40], rdx | *((rcx + rax*8 - 0x40)) = rdx; 0x0041d3f0 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041d3f4 cmp r10, rax | 0x0041d3f7 jne 0x41d3a0 | | } while (r10 != rax); 0x0041d3f9 jmp 0x41e74a | goto label_106; 0x0041d3fe lea rax, [rsi + rdx*2] | rax = rsi + rdx*2; 0x0041d402 cmp r10d, 8 | | if (r10d == 8) { 0x0041d406 je 0x41d766 | goto label_113; | } 0x0041d40c cmp r10d, 4 | | if (r10d != 4) { 0x0041d410 jne 0x41d9ee | goto label_114; | } 0x0041d416 test r14, r14 | | if (r14 == 0) { 0x0041d419 je 0x41e74a | goto label_106; | } 0x0041d41f lea rcx, [rax + r14*2] | rcx = rax + r14*2; 0x0041d423 lea r10, [r8 + r9*4] | r10 = r8 + r9*4; 0x0041d427 lea rdi, [r10 + r14*4] | rdi = r10 + r14*4; 0x0041d42b cmp r14, 8 | | if (r14 >= 8) { 0x0041d42f jb 0x41d453 | 0x0041d431 lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041d435 lea rbx, [r8 + rbx*4] | rbx = r8 + rbx*4; 0x0041d439 cmp rax, rbx | | if (rax >= rbx) { 0x0041d43c jae 0x41de74 | goto label_115; | } 0x0041d442 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041d446 lea rax, [rsi + rax*2] | rax = rsi + rax*2; 0x0041d44a cmp r10, rax | | if (r10 >= rax) { 0x0041d44d jae 0x41de74 | goto label_115; | } | } 0x0041d453 xor r10d, r10d | r10d = 0; | label_20: 0x0041d456 mov rax, r10 | rax = r10; 0x0041d459 not rax | rax = ~rax; 0x0041d45c add rax, r14 | rax += r14; 0x0041d45f mov rdx, r14 | rdx = r14; 0x0041d462 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041d466 je 0x41d48b | goto label_116; | } 0x0041d468 neg rdx | rdx = -rdx; 0x0041d46b xor esi, esi | esi = 0; 0x0041d46d nop dword [rax] | | do { 0x0041d470 movzx ebx, word [rdi - 4] | ebx = *((rdi - 4)); 0x0041d474 add rdi, 0xfffffffffffffffc | rdi += 0xfffffffffffffffc; 0x0041d478 mov word [rcx - 2], bx | *((rcx - 2)) = bx; 0x0041d47c add rcx, 0xfffffffffffffffe | rcx += 0xfffffffffffffffe; 0x0041d480 dec rsi | rsi--; 0x0041d483 cmp rdx, rsi | 0x0041d486 jne 0x41d470 | | } while (rdx != rsi); 0x0041d488 sub r10, rsi | r10 -= rsi; | label_116: 0x0041d48b cmp rax, 7 | | if (rax < 7) { 0x0041d48f jb 0x41e74a | goto label_106; | } 0x0041d495 sub r10, r14 | r10 -= r14; 0x0041d498 xor eax, eax | eax = 0; 0x0041d49a nop word [rax + rax] | | do { 0x0041d4a0 movzx edx, word [rdi + rax*4 - 4] | edx = *((rdi + rax*4 - 4)); 0x0041d4a5 mov word [rcx + rax*2 - 2], dx | *((rcx + rax*2 - 2)) = dx; 0x0041d4aa movzx edx, word [rdi + rax*4 - 8] | edx = *((rdi + rax*4 - 8)); 0x0041d4af mov word [rcx + rax*2 - 4], dx | *((rcx + rax*2 - 4)) = dx; 0x0041d4b4 movzx edx, word [rdi + rax*4 - 0xc] | edx = *((rdi + rax*4 - 0xc)); 0x0041d4b9 mov word [rcx + rax*2 - 6], dx | *((rcx + rax*2 - 6)) = dx; 0x0041d4be movzx edx, word [rdi + rax*4 - 0x10] | edx = *((rdi + rax*4 - 0x10)); 0x0041d4c3 mov word [rcx + rax*2 - 8], dx | *((rcx + rax*2 - 8)) = dx; 0x0041d4c8 movzx edx, word [rdi + rax*4 - 0x14] | edx = *((rdi + rax*4 - 0x14)); 0x0041d4cd mov word [rcx + rax*2 - 0xa], dx | *((rcx + rax*2 - 0xa)) = dx; 0x0041d4d2 movzx edx, word [rdi + rax*4 - 0x18] | edx = *((rdi + rax*4 - 0x18)); 0x0041d4d7 mov word [rcx + rax*2 - 0xc], dx | *((rcx + rax*2 - 0xc)) = dx; 0x0041d4dc movzx edx, word [rdi + rax*4 - 0x1c] | edx = *((rdi + rax*4 - 0x1c)); 0x0041d4e1 mov word [rcx + rax*2 - 0xe], dx | *((rcx + rax*2 - 0xe)) = dx; 0x0041d4e6 movzx edx, word [rdi + rax*4 - 0x20] | edx = *((rdi + rax*4 - 0x20)); 0x0041d4eb mov word [rcx + rax*2 - 0x10], dx | *((rcx + rax*2 - 0x10)) = dx; 0x0041d4f0 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041d4f4 cmp r10, rax | 0x0041d4f7 jne 0x41d4a0 | | } while (r10 != rax); 0x0041d4f9 jmp 0x41e74a | goto label_106; 0x0041d4fe lea rax, [rsi + rdx*4] | rax = rsi + rdx*4; 0x0041d502 cmp r10d, 8 | | if (r10d == 8) { 0x0041d506 je 0x41d794 | goto label_117; | } 0x0041d50c cmp r10d, 2 | | if (r10d != 2) { 0x0041d510 jne 0x41dace | goto label_118; | } 0x0041d516 test r14, r14 | | if (r14 == 0) { 0x0041d519 je 0x41e74a | goto label_106; | } 0x0041d51f lea rcx, [rax + r14*4] | rcx = rax + r14*4; 0x0041d523 lea r10, [r8 + r9*2] | r10 = r8 + r9*2; 0x0041d527 lea rdi, [r10 + r14*2] | rdi = r10 + r14*2; 0x0041d52b cmp r14, 8 | | if (r14 >= 8) { 0x0041d52f jb 0x41d553 | 0x0041d531 lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041d535 lea rbx, [r8 + rbx*2] | rbx = r8 + rbx*2; 0x0041d539 cmp rax, rbx | | if (rax >= rbx) { 0x0041d53c jae 0x41df11 | goto label_119; | } 0x0041d542 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041d546 lea rax, [rsi + rax*4] | rax = rsi + rax*4; 0x0041d54a cmp r10, rax | | if (r10 >= rax) { 0x0041d54d jae 0x41df11 | goto label_119; | } | } 0x0041d553 xor r10d, r10d | r10d = 0; | label_21: 0x0041d556 mov rax, r10 | rax = r10; 0x0041d559 not rax | rax = ~rax; 0x0041d55c add rax, r14 | rax += r14; 0x0041d55f mov rdx, r14 | rdx = r14; 0x0041d562 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041d566 je 0x41d58a | goto label_120; | } 0x0041d568 neg rdx | rdx = -rdx; 0x0041d56b xor esi, esi | esi = 0; 0x0041d56d nop dword [rax] | | do { 0x0041d570 movzx ebx, word [rdi - 2] | ebx = *((rdi - 2)); 0x0041d574 add rdi, 0xfffffffffffffffe | rdi += 0xfffffffffffffffe; 0x0041d578 mov dword [rcx - 4], ebx | *((rcx - 4)) = ebx; 0x0041d57b add rcx, 0xfffffffffffffffc | rcx += 0xfffffffffffffffc; 0x0041d57f dec rsi | rsi--; 0x0041d582 cmp rdx, rsi | 0x0041d585 jne 0x41d570 | | } while (rdx != rsi); 0x0041d587 sub r10, rsi | r10 -= rsi; | label_120: 0x0041d58a cmp rax, 7 | | if (rax < 7) { 0x0041d58e jb 0x41e74a | goto label_106; | } 0x0041d594 sub r10, r14 | r10 -= r14; 0x0041d597 xor eax, eax | eax = 0; 0x0041d599 nop dword [rax] | | do { 0x0041d5a0 movzx edx, word [rdi + rax*2 - 2] | edx = *((rdi + rax*2 - 2)); 0x0041d5a5 mov dword [rcx + rax*4 - 4], edx | *((rcx + rax*4 - 4)) = edx; 0x0041d5a9 movzx edx, word [rdi + rax*2 - 4] | edx = *((rdi + rax*2 - 4)); 0x0041d5ae mov dword [rcx + rax*4 - 8], edx | *((rcx + rax*4 - 8)) = edx; 0x0041d5b2 movzx edx, word [rdi + rax*2 - 6] | edx = *((rdi + rax*2 - 6)); 0x0041d5b7 mov dword [rcx + rax*4 - 0xc], edx | *((rcx + rax*4 - 0xc)) = edx; 0x0041d5bb movzx edx, word [rdi + rax*2 - 8] | edx = *((rdi + rax*2 - 8)); 0x0041d5c0 mov dword [rcx + rax*4 - 0x10], edx | *((rcx + rax*4 - 0x10)) = edx; 0x0041d5c4 movzx edx, word [rdi + rax*2 - 0xa] | edx = *((rdi + rax*2 - 0xa)); 0x0041d5c9 mov dword [rcx + rax*4 - 0x14], edx | *((rcx + rax*4 - 0x14)) = edx; 0x0041d5cd movzx edx, word [rdi + rax*2 - 0xc] | edx = *((rdi + rax*2 - 0xc)); 0x0041d5d2 mov dword [rcx + rax*4 - 0x18], edx | *((rcx + rax*4 - 0x18)) = edx; 0x0041d5d6 movzx edx, word [rdi + rax*2 - 0xe] | edx = *((rdi + rax*2 - 0xe)); 0x0041d5db mov dword [rcx + rax*4 - 0x1c], edx | *((rcx + rax*4 - 0x1c)) = edx; 0x0041d5df movzx edx, word [rdi + rax*2 - 0x10] | edx = *((rdi + rax*2 - 0x10)); 0x0041d5e4 mov dword [rcx + rax*4 - 0x20], edx | *((rcx + rax*4 - 0x20)) = edx; 0x0041d5e8 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041d5ec cmp r10, rax | 0x0041d5ef jne 0x41d5a0 | | } while (r10 != rax); 0x0041d5f1 jmp 0x41e74a | goto label_106; | label_109: 0x0041d5f6 test r14, r14 | | if (r14 == 0) { 0x0041d5f9 je 0x41e74a | goto label_106; | } 0x0041d5ff lea r10, [rax + r14*8] | r10 = rax + r14*8; 0x0041d603 lea rdi, [r8 + r9*4] | rdi = r8 + r9*4; 0x0041d607 lea rcx, [rdi + r14*4] | rcx = rdi + r14*4; 0x0041d60b cmp r14, 4 | | if (r14 >= 4) { 0x0041d60f jb 0x41d633 | 0x0041d611 lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041d615 lea rbx, [r8 + rbx*4] | rbx = r8 + rbx*4; 0x0041d619 cmp rax, rbx | | if (rax >= rbx) { 0x0041d61c jae 0x41dfa4 | goto label_121; | } 0x0041d622 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041d626 lea rax, [rsi + rax*8] | rax = rsi + rax*8; 0x0041d62a cmp rdi, rax | | if (rdi >= rax) { 0x0041d62d jae 0x41dfa4 | goto label_121; | } | } 0x0041d633 xor edi, edi | edi = 0; | label_18: 0x0041d635 mov eax, r14d | eax = r14d; 0x0041d638 sub eax, edi | eax -= edi; 0x0041d63a mov r8, rdi | r8 = rdi; 0x0041d63d not r8 | r8 = ~r8; 0x0041d640 add r8, r14 | r8 += r14; 0x0041d643 and rax, 7 | rax &= 7; | if (rax == 0) { 0x0041d647 je 0x41dc68 | goto label_122; | } 0x0041d64d shl rax, 2 | rax <<= 2; 0x0041d651 xor ebx, ebx | ebx = 0; 0x0041d653 mov rdx, r10 | rdx = r10; 0x0041d656 nop word cs:[rax + rax] | | do { 0x0041d660 mov esi, dword [rcx + rbx - 4] | esi = *((rcx + rbx - 4)); 0x0041d664 add rdx, 0xfffffffffffffff8 | rdx += 0xfffffffffffffff8; 0x0041d668 mov qword [r10 + rbx*2 - 8], rsi | *((r10 + rbx*2 - 8)) = rsi; 0x0041d66d inc rdi | rdi++; 0x0041d670 add rbx, 0xfffffffffffffffc | rbx += 0xfffffffffffffffc; 0x0041d674 mov rsi, rax | rsi = rax; 0x0041d677 add rsi, rbx | rsi += rbx; 0x0041d67a jne 0x41d660 | | } while (rsi != 0); 0x0041d67c add rcx, rbx | rcx += rbx; 0x0041d67f jmp 0x41dc6b | goto label_123; | label_104: 0x0041d684 test r14, r14 | | if (r14 == 0) { 0x0041d687 je 0x41e74a | goto label_106; | } 0x0041d68d lea rcx, [rax + r14] | rcx = rax + r14; 0x0041d691 lea r10, [r8 + r9*8] | r10 = r8 + r9*8; 0x0041d695 lea rdi, [r10 + r14*8] | rdi = r10 + r14*8; 0x0041d699 cmp r14, 4 | | if (r14 >= 4) { 0x0041d69d jb 0x41d6b9 | 0x0041d69f lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041d6a3 lea rbx, [r8 + rbx*8] | rbx = r8 + rbx*8; 0x0041d6a7 cmp rax, rbx | | if (rax >= rbx) { 0x0041d6aa jae 0x41e034 | goto label_124; | } 0x0041d6b0 cmp r10, rcx | | if (r10 >= rcx) { 0x0041d6b3 jae 0x41e034 | goto label_124; | } | } 0x0041d6b9 xor r10d, r10d | r10d = 0; | label_22: 0x0041d6bc mov edx, r14d | edx = r14d; 0x0041d6bf sub edx, r10d | edx -= r10d; 0x0041d6c2 mov rax, r10 | rax = r10; 0x0041d6c5 not rax | rax = ~rax; 0x0041d6c8 add rax, r14 | rax += r14; 0x0041d6cb and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041d6cf je 0x41d6fa | goto label_125; | } 0x0041d6d1 neg rdx | rdx = -rdx; 0x0041d6d4 xor esi, esi | esi = 0; 0x0041d6d6 nop word cs:[rax + rax] | | do { 0x0041d6e0 movzx ebx, byte [rdi - 8] | ebx = *((rdi - 8)); 0x0041d6e4 add rdi, 0xfffffffffffffff8 | rdi += 0xfffffffffffffff8; 0x0041d6e8 mov byte [rcx + rsi - 1], bl | *((rcx + rsi - 1)) = bl; 0x0041d6ec dec rsi | rsi--; 0x0041d6ef cmp rdx, rsi | 0x0041d6f2 jne 0x41d6e0 | | } while (rdx != rsi); 0x0041d6f4 sub r10, rsi | r10 -= rsi; 0x0041d6f7 add rcx, rsi | rcx += rsi; | label_125: 0x0041d6fa cmp rax, 7 | | if (rax < 7) { 0x0041d6fe jb 0x41e74a | goto label_106; | } 0x0041d704 sub r10, r14 | r10 -= r14; 0x0041d707 xor eax, eax | eax = 0; 0x0041d709 nop dword [rax] | | do { 0x0041d710 movzx edx, byte [rdi + rax*8 - 8] | edx = *((rdi + rax*8 - 8)); 0x0041d715 mov byte [rcx + rax - 1], dl | *((rcx + rax - 1)) = dl; 0x0041d719 movzx edx, byte [rdi + rax*8 - 0x10] | edx = *((rdi + rax*8 - 0x10)); 0x0041d71e mov byte [rcx + rax - 2], dl | *((rcx + rax - 2)) = dl; 0x0041d722 movzx edx, byte [rdi + rax*8 - 0x18] | edx = *((rdi + rax*8 - 0x18)); 0x0041d727 mov byte [rcx + rax - 3], dl | *((rcx + rax - 3)) = dl; 0x0041d72b movzx edx, byte [rdi + rax*8 - 0x20] | edx = *((rdi + rax*8 - 0x20)); 0x0041d730 mov byte [rcx + rax - 4], dl | *((rcx + rax - 4)) = dl; 0x0041d734 movzx edx, byte [rdi + rax*8 - 0x28] | edx = *((rdi + rax*8 - 0x28)); 0x0041d739 mov byte [rcx + rax - 5], dl | *((rcx + rax - 5)) = dl; 0x0041d73d movzx edx, byte [rdi + rax*8 - 0x30] | edx = *((rdi + rax*8 - 0x30)); 0x0041d742 mov byte [rcx + rax - 6], dl | *((rcx + rax - 6)) = dl; 0x0041d746 movzx edx, byte [rdi + rax*8 - 0x38] | edx = *((rdi + rax*8 - 0x38)); 0x0041d74b mov byte [rcx + rax - 7], dl | *((rcx + rax - 7)) = dl; 0x0041d74f movzx edx, byte [rdi + rax*8 - 0x40] | edx = *((rdi + rax*8 - 0x40)); 0x0041d754 mov byte [rcx + rax - 8], dl | *((rcx + rax - 8)) = dl; 0x0041d758 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041d75c cmp r10, rax | 0x0041d75f jne 0x41d710 | | } while (r10 != rax); 0x0041d761 jmp 0x41e74a | goto label_106; | label_113: 0x0041d766 test r14, r14 | | if (r14 == 0) { 0x0041d769 je 0x41e74a | goto label_106; | } 0x0041d76f lea rdi, [r14 - 1] | rdi = r14 - 1; 0x0041d773 mov ecx, r14d | ecx = r14d; 0x0041d776 and ecx, 7 | ecx &= 7; 0x0041d779 cmp rdi, 7 | | if (rdi >= 7) { 0x0041d77d jae 0x41dba6 | goto label_126; | } 0x0041d783 lea rsi, [rax + r14*2] | rsi = rax + r14*2; 0x0041d787 lea rax, [r8 + r9*8] | rax = r8 + r9*8; 0x0041d78b lea r8, [rax + r14*8] | r8 = rax + r14*8; 0x0041d78f jmp 0x41dc3c | goto label_127; | label_117: 0x0041d794 test r14, r14 | | if (r14 == 0) { 0x0041d797 je 0x41e74a | goto label_106; | } 0x0041d79d lea rcx, [rax + r14*4] | rcx = rax + r14*4; 0x0041d7a1 lea rdi, [r8 + r9*8] | rdi = r8 + r9*8; 0x0041d7a5 lea r10, [rdi + r14*8] | r10 = rdi + r14*8; 0x0041d7a9 cmp r14, 4 | | if (r14 >= 4) { 0x0041d7ad jb 0x41d7d1 | 0x0041d7af lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041d7b3 lea rbx, [r8 + rbx*8] | rbx = r8 + rbx*8; 0x0041d7b7 cmp rax, rbx | | if (rax >= rbx) { 0x0041d7ba jae 0x41e0dc | goto label_128; | } 0x0041d7c0 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041d7c4 lea rax, [rsi + rax*4] | rax = rsi + rax*4; 0x0041d7c8 cmp rdi, rax | | if (rdi >= rax) { 0x0041d7cb jae 0x41e0dc | goto label_128; | } | } 0x0041d7d1 xor edi, edi | edi = 0; | label_23: 0x0041d7d3 mov eax, r14d | eax = r14d; 0x0041d7d6 sub eax, edi | eax -= edi; 0x0041d7d8 mov r8, rdi | r8 = rdi; 0x0041d7db not r8 | r8 = ~r8; 0x0041d7de add r8, r14 | r8 += r14; 0x0041d7e1 and rax, 7 | rax &= 7; | if (rax == 0) { 0x0041d7e5 je 0x41dcd6 | goto label_129; | } 0x0041d7eb shl rax, 2 | rax <<= 2; 0x0041d7ef xor ebx, ebx | ebx = 0; 0x0041d7f1 mov rdx, r10 | rdx = r10; 0x0041d7f4 nop word cs:[rax + rax] | 0x0041d7fe nop | | do { 0x0041d800 add rdx, 0xfffffffffffffff8 | rdx += 0xfffffffffffffff8; 0x0041d804 mov esi, dword [r10 + rbx*2 - 8] | esi = *((r10 + rbx*2 - 8)); 0x0041d809 mov dword [rcx + rbx - 4], esi | *((rcx + rbx - 4)) = esi; 0x0041d80d inc rdi | rdi++; 0x0041d810 add rbx, 0xfffffffffffffffc | rbx += 0xfffffffffffffffc; 0x0041d814 mov rsi, rax | rsi = rax; 0x0041d817 add rsi, rbx | rsi += rbx; 0x0041d81a jne 0x41d800 | | } while (rsi != 0); 0x0041d81c add rcx, rbx | rcx += rbx; 0x0041d81f jmp 0x41dcd9 | goto label_130; | label_105: 0x0041d824 test r14, r14 | | if (r14 == 0) { 0x0041d827 je 0x41e74a | goto label_106; | } 0x0041d82d lea rcx, [rax + r14] | rcx = rax + r14; 0x0041d831 lea r10, [r8 + r9*2] | r10 = r8 + r9*2; 0x0041d835 lea rdi, [r10 + r14*2] | rdi = r10 + r14*2; 0x0041d839 cmp r14, 0x10 | | if (r14 >= 0x10) { 0x0041d83d jb 0x41d859 | 0x0041d83f lea rbx, [r14 + r9] | rbx = r14 + r9; 0x0041d843 lea rbx, [r8 + rbx*2] | rbx = r8 + rbx*2; 0x0041d847 cmp rax, rbx | | if (rax >= rbx) { 0x0041d84a jae 0x41e171 | goto label_131; | } 0x0041d850 cmp r10, rcx | | if (r10 >= rcx) { 0x0041d853 jae 0x41e171 | goto label_131; | } | } 0x0041d859 xor r10d, r10d | r10d = 0; | label_24: 0x0041d85c mov rax, r10 | rax = r10; 0x0041d85f not rax | rax = ~rax; 0x0041d862 add rax, r14 | rax += r14; 0x0041d865 mov rdx, r14 | rdx = r14; 0x0041d868 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041d86c je 0x41d89a | goto label_132; | } 0x0041d86e neg rdx | rdx = -rdx; 0x0041d871 xor esi, esi | esi = 0; 0x0041d873 nop word cs:[rax + rax] | 0x0041d87d nop dword [rax] | | do { 0x0041d880 movzx ebx, byte [rdi - 2] | ebx = *((rdi - 2)); 0x0041d884 add rdi, 0xfffffffffffffffe | rdi += 0xfffffffffffffffe; 0x0041d888 mov byte [rcx + rsi - 1], bl | *((rcx + rsi - 1)) = bl; 0x0041d88c dec rsi | rsi--; 0x0041d88f cmp rdx, rsi | 0x0041d892 jne 0x41d880 | | } while (rdx != rsi); 0x0041d894 sub r10, rsi | r10 -= rsi; 0x0041d897 add rcx, rsi | rcx += rsi; | label_132: 0x0041d89a cmp rax, 7 | | if (rax < 7) { 0x0041d89e jb 0x41e74a | goto label_106; | } 0x0041d8a4 sub r10, r14 | r10 -= r14; 0x0041d8a7 xor eax, eax | eax = 0; 0x0041d8a9 nop dword [rax] | | do { 0x0041d8b0 movzx edx, byte [rdi + rax*2 - 2] | edx = *((rdi + rax*2 - 2)); 0x0041d8b5 mov byte [rcx + rax - 1], dl | *((rcx + rax - 1)) = dl; 0x0041d8b9 movzx edx, byte [rdi + rax*2 - 4] | edx = *((rdi + rax*2 - 4)); 0x0041d8be mov byte [rcx + rax - 2], dl | *((rcx + rax - 2)) = dl; 0x0041d8c2 movzx edx, byte [rdi + rax*2 - 6] | edx = *((rdi + rax*2 - 6)); 0x0041d8c7 mov byte [rcx + rax - 3], dl | *((rcx + rax - 3)) = dl; 0x0041d8cb movzx edx, byte [rdi + rax*2 - 8] | edx = *((rdi + rax*2 - 8)); 0x0041d8d0 mov byte [rcx + rax - 4], dl | *((rcx + rax - 4)) = dl; 0x0041d8d4 movzx edx, byte [rdi + rax*2 - 0xa] | edx = *((rdi + rax*2 - 0xa)); 0x0041d8d9 mov byte [rcx + rax - 5], dl | *((rcx + rax - 5)) = dl; 0x0041d8dd movzx edx, byte [rdi + rax*2 - 0xc] | edx = *((rdi + rax*2 - 0xc)); 0x0041d8e2 mov byte [rcx + rax - 6], dl | *((rcx + rax - 6)) = dl; 0x0041d8e6 movzx edx, byte [rdi + rax*2 - 0xe] | edx = *((rdi + rax*2 - 0xe)); 0x0041d8eb mov byte [rcx + rax - 7], dl | *((rcx + rax - 7)) = dl; 0x0041d8ef movzx edx, byte [rdi + rax*2 - 0x10] | edx = *((rdi + rax*2 - 0x10)); 0x0041d8f4 mov byte [rcx + rax - 8], dl | *((rcx + rax - 8)) = dl; 0x0041d8f8 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041d8fc cmp r10, rax | 0x0041d8ff jne 0x41d8b0 | | } while (r10 != rax); 0x0041d901 jmp 0x41e74a | goto label_106; | label_110: 0x0041d906 test r14, r14 | | if (r14 == 0) { 0x0041d909 je 0x41e74a | goto label_106; | } 0x0041d90f lea rcx, [rax + r14*8] | rcx = rax + r14*8; 0x0041d913 lea rbx, [r8 + r9] | rbx = r8 + r9; 0x0041d917 lea rdi, [rbx + r14] | rdi = rbx + r14; 0x0041d91b cmp r14, 4 | | if (r14 >= 4) { 0x0041d91f jb 0x41d93b | 0x0041d921 cmp rax, rdi | | if (rax >= rdi) { 0x0041d924 jae 0x41e211 | goto label_133; | } 0x0041d92a lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041d92e lea rax, [rsi + rax*8] | rax = rsi + rax*8; 0x0041d932 cmp rbx, rax | | if (rbx >= rax) { 0x0041d935 jae 0x41e211 | goto label_133; | } | } 0x0041d93b xor r10d, r10d | r10d = 0; | label_25: 0x0041d93e mov edx, r14d | edx = r14d; 0x0041d941 sub edx, r10d | edx -= r10d; 0x0041d944 mov rax, r10 | rax = r10; 0x0041d947 not rax | rax = ~rax; 0x0041d94a add rax, r14 | rax += r14; 0x0041d94d and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041d951 je 0x41d97b | goto label_134; | } 0x0041d953 neg rdx | rdx = -rdx; 0x0041d956 xor esi, esi | esi = 0; 0x0041d958 nop dword [rax + rax] | | do { 0x0041d960 movzx ebx, byte [rdi + rsi - 1] | ebx = *((rdi + rsi - 1)); 0x0041d965 mov qword [rcx - 8], rbx | *((rcx - 8)) = rbx; 0x0041d969 add rcx, 0xfffffffffffffff8 | rcx += 0xfffffffffffffff8; 0x0041d96d dec rsi | rsi--; 0x0041d970 cmp rdx, rsi | 0x0041d973 jne 0x41d960 | | } while (rdx != rsi); 0x0041d975 sub r10, rsi | r10 -= rsi; 0x0041d978 add rdi, rsi | rdi += rsi; | label_134: 0x0041d97b cmp rax, 7 | | if (rax < 7) { 0x0041d97f jb 0x41e74a | goto label_106; | } 0x0041d985 sub r10, r14 | r10 -= r14; 0x0041d988 xor eax, eax | eax = 0; 0x0041d98a nop word [rax + rax] | | do { 0x0041d990 movzx edx, byte [rdi + rax - 1] | edx = *((rdi + rax - 1)); 0x0041d995 mov qword [rcx + rax*8 - 8], rdx | *((rcx + rax*8 - 8)) = rdx; 0x0041d99a movzx edx, byte [rdi + rax - 2] | edx = *((rdi + rax - 2)); 0x0041d99f mov qword [rcx + rax*8 - 0x10], rdx | *((rcx + rax*8 - 0x10)) = rdx; 0x0041d9a4 movzx edx, byte [rdi + rax - 3] | edx = *((rdi + rax - 3)); 0x0041d9a9 mov qword [rcx + rax*8 - 0x18], rdx | *((rcx + rax*8 - 0x18)) = rdx; 0x0041d9ae movzx edx, byte [rdi + rax - 4] | edx = *((rdi + rax - 4)); 0x0041d9b3 mov qword [rcx + rax*8 - 0x20], rdx | *((rcx + rax*8 - 0x20)) = rdx; 0x0041d9b8 movzx edx, byte [rdi + rax - 5] | edx = *((rdi + rax - 5)); 0x0041d9bd mov qword [rcx + rax*8 - 0x28], rdx | *((rcx + rax*8 - 0x28)) = rdx; 0x0041d9c2 movzx edx, byte [rdi + rax - 6] | edx = *((rdi + rax - 6)); 0x0041d9c7 mov qword [rcx + rax*8 - 0x30], rdx | *((rcx + rax*8 - 0x30)) = rdx; 0x0041d9cc movzx edx, byte [rdi + rax - 7] | edx = *((rdi + rax - 7)); 0x0041d9d1 mov qword [rcx + rax*8 - 0x38], rdx | *((rcx + rax*8 - 0x38)) = rdx; 0x0041d9d6 movzx edx, byte [rdi + rax - 8] | edx = *((rdi + rax - 8)); 0x0041d9db mov qword [rcx + rax*8 - 0x40], rdx | *((rcx + rax*8 - 0x40)) = rdx; 0x0041d9e0 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041d9e4 cmp r10, rax | 0x0041d9e7 jne 0x41d990 | | } while (r10 != rax); 0x0041d9e9 jmp 0x41e74a | goto label_106; | label_114: 0x0041d9ee test r14, r14 | | if (r14 == 0) { 0x0041d9f1 je 0x41e74a | goto label_106; | } 0x0041d9f7 lea rcx, [rax + r14*2] | rcx = rax + r14*2; 0x0041d9fb lea rbx, [r8 + r9] | rbx = r8 + r9; 0x0041d9ff lea rdi, [rbx + r14] | rdi = rbx + r14; 0x0041da03 cmp r14, 0x10 | | if (r14 >= 0x10) { 0x0041da07 jb 0x41da23 | 0x0041da09 cmp rax, rdi | | if (rax >= rdi) { 0x0041da0c jae 0x41e294 | goto label_135; | } 0x0041da12 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041da16 lea rax, [rsi + rax*2] | rax = rsi + rax*2; 0x0041da1a cmp rbx, rax | | if (rbx >= rax) { 0x0041da1d jae 0x41e294 | goto label_135; | } | } 0x0041da23 xor r10d, r10d | r10d = 0; | label_26: 0x0041da26 mov rax, r10 | rax = r10; 0x0041da29 not rax | rax = ~rax; 0x0041da2c add rax, r14 | rax += r14; 0x0041da2f mov rdx, r14 | rdx = r14; 0x0041da32 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041da36 je 0x41da5b | goto label_136; | } 0x0041da38 neg rdx | rdx = -rdx; 0x0041da3b xor esi, esi | esi = 0; 0x0041da3d nop dword [rax] | | do { 0x0041da40 movzx ebx, byte [rdi + rsi - 1] | ebx = *((rdi + rsi - 1)); 0x0041da45 mov word [rcx - 2], bx | *((rcx - 2)) = bx; 0x0041da49 add rcx, 0xfffffffffffffffe | rcx += 0xfffffffffffffffe; 0x0041da4d dec rsi | rsi--; 0x0041da50 cmp rdx, rsi | 0x0041da53 jne 0x41da40 | | } while (rdx != rsi); 0x0041da55 sub r10, rsi | r10 -= rsi; 0x0041da58 add rdi, rsi | rdi += rsi; | label_136: 0x0041da5b cmp rax, 7 | | if (rax < 7) { 0x0041da5f jb 0x41e74a | goto label_106; | } 0x0041da65 sub r10, r14 | r10 -= r14; 0x0041da68 xor eax, eax | eax = 0; 0x0041da6a nop word [rax + rax] | | do { 0x0041da70 movzx edx, byte [rdi + rax - 1] | edx = *((rdi + rax - 1)); 0x0041da75 mov word [rcx + rax*2 - 2], dx | *((rcx + rax*2 - 2)) = dx; 0x0041da7a movzx edx, byte [rdi + rax - 2] | edx = *((rdi + rax - 2)); 0x0041da7f mov word [rcx + rax*2 - 4], dx | *((rcx + rax*2 - 4)) = dx; 0x0041da84 movzx edx, byte [rdi + rax - 3] | edx = *((rdi + rax - 3)); 0x0041da89 mov word [rcx + rax*2 - 6], dx | *((rcx + rax*2 - 6)) = dx; 0x0041da8e movzx edx, byte [rdi + rax - 4] | edx = *((rdi + rax - 4)); 0x0041da93 mov word [rcx + rax*2 - 8], dx | *((rcx + rax*2 - 8)) = dx; 0x0041da98 movzx edx, byte [rdi + rax - 5] | edx = *((rdi + rax - 5)); 0x0041da9d mov word [rcx + rax*2 - 0xa], dx | *((rcx + rax*2 - 0xa)) = dx; 0x0041daa2 movzx edx, byte [rdi + rax - 6] | edx = *((rdi + rax - 6)); 0x0041daa7 mov word [rcx + rax*2 - 0xc], dx | *((rcx + rax*2 - 0xc)) = dx; 0x0041daac movzx edx, byte [rdi + rax - 7] | edx = *((rdi + rax - 7)); 0x0041dab1 mov word [rcx + rax*2 - 0xe], dx | *((rcx + rax*2 - 0xe)) = dx; 0x0041dab6 movzx edx, byte [rdi + rax - 8] | edx = *((rdi + rax - 8)); 0x0041dabb mov word [rcx + rax*2 - 0x10], dx | *((rcx + rax*2 - 0x10)) = dx; 0x0041dac0 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041dac4 cmp r10, rax | 0x0041dac7 jne 0x41da70 | | } while (r10 != rax); 0x0041dac9 jmp 0x41e74a | goto label_106; | label_118: 0x0041dace test r14, r14 | | if (r14 == 0) { 0x0041dad1 je 0x41e74a | goto label_106; | } 0x0041dad7 lea rcx, [rax + r14*4] | rcx = rax + r14*4; 0x0041dadb lea rbx, [r8 + r9] | rbx = r8 + r9; 0x0041dadf lea rdi, [rbx + r14] | rdi = rbx + r14; 0x0041dae3 cmp r14, 8 | | if (r14 >= 8) { 0x0041dae7 jb 0x41db03 | 0x0041dae9 cmp rax, rdi | | if (rax >= rdi) { 0x0041daec jae 0x41e324 | goto label_137; | } 0x0041daf2 lea rax, [r14 + rdx] | rax = r14 + rdx; 0x0041daf6 lea rax, [rsi + rax*4] | rax = rsi + rax*4; 0x0041dafa cmp rbx, rax | | if (rbx >= rax) { 0x0041dafd jae 0x41e324 | goto label_137; | } | } 0x0041db03 xor r10d, r10d | r10d = 0; | label_27: 0x0041db06 mov rax, r10 | rax = r10; 0x0041db09 not rax | rax = ~rax; 0x0041db0c add rax, r14 | rax += r14; 0x0041db0f mov rdx, r14 | rdx = r14; 0x0041db12 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041db16 je 0x41db3a | goto label_138; | } 0x0041db18 neg rdx | rdx = -rdx; 0x0041db1b xor esi, esi | esi = 0; 0x0041db1d nop dword [rax] | | do { 0x0041db20 movzx ebx, byte [rdi + rsi - 1] | ebx = *((rdi + rsi - 1)); 0x0041db25 mov dword [rcx - 4], ebx | *((rcx - 4)) = ebx; 0x0041db28 add rcx, 0xfffffffffffffffc | rcx += 0xfffffffffffffffc; 0x0041db2c dec rsi | rsi--; 0x0041db2f cmp rdx, rsi | 0x0041db32 jne 0x41db20 | | } while (rdx != rsi); 0x0041db34 sub r10, rsi | r10 -= rsi; 0x0041db37 add rdi, rsi | rdi += rsi; | label_138: 0x0041db3a cmp rax, 7 | | if (rax < 7) { 0x0041db3e jb 0x41e74a | goto label_106; | } 0x0041db44 sub r10, r14 | r10 -= r14; 0x0041db47 xor eax, eax | eax = 0; 0x0041db49 nop dword [rax] | | do { 0x0041db50 movzx edx, byte [rdi + rax - 1] | edx = *((rdi + rax - 1)); 0x0041db55 mov dword [rcx + rax*4 - 4], edx | *((rcx + rax*4 - 4)) = edx; 0x0041db59 movzx edx, byte [rdi + rax - 2] | edx = *((rdi + rax - 2)); 0x0041db5e mov dword [rcx + rax*4 - 8], edx | *((rcx + rax*4 - 8)) = edx; 0x0041db62 movzx edx, byte [rdi + rax - 3] | edx = *((rdi + rax - 3)); 0x0041db67 mov dword [rcx + rax*4 - 0xc], edx | *((rcx + rax*4 - 0xc)) = edx; 0x0041db6b movzx edx, byte [rdi + rax - 4] | edx = *((rdi + rax - 4)); 0x0041db70 mov dword [rcx + rax*4 - 0x10], edx | *((rcx + rax*4 - 0x10)) = edx; 0x0041db74 movzx edx, byte [rdi + rax - 5] | edx = *((rdi + rax - 5)); 0x0041db79 mov dword [rcx + rax*4 - 0x14], edx | *((rcx + rax*4 - 0x14)) = edx; 0x0041db7d movzx edx, byte [rdi + rax - 6] | edx = *((rdi + rax - 6)); 0x0041db82 mov dword [rcx + rax*4 - 0x18], edx | *((rcx + rax*4 - 0x18)) = edx; 0x0041db86 movzx edx, byte [rdi + rax - 7] | edx = *((rdi + rax - 7)); 0x0041db8b mov dword [rcx + rax*4 - 0x1c], edx | *((rcx + rax*4 - 0x1c)) = edx; 0x0041db8f movzx edx, byte [rdi + rax - 8] | edx = *((rdi + rax - 8)); 0x0041db94 mov dword [rcx + rax*4 - 0x20], edx | *((rcx + rax*4 - 0x20)) = edx; 0x0041db98 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041db9c cmp r10, rax | 0x0041db9f jne 0x41db50 | | } while (r10 != rax); 0x0041dba1 jmp 0x41e74a | goto label_106; | label_126: 0x0041dba6 shl r9, 3 | r9 <<= 3; 0x0041dbaa lea rax, [r9 + r14*8] | rax = r9 + r14*8; 0x0041dbae add r8, rax | r8 += rax; 0x0041dbb1 add rdx, rdx | rdx += rdx; 0x0041dbb4 lea rax, [rdx + r14*2] | rax = rdx + r14*2; 0x0041dbb8 add rsi, rax | rsi += rax; 0x0041dbbb and r14, 0xfffffffffffffff8 | r14 &= 0xfffffffffffffff8; 0x0041dbbf neg r14 | r14 = -r14; 0x0041dbc2 xor eax, eax | eax = 0; 0x0041dbc4 xor edx, edx | edx = 0; 0x0041dbc6 nop word cs:[rax + rax] | | do { 0x0041dbd0 movzx edi, word [r8 + rax*4 - 8] | edi = *((r8 + rax*4 - 8)); 0x0041dbd6 mov word [rsi + rax - 2], di | *((rsi + rax - 2)) = di; 0x0041dbdb movzx edi, word [r8 + rax*4 - 0x10] | edi = *((r8 + rax*4 - 0x10)); 0x0041dbe1 mov word [rsi + rax - 4], di | *((rsi + rax - 4)) = di; 0x0041dbe6 movzx edi, word [r8 + rax*4 - 0x18] | edi = *((r8 + rax*4 - 0x18)); 0x0041dbec mov word [rsi + rax - 6], di | *((rsi + rax - 6)) = di; 0x0041dbf1 movzx edi, word [r8 + rax*4 - 0x20] | edi = *((r8 + rax*4 - 0x20)); 0x0041dbf7 mov word [rsi + rax - 8], di | *((rsi + rax - 8)) = di; 0x0041dbfc movzx edi, word [r8 + rax*4 - 0x28] | edi = *((r8 + rax*4 - 0x28)); 0x0041dc02 mov word [rsi + rax - 0xa], di | *((rsi + rax - 0xa)) = di; 0x0041dc07 movzx edi, word [r8 + rax*4 - 0x30] | edi = *((r8 + rax*4 - 0x30)); 0x0041dc0d mov word [rsi + rax - 0xc], di | *((rsi + rax - 0xc)) = di; 0x0041dc12 movzx edi, word [r8 + rax*4 - 0x38] | edi = *((r8 + rax*4 - 0x38)); 0x0041dc18 mov word [rsi + rax - 0xe], di | *((rsi + rax - 0xe)) = di; 0x0041dc1d movzx edi, word [r8 + rax*4 - 0x40] | edi = *((r8 + rax*4 - 0x40)); 0x0041dc23 mov word [rsi + rax - 0x10], di | *((rsi + rax - 0x10)) = di; 0x0041dc28 add rdx, 0x40 | rdx += 0x40; 0x0041dc2c add rax, 0xfffffffffffffff0 | rax += 0xfffffffffffffff0; 0x0041dc30 add r14, 8 | r14 += 8; 0x0041dc34 jne 0x41dbd0 | | } while (r14 != 0); 0x0041dc36 sub r8, rdx | r8 -= rdx; 0x0041dc39 add rsi, rax | rsi += rax; | label_127: 0x0041dc3c test rcx, rcx | | if (rcx == 0) { 0x0041dc3f je 0x41e74a | goto label_106; | } 0x0041dc45 neg rcx | rcx = -rcx; 0x0041dc48 xor eax, eax | eax = 0; 0x0041dc4a nop word [rax + rax] | | do { 0x0041dc50 movzx edx, word [r8 + rax*8 - 8] | edx = *((r8 + rax*8 - 8)); 0x0041dc56 mov word [rsi + rax*2 - 2], dx | *((rsi + rax*2 - 2)) = dx; 0x0041dc5b dec rax | rax--; 0x0041dc5e cmp rcx, rax | 0x0041dc61 jne 0x41dc50 | | } while (rcx != rax); 0x0041dc63 jmp 0x41e74a | goto label_106; | label_122: 0x0041dc68 mov rdx, r10 | rdx = r10; | label_123: 0x0041dc6b cmp r8, 7 | | if (r8 < 7) { 0x0041dc6f jb 0x41e74a | goto label_106; | } 0x0041dc75 sub rdi, r14 | rdi -= r14; 0x0041dc78 xor eax, eax | eax = 0; 0x0041dc7a nop word [rax + rax] | | do { 0x0041dc80 mov esi, dword [rcx + rax*4 - 4] | esi = *((rcx + rax*4 - 4)); 0x0041dc84 mov qword [rdx + rax*8 - 8], rsi | *((rdx + rax*8 - 8)) = rsi; 0x0041dc89 mov esi, dword [rcx + rax*4 - 8] | esi = *((rcx + rax*4 - 8)); 0x0041dc8d mov qword [rdx + rax*8 - 0x10], rsi | *((rdx + rax*8 - 0x10)) = rsi; 0x0041dc92 mov esi, dword [rcx + rax*4 - 0xc] | esi = *((rcx + rax*4 - 0xc)); 0x0041dc96 mov qword [rdx + rax*8 - 0x18], rsi | *((rdx + rax*8 - 0x18)) = rsi; 0x0041dc9b mov esi, dword [rcx + rax*4 - 0x10] | esi = *((rcx + rax*4 - 0x10)); 0x0041dc9f mov qword [rdx + rax*8 - 0x20], rsi | *((rdx + rax*8 - 0x20)) = rsi; 0x0041dca4 mov esi, dword [rcx + rax*4 - 0x14] | esi = *((rcx + rax*4 - 0x14)); 0x0041dca8 mov qword [rdx + rax*8 - 0x28], rsi | *((rdx + rax*8 - 0x28)) = rsi; 0x0041dcad mov esi, dword [rcx + rax*4 - 0x18] | esi = *((rcx + rax*4 - 0x18)); 0x0041dcb1 mov qword [rdx + rax*8 - 0x30], rsi | *((rdx + rax*8 - 0x30)) = rsi; 0x0041dcb6 mov esi, dword [rcx + rax*4 - 0x1c] | esi = *((rcx + rax*4 - 0x1c)); 0x0041dcba mov qword [rdx + rax*8 - 0x38], rsi | *((rdx + rax*8 - 0x38)) = rsi; 0x0041dcbf mov esi, dword [rcx + rax*4 - 0x20] | esi = *((rcx + rax*4 - 0x20)); 0x0041dcc3 mov qword [rdx + rax*8 - 0x40], rsi | *((rdx + rax*8 - 0x40)) = rsi; 0x0041dcc8 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041dccc cmp rdi, rax | 0x0041dccf jne 0x41dc80 | | } while (rdi != rax); 0x0041dcd1 jmp 0x41e74a | goto label_106; | label_129: 0x0041dcd6 mov rdx, r10 | rdx = r10; | label_130: 0x0041dcd9 cmp r8, 7 | | if (r8 < 7) { 0x0041dcdd jb 0x41e74a | goto label_106; | } 0x0041dce3 sub rdi, r14 | rdi -= r14; 0x0041dce6 xor eax, eax | eax = 0; 0x0041dce8 nop dword [rax + rax] | | do { 0x0041dcf0 mov esi, dword [rdx + rax*8 - 8] | esi = *((rdx + rax*8 - 8)); 0x0041dcf4 mov dword [rcx + rax*4 - 4], esi | *((rcx + rax*4 - 4)) = esi; 0x0041dcf8 mov esi, dword [rdx + rax*8 - 0x10] | esi = *((rdx + rax*8 - 0x10)); 0x0041dcfc mov dword [rcx + rax*4 - 8], esi | *((rcx + rax*4 - 8)) = esi; 0x0041dd00 mov esi, dword [rdx + rax*8 - 0x18] | esi = *((rdx + rax*8 - 0x18)); 0x0041dd04 mov dword [rcx + rax*4 - 0xc], esi | *((rcx + rax*4 - 0xc)) = esi; 0x0041dd08 mov esi, dword [rdx + rax*8 - 0x20] | esi = *((rdx + rax*8 - 0x20)); 0x0041dd0c mov dword [rcx + rax*4 - 0x10], esi | *((rcx + rax*4 - 0x10)) = esi; 0x0041dd10 mov esi, dword [rdx + rax*8 - 0x28] | esi = *((rdx + rax*8 - 0x28)); 0x0041dd14 mov dword [rcx + rax*4 - 0x14], esi | *((rcx + rax*4 - 0x14)) = esi; 0x0041dd18 mov esi, dword [rdx + rax*8 - 0x30] | esi = *((rdx + rax*8 - 0x30)); 0x0041dd1c mov dword [rcx + rax*4 - 0x18], esi | *((rcx + rax*4 - 0x18)) = esi; 0x0041dd20 mov esi, dword [rdx + rax*8 - 0x38] | esi = *((rdx + rax*8 - 0x38)); 0x0041dd24 mov dword [rcx + rax*4 - 0x1c], esi | *((rcx + rax*4 - 0x1c)) = esi; 0x0041dd28 mov esi, dword [rdx + rax*8 - 0x40] | esi = *((rdx + rax*8 - 0x40)); 0x0041dd2c mov dword [rcx + rax*4 - 0x20], esi | *((rcx + rax*4 - 0x20)) = esi; 0x0041dd30 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041dd34 cmp rdi, rax | 0x0041dd37 jne 0x41dcf0 | | } while (rdi != rax); 0x0041dd39 jmp 0x41e74a | goto label_106; | label_107: 0x0041dd3e mov r10, r14 | r10 = r14; 0x0041dd41 and r10, 0xfffffffffffffff8 | r10 &= 0xfffffffffffffff8; 0x0041dd45 lea rax, [r10 - 8] | rax = r10 - 8; 0x0041dd49 mov r11, rax | r11 = rax; 0x0041dd4c shr r11, 3 | r11 >>= 3; 0x0041dd50 inc r11 | r11++; 0x0041dd53 test rax, rax | | if (rax == 0) { 0x0041dd56 je 0x41e460 | goto label_139; | } 0x0041dd5c add rdx, r14 | rdx += r14; 0x0041dd5f lea rax, [rsi + rdx - 4] | rax = rsi + rdx - 4; 0x0041dd64 shl r9, 2 | r9 <<= 2; 0x0041dd68 lea rdx, [r9 + r14*4] | rdx = r9 + r14*4; 0x0041dd6c lea rsi, [r8 + rdx - 0x10] | rsi = r8 + rdx - 0x10; 0x0041dd71 mov rbx, r11 | rbx = r11; 0x0041dd74 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041dd78 neg rbx | rbx = -rbx; 0x0041dd7b xor edx, edx | edx = 0; 0x0041dd7d movdqa xmm0, xmmword [rip + 0x41e7b] | __asm ("movdqa xmm0, xmmword [0x0045fc00]"); 0x0041dd85 nop word cs:[rax + rax] | 0x0041dd8f nop | | do { 0x0041dd90 movdqu xmm1, xmmword [rsi + rdx*4 - 0x10] | __asm ("movdqu xmm1, xmmword [rsi + rdx*4 - 0x10]"); 0x0041dd96 movdqu xmm2, xmmword [rsi + rdx*4] | __asm ("movdqu xmm2, xmmword [rsi + rdx*4]"); 0x0041dd9b pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041dda0 movd dword [rax + rdx], xmm2 | *((rax + rdx)) = xmm2; 0x0041dda5 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041ddaa movd dword [rax + rdx - 4], xmm1 | *((rax + rdx - 4)) = xmm1; 0x0041ddb0 movdqu xmm1, xmmword [rsi + rdx*4 - 0x30] | __asm ("movdqu xmm1, xmmword [rsi + rdx*4 - 0x30]"); 0x0041ddb6 movdqu xmm2, xmmword [rsi + rdx*4 - 0x20] | __asm ("movdqu xmm2, xmmword [rsi + rdx*4 - 0x20]"); 0x0041ddbc pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041ddc1 movd dword [rax + rdx - 8], xmm2 | *((rax + rdx - 8)) = xmm2; 0x0041ddc7 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041ddcc movd dword [rax + rdx - 0xc], xmm1 | *((rax + rdx - 0xc)) = xmm1; 0x0041ddd2 add rdx, 0xfffffffffffffff0 | rdx += 0xfffffffffffffff0; 0x0041ddd6 add rbx, 2 | rbx += 2; 0x0041ddda jne 0x41dd90 | | } while (rbx != 0); 0x0041dddc neg rdx | rdx = -rdx; 0x0041dddf jmp 0x41e462 | goto label_140; | label_111: 0x0041dde4 mov r10, r14 | r10 = r14; 0x0041dde7 and r10, 0xfffffffffffffffc | r10 &= 0xfffffffffffffffc; 0x0041ddeb lea rax, [r10 - 4] | rax = r10 - 4; 0x0041ddef mov r11, rax | r11 = rax; 0x0041ddf2 shr r11, 2 | r11 >>= 2; 0x0041ddf6 inc r11 | r11++; 0x0041ddf9 test rax, rax | | if (rax == 0) { 0x0041ddfc je 0x41e3b4 | goto label_141; | } 0x0041de02 shl rdx, 3 | rdx <<= 3; 0x0041de06 lea rax, [rdx + r14*8] | rax = rdx + r14*8; 0x0041de0a lea rdx, [rsi + rax - 0x10] | rdx = rsi + rax - 0x10; 0x0041de0f add r9, r9 | r9 += r9; 0x0041de12 lea rax, [r9 + r14*2] | rax = r9 + r14*2; 0x0041de16 lea rsi, [r8 + rax - 4] | rsi = r8 + rax - 4; 0x0041de1b mov rbx, r11 | rbx = r11; 0x0041de1e and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041de22 neg rbx | rbx = -rbx; 0x0041de25 xor eax, eax | eax = 0; 0x0041de27 nop word [rax + rax] | | do { 0x0041de30 pmovzxwq xmm0, dword [rsi + rax*2] | __asm ("pmovzxwq xmm0, dword [rsi + rax*2]"); 0x0041de36 pmovzxwq xmm1, dword [rsi + rax*2 - 4] | __asm ("pmovzxwq xmm1, dword [rsi + rax*2 - 4]"); 0x0041de3d movdqu xmmword [rdx + rax*8], xmm0 | __asm ("movdqu xmmword [rdx + rax*8], xmm0"); 0x0041de42 movdqu xmmword [rdx + rax*8 - 0x10], xmm1 | __asm ("movdqu xmmword [rdx + rax*8 - 0x10], xmm1"); 0x0041de48 pmovzxwq xmm0, dword [rsi + rax*2 - 8] | __asm ("pmovzxwq xmm0, dword [rsi + rax*2 - 8]"); 0x0041de4f pmovzxwq xmm1, dword [rsi + rax*2 - 0xc] | __asm ("pmovzxwq xmm1, dword [rsi + rax*2 - 0xc]"); 0x0041de56 movdqu xmmword [rdx + rax*8 - 0x20], xmm0 | __asm ("movdqu xmmword [rdx + rax*8 - 0x20], xmm0"); 0x0041de5c movdqu xmmword [rdx + rax*8 - 0x30], xmm1 | __asm ("movdqu xmmword [rdx + rax*8 - 0x30], xmm1"); 0x0041de62 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041de66 add rbx, 2 | rbx += 2; 0x0041de6a jne 0x41de30 | | } while (rbx != 0); 0x0041de6c neg rax | rax = -rax; 0x0041de6f jmp 0x41e3b6 | goto label_142; | label_115: 0x0041de74 mov r10, r14 | r10 = r14; 0x0041de77 and r10, 0xfffffffffffffff8 | r10 &= 0xfffffffffffffff8; 0x0041de7b lea rax, [r10 - 8] | rax = r10 - 8; 0x0041de7f mov r11, rax | r11 = rax; 0x0041de82 shr r11, 3 | r11 >>= 3; 0x0041de86 inc r11 | r11++; 0x0041de89 test rax, rax | | if (rax == 0) { 0x0041de8c je 0x41e4be | goto label_143; | } 0x0041de92 add rdx, rdx | rdx += rdx; 0x0041de95 lea rax, [rdx + r14*2] | rax = rdx + r14*2; 0x0041de99 lea rax, [rsi + rax - 8] | rax = rsi + rax - 8; 0x0041de9e shl r9, 2 | r9 <<= 2; 0x0041dea2 lea rdx, [r9 + r14*4] | rdx = r9 + r14*4; 0x0041dea6 lea rsi, [r8 + rdx - 0x10] | rsi = r8 + rdx - 0x10; 0x0041deab mov rbx, r11 | rbx = r11; 0x0041deae and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041deb2 neg rbx | rbx = -rbx; 0x0041deb5 xor edx, edx | edx = 0; 0x0041deb7 movdqa xmm0, xmmword [rip + 0x41d01] | __asm ("movdqa xmm0, xmmword [0x0045fbc0]"); 0x0041debf nop | | do { 0x0041dec0 movdqu xmm1, xmmword [rsi + rdx*4 - 0x10] | __asm ("movdqu xmm1, xmmword [rsi + rdx*4 - 0x10]"); 0x0041dec6 movdqu xmm2, xmmword [rsi + rdx*4] | __asm ("movdqu xmm2, xmmword [rsi + rdx*4]"); 0x0041decb pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041ded0 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041ded5 punpcklqdq xmm1, xmm2 | __asm ("punpcklqdq xmm1, xmm2"); 0x0041ded9 movdqu xmmword [rax + rdx*2 - 8], xmm1 | __asm ("movdqu xmmword [rax + rdx*2 - 8], xmm1"); 0x0041dedf movdqu xmm1, xmmword [rsi + rdx*4 - 0x30] | __asm ("movdqu xmm1, xmmword [rsi + rdx*4 - 0x30]"); 0x0041dee5 movdqu xmm2, xmmword [rsi + rdx*4 - 0x20] | __asm ("movdqu xmm2, xmmword [rsi + rdx*4 - 0x20]"); 0x0041deeb pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041def0 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041def5 punpcklqdq xmm1, xmm2 | __asm ("punpcklqdq xmm1, xmm2"); 0x0041def9 movdqu xmmword [rax + rdx*2 - 0x18], xmm1 | __asm ("movdqu xmmword [rax + rdx*2 - 0x18], xmm1"); 0x0041deff add rdx, 0xfffffffffffffff0 | rdx += 0xfffffffffffffff0; 0x0041df03 add rbx, 2 | rbx += 2; 0x0041df07 jne 0x41dec0 | | } while (rbx != 0); 0x0041df09 neg rdx | rdx = -rdx; 0x0041df0c jmp 0x41e4c0 | goto label_144; | label_119: 0x0041df11 mov r10, r14 | r10 = r14; 0x0041df14 and r10, 0xfffffffffffffff8 | r10 &= 0xfffffffffffffff8; 0x0041df18 lea rax, [r10 - 8] | rax = r10 - 8; 0x0041df1c mov r11, rax | r11 = rax; 0x0041df1f shr r11, 3 | r11 >>= 3; 0x0041df23 inc r11 | r11++; 0x0041df26 test rax, rax | | if (rax == 0) { 0x0041df29 je 0x41e522 | goto label_145; | } 0x0041df2f shl rdx, 2 | rdx <<= 2; 0x0041df33 lea rax, [rdx + r14*4] | rax = rdx + r14*4; 0x0041df37 lea rdx, [rsi + rax - 0x10] | rdx = rsi + rax - 0x10; 0x0041df3c add r9, r9 | r9 += r9; 0x0041df3f lea rax, [r9 + r14*2] | rax = r9 + r14*2; 0x0041df43 lea rsi, [r8 + rax - 8] | rsi = r8 + rax - 8; 0x0041df48 mov rbx, r11 | rbx = r11; 0x0041df4b and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041df4f neg rbx | rbx = -rbx; 0x0041df52 xor eax, eax | eax = 0; 0x0041df54 nop word cs:[rax + rax] | 0x0041df5e nop | | do { 0x0041df60 pmovzxwd xmm0, qword [rsi + rax*2] | __asm ("pmovzxwd xmm0, qword [rsi + rax*2]"); 0x0041df66 pmovzxwd xmm1, qword [rsi + rax*2 - 8] | __asm ("pmovzxwd xmm1, qword [rsi + rax*2 - 8]"); 0x0041df6d movdqu xmmword [rdx + rax*4], xmm0 | __asm ("movdqu xmmword [rdx + rax*4], xmm0"); 0x0041df72 movdqu xmmword [rdx + rax*4 - 0x10], xmm1 | __asm ("movdqu xmmword [rdx + rax*4 - 0x10], xmm1"); 0x0041df78 pmovzxwd xmm0, qword [rsi + rax*2 - 0x10] | __asm ("pmovzxwd xmm0, qword [rsi + rax*2 - 0x10]"); 0x0041df7f pmovzxwd xmm1, qword [rsi + rax*2 - 0x18] | __asm ("pmovzxwd xmm1, qword [rsi + rax*2 - 0x18]"); 0x0041df86 movdqu xmmword [rdx + rax*4 - 0x20], xmm0 | __asm ("movdqu xmmword [rdx + rax*4 - 0x20], xmm0"); 0x0041df8c movdqu xmmword [rdx + rax*4 - 0x30], xmm1 | __asm ("movdqu xmmword [rdx + rax*4 - 0x30], xmm1"); 0x0041df92 add rax, 0xfffffffffffffff0 | rax += 0xfffffffffffffff0; 0x0041df96 add rbx, 2 | rbx += 2; 0x0041df9a jne 0x41df60 | | } while (rbx != 0); 0x0041df9c neg rax | rax = -rax; 0x0041df9f jmp 0x41e524 | goto label_146; | label_121: 0x0041dfa4 mov rdi, r14 | rdi = r14; 0x0041dfa7 and rdi, 0xfffffffffffffffc | rdi &= 0xfffffffffffffffc; 0x0041dfab lea rax, [rdi - 4] | rax = rdi - 4; 0x0041dfaf mov r11, rax | r11 = rax; 0x0041dfb2 shr r11, 2 | r11 >>= 2; 0x0041dfb6 inc r11 | r11++; 0x0041dfb9 test rax, rax | | if (rax == 0) { 0x0041dfbc je 0x41e406 | goto label_147; | } 0x0041dfc2 shl rdx, 3 | rdx <<= 3; 0x0041dfc6 lea rax, [rdx + r14*8] | rax = rdx + r14*8; 0x0041dfca lea rdx, [rsi + rax - 0x10] | rdx = rsi + rax - 0x10; 0x0041dfcf shl r9, 2 | r9 <<= 2; 0x0041dfd3 lea rax, [r9 + r14*4] | rax = r9 + r14*4; 0x0041dfd7 lea rsi, [r8 + rax - 8] | rsi = r8 + rax - 8; 0x0041dfdc mov rbx, r11 | rbx = r11; 0x0041dfdf and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041dfe3 neg rbx | rbx = -rbx; 0x0041dfe6 xor eax, eax | eax = 0; 0x0041dfe8 nop dword [rax + rax] | | do { 0x0041dff0 pmovzxdq xmm0, qword [rsi + rax*4] | __asm ("pmovzxdq xmm0, qword [rsi + rax*4]"); 0x0041dff6 pmovzxdq xmm1, qword [rsi + rax*4 - 8] | __asm ("pmovzxdq xmm1, qword [rsi + rax*4 - 8]"); 0x0041dffd movdqu xmmword [rdx + rax*8], xmm0 | __asm ("movdqu xmmword [rdx + rax*8], xmm0"); 0x0041e002 movdqu xmmword [rdx + rax*8 - 0x10], xmm1 | __asm ("movdqu xmmword [rdx + rax*8 - 0x10], xmm1"); 0x0041e008 pmovzxdq xmm0, qword [rsi + rax*4 - 0x10] | __asm ("pmovzxdq xmm0, qword [rsi + rax*4 - 0x10]"); 0x0041e00f pmovzxdq xmm1, qword [rsi + rax*4 - 0x18] | __asm ("pmovzxdq xmm1, qword [rsi + rax*4 - 0x18]"); 0x0041e016 movdqu xmmword [rdx + rax*8 - 0x20], xmm0 | __asm ("movdqu xmmword [rdx + rax*8 - 0x20], xmm0"); 0x0041e01c movdqu xmmword [rdx + rax*8 - 0x30], xmm1 | __asm ("movdqu xmmword [rdx + rax*8 - 0x30], xmm1"); 0x0041e022 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041e026 add rbx, 2 | rbx += 2; 0x0041e02a jne 0x41dff0 | | } while (rbx != 0); 0x0041e02c neg rax | rax = -rax; 0x0041e02f jmp 0x41e408 | goto label_148; | label_124: 0x0041e034 mov r10, r14 | r10 = r14; 0x0041e037 and r10, 0xfffffffffffffffc | r10 &= 0xfffffffffffffffc; 0x0041e03b lea rax, [r10 - 4] | rax = r10 - 4; 0x0041e03f mov r11, rax | r11 = rax; 0x0041e042 shr r11, 2 | r11 >>= 2; 0x0041e046 inc r11 | r11++; 0x0041e049 test rax, rax | | if (rax == 0) { 0x0041e04c je 0x41e574 | goto label_149; | } 0x0041e052 add rdx, r14 | rdx += r14; 0x0041e055 lea rax, [rsi + rdx - 2] | rax = rsi + rdx - 2; 0x0041e05a shl r9, 3 | r9 <<= 3; 0x0041e05e lea rdx, [r9 + r14*8] | rdx = r9 + r14*8; 0x0041e062 lea rsi, [r8 + rdx - 0x10] | rsi = r8 + rdx - 0x10; 0x0041e067 mov rbx, r11 | rbx = r11; 0x0041e06a and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041e06e neg rbx | rbx = -rbx; 0x0041e071 xor edx, edx | edx = 0; 0x0041e073 movdqa xmm0, xmmword [rip + 0x41b75] | __asm ("movdqa xmm0, xmmword [0x0045fbf0]"); 0x0041e07b nop dword [rax + rax] | | do { 0x0041e080 movdqu xmm1, xmmword [rsi + rdx*8 - 0x10] | __asm ("movdqu xmm1, xmmword [rsi + rdx*8 - 0x10]"); 0x0041e086 movdqu xmm2, xmmword [rsi + rdx*8] | __asm ("movdqu xmm2, xmmword [rsi + rdx*8]"); 0x0041e08b pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041e090 pextrw word [rax + rdx], xmm2, 0 | __asm ("pextrw word [rax + rdx], xmm2, 0"); 0x0041e097 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041e09c pextrw word [rax + rdx - 2], xmm1, 0 | __asm ("pextrw word [rax + rdx - 2], xmm1, 0"); 0x0041e0a4 movdqu xmm1, xmmword [rsi + rdx*8 - 0x30] | __asm ("movdqu xmm1, xmmword [rsi + rdx*8 - 0x30]"); 0x0041e0aa movdqu xmm2, xmmword [rsi + rdx*8 - 0x20] | __asm ("movdqu xmm2, xmmword [rsi + rdx*8 - 0x20]"); 0x0041e0b0 pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041e0b5 pextrw word [rax + rdx - 4], xmm2, 0 | __asm ("pextrw word [rax + rdx - 4], xmm2, 0"); 0x0041e0bd pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041e0c2 pextrw word [rax + rdx - 6], xmm1, 0 | __asm ("pextrw word [rax + rdx - 6], xmm1, 0"); 0x0041e0ca add rdx, 0xfffffffffffffff8 | rdx += 0xfffffffffffffff8; 0x0041e0ce add rbx, 2 | rbx += 2; 0x0041e0d2 jne 0x41e080 | | } while (rbx != 0); 0x0041e0d4 neg rdx | rdx = -rdx; 0x0041e0d7 jmp 0x41e576 | goto label_150; | label_128: 0x0041e0dc mov rdi, r14 | rdi = r14; 0x0041e0df and rdi, 0xfffffffffffffffc | rdi &= 0xfffffffffffffffc; 0x0041e0e3 lea rax, [rdi - 4] | rax = rdi - 4; 0x0041e0e7 mov r11, rax | r11 = rax; 0x0041e0ea shr r11, 2 | r11 >>= 2; 0x0041e0ee inc r11 | r11++; 0x0041e0f1 test rax, rax | | if (rax == 0) { 0x0041e0f4 je 0x41e5d6 | goto label_151; | } 0x0041e0fa shl rdx, 2 | rdx <<= 2; 0x0041e0fe lea rax, [rdx + r14*4] | rax = rdx + r14*4; 0x0041e102 lea rax, [rsi + rax - 8] | rax = rsi + rax - 8; 0x0041e107 shl r9, 3 | r9 <<= 3; 0x0041e10b lea rdx, [r9 + r14*8] | rdx = r9 + r14*8; 0x0041e10f lea rsi, [r8 + rdx - 0x10] | rsi = r8 + rdx - 0x10; 0x0041e114 mov rbx, r11 | rbx = r11; 0x0041e117 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041e11b neg rbx | rbx = -rbx; 0x0041e11e xor edx, edx | edx = 0; | do { 0x0041e120 movdqu xmm0, xmmword [rsi + rdx*8 - 0x10] | __asm ("movdqu xmm0, xmmword [rsi + rdx*8 - 0x10]"); 0x0041e126 movdqu xmm1, xmmword [rsi + rdx*8] | __asm ("movdqu xmm1, xmmword [rsi + rdx*8]"); 0x0041e12b pshufd xmm1, xmm1, 0xe8 | __asm ("pshufd xmm1, xmm1, 0xe8"); 0x0041e130 pshufd xmm0, xmm0, 0xe8 | __asm ("pshufd xmm0, xmm0, 0xe8"); 0x0041e135 punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041e139 movdqu xmmword [rax + rdx*4 - 8], xmm0 | __asm ("movdqu xmmword [rax + rdx*4 - 8], xmm0"); 0x0041e13f movdqu xmm0, xmmword [rsi + rdx*8 - 0x30] | __asm ("movdqu xmm0, xmmword [rsi + rdx*8 - 0x30]"); 0x0041e145 movdqu xmm1, xmmword [rsi + rdx*8 - 0x20] | __asm ("movdqu xmm1, xmmword [rsi + rdx*8 - 0x20]"); 0x0041e14b pshufd xmm1, xmm1, 0xe8 | __asm ("pshufd xmm1, xmm1, 0xe8"); 0x0041e150 pshufd xmm0, xmm0, 0xe8 | __asm ("pshufd xmm0, xmm0, 0xe8"); 0x0041e155 punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041e159 movdqu xmmword [rax + rdx*4 - 0x18], xmm0 | __asm ("movdqu xmmword [rax + rdx*4 - 0x18], xmm0"); 0x0041e15f add rdx, 0xfffffffffffffff8 | rdx += 0xfffffffffffffff8; 0x0041e163 add rbx, 2 | rbx += 2; 0x0041e167 jne 0x41e120 | | } while (rbx != 0); 0x0041e169 neg rdx | rdx = -rdx; 0x0041e16c jmp 0x41e5d8 | goto label_152; | label_131: 0x0041e171 mov r10, r14 | r10 = r14; 0x0041e174 and r10, 0xfffffffffffffff0 | r10 &= 0xfffffffffffffff0; 0x0041e178 lea rax, [r10 - 0x10] | rax = r10 - 0x10; 0x0041e17c mov r11, rax | r11 = rax; 0x0041e17f shr r11, 4 | r11 >>= 4; 0x0041e183 inc r11 | r11++; 0x0041e186 test rax, rax | | if (rax == 0) { 0x0041e189 je 0x41e637 | goto label_153; | } 0x0041e18f add rdx, r14 | rdx += r14; 0x0041e192 lea rax, [rsi + rdx - 8] | rax = rsi + rdx - 8; 0x0041e197 add r9, r9 | r9 += r9; 0x0041e19a lea rdx, [r9 + r14*2] | rdx = r9 + r14*2; 0x0041e19e lea rsi, [r8 + rdx - 0x10] | rsi = r8 + rdx - 0x10; 0x0041e1a3 mov rbx, r11 | rbx = r11; 0x0041e1a6 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041e1aa neg rbx | rbx = -rbx; 0x0041e1ad xor edx, edx | edx = 0; 0x0041e1af movdqa xmm0, xmmword [rip + 0x41a59] | __asm ("movdqa xmm0, xmmword [0x0045fc10]"); 0x0041e1b7 nop word [rax + rax] | | do { 0x0041e1c0 movdqu xmm1, xmmword [rsi + rdx*2 - 0x10] | __asm ("movdqu xmm1, xmmword [rsi + rdx*2 - 0x10]"); 0x0041e1c6 movdqu xmm2, xmmword [rsi + rdx*2] | __asm ("movdqu xmm2, xmmword [rsi + rdx*2]"); 0x0041e1cb pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041e1d0 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041e1d5 punpcklqdq xmm1, xmm2 | __asm ("punpcklqdq xmm1, xmm2"); 0x0041e1d9 movdqu xmmword [rax + rdx - 8], xmm1 | __asm ("movdqu xmmword [rax + rdx - 8], xmm1"); 0x0041e1df movdqu xmm1, xmmword [rsi + rdx*2 - 0x30] | __asm ("movdqu xmm1, xmmword [rsi + rdx*2 - 0x30]"); 0x0041e1e5 movdqu xmm2, xmmword [rsi + rdx*2 - 0x20] | __asm ("movdqu xmm2, xmmword [rsi + rdx*2 - 0x20]"); 0x0041e1eb pshufb xmm2, xmm0 | __asm ("pshufb xmm2, xmm0"); 0x0041e1f0 pshufb xmm1, xmm0 | __asm ("pshufb xmm1, xmm0"); 0x0041e1f5 punpcklqdq xmm1, xmm2 | __asm ("punpcklqdq xmm1, xmm2"); 0x0041e1f9 movdqu xmmword [rax + rdx - 0x18], xmm1 | __asm ("movdqu xmmword [rax + rdx - 0x18], xmm1"); 0x0041e1ff add rdx, 0xffffffffffffffe0 | rdx += 0xffffffffffffffe0; 0x0041e203 add rbx, 2 | rbx += 2; 0x0041e207 jne 0x41e1c0 | | } while (rbx != 0); 0x0041e209 neg rdx | rdx = -rdx; 0x0041e20c jmp 0x41e639 | goto label_154; | label_133: 0x0041e211 mov r10, r14 | r10 = r14; 0x0041e214 and r10, 0xfffffffffffffffc | r10 &= 0xfffffffffffffffc; 0x0041e218 lea rax, [r10 - 4] | rax = r10 - 4; 0x0041e21c mov r11, rax | r11 = rax; 0x0041e21f shr r11, 2 | r11 >>= 2; 0x0041e223 inc r11 | r11++; 0x0041e226 test rax, rax | | if (rax == 0) { 0x0041e229 je 0x41e68c | goto label_155; | } 0x0041e22f shl rdx, 3 | rdx <<= 3; 0x0041e233 lea rax, [rdx + r14*8] | rax = rdx + r14*8; 0x0041e237 lea rdx, [rsi + rax - 0x10] | rdx = rsi + rax - 0x10; 0x0041e23c add r9, r14 | r9 += r14; 0x0041e23f lea rsi, [r8 + r9 - 2] | rsi = r8 + r9 - 2; 0x0041e244 mov rbx, r11 | rbx = r11; 0x0041e247 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041e24b neg rbx | rbx = -rbx; 0x0041e24e xor eax, eax | eax = 0; | do { 0x0041e250 pmovzxbq xmm0, word [rsi + rax] | __asm ("pmovzxbq xmm0, word [rsi + rax]"); 0x0041e256 pmovzxbq xmm1, word [rsi + rax - 2] | __asm ("pmovzxbq xmm1, word [rsi + rax - 2]"); 0x0041e25d movdqu xmmword [rdx + rax*8], xmm0 | __asm ("movdqu xmmword [rdx + rax*8], xmm0"); 0x0041e262 movdqu xmmword [rdx + rax*8 - 0x10], xmm1 | __asm ("movdqu xmmword [rdx + rax*8 - 0x10], xmm1"); 0x0041e268 pmovzxbq xmm0, word [rsi + rax - 4] | __asm ("pmovzxbq xmm0, word [rsi + rax - 4]"); 0x0041e26f pmovzxbq xmm1, word [rsi + rax - 6] | __asm ("pmovzxbq xmm1, word [rsi + rax - 6]"); 0x0041e276 movdqu xmmword [rdx + rax*8 - 0x20], xmm0 | __asm ("movdqu xmmword [rdx + rax*8 - 0x20], xmm0"); 0x0041e27c movdqu xmmword [rdx + rax*8 - 0x30], xmm1 | __asm ("movdqu xmmword [rdx + rax*8 - 0x30], xmm1"); 0x0041e282 add rax, 0xfffffffffffffff8 | rax += 0xfffffffffffffff8; 0x0041e286 add rbx, 2 | rbx += 2; 0x0041e28a jne 0x41e250 | | } while (rbx != 0); 0x0041e28c neg rax | rax = -rax; 0x0041e28f jmp 0x41e68e | goto label_156; | label_135: 0x0041e294 mov r10, r14 | r10 = r14; 0x0041e297 and r10, 0xfffffffffffffff0 | r10 &= 0xfffffffffffffff0; 0x0041e29b lea rax, [r10 - 0x10] | rax = r10 - 0x10; 0x0041e29f mov r11, rax | r11 = rax; 0x0041e2a2 shr r11, 4 | r11 >>= 4; 0x0041e2a6 inc r11 | r11++; 0x0041e2a9 test rax, rax | | if (rax == 0) { 0x0041e2ac je 0x41e6d6 | goto label_157; | } 0x0041e2b2 add rdx, rdx | rdx += rdx; 0x0041e2b5 lea rax, [rdx + r14*2] | rax = rdx + r14*2; 0x0041e2b9 lea rdx, [rsi + rax - 0x10] | rdx = rsi + rax - 0x10; 0x0041e2be add r9, r14 | r9 += r14; 0x0041e2c1 lea rsi, [r8 + r9 - 8] | rsi = r8 + r9 - 8; 0x0041e2c6 mov rbx, r11 | rbx = r11; 0x0041e2c9 and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041e2cd neg rbx | rbx = -rbx; 0x0041e2d0 xor eax, eax | eax = 0; 0x0041e2d2 nop word cs:[rax + rax] | 0x0041e2dc nop dword [rax] | | do { 0x0041e2e0 pmovzxbw xmm0, qword [rsi + rax] | __asm ("pmovzxbw xmm0, qword [rsi + rax]"); 0x0041e2e6 pmovzxbw xmm1, qword [rsi + rax - 8] | __asm ("pmovzxbw xmm1, qword [rsi + rax - 8]"); 0x0041e2ed movdqu xmmword [rdx + rax*2], xmm0 | __asm ("movdqu xmmword [rdx + rax*2], xmm0"); 0x0041e2f2 movdqu xmmword [rdx + rax*2 - 0x10], xmm1 | __asm ("movdqu xmmword [rdx + rax*2 - 0x10], xmm1"); 0x0041e2f8 pmovzxbw xmm0, qword [rsi + rax - 0x10] | __asm ("pmovzxbw xmm0, qword [rsi + rax - 0x10]"); 0x0041e2ff pmovzxbw xmm1, qword [rsi + rax - 0x18] | __asm ("pmovzxbw xmm1, qword [rsi + rax - 0x18]"); 0x0041e306 movdqu xmmword [rdx + rax*2 - 0x20], xmm0 | __asm ("movdqu xmmword [rdx + rax*2 - 0x20], xmm0"); 0x0041e30c movdqu xmmword [rdx + rax*2 - 0x30], xmm1 | __asm ("movdqu xmmword [rdx + rax*2 - 0x30], xmm1"); 0x0041e312 add rax, 0xffffffffffffffe0 | rax += 0xffffffffffffffe0; 0x0041e316 add rbx, 2 | rbx += 2; 0x0041e31a jne 0x41e2e0 | | } while (rbx != 0); 0x0041e31c neg rax | rax = -rax; 0x0041e31f jmp 0x41e6d8 | goto label_158; | label_137: 0x0041e324 mov r10, r14 | r10 = r14; 0x0041e327 and r10, 0xfffffffffffffff8 | r10 &= 0xfffffffffffffff8; 0x0041e32b lea rax, [r10 - 8] | rax = r10 - 8; 0x0041e32f mov r11, rax | r11 = rax; 0x0041e332 shr r11, 3 | r11 >>= 3; 0x0041e336 inc r11 | r11++; 0x0041e339 test rax, rax | | if (rax == 0) { 0x0041e33c je 0x41e717 | goto label_159; | } 0x0041e342 shl rdx, 2 | rdx <<= 2; 0x0041e346 lea rax, [rdx + r14*4] | rax = rdx + r14*4; 0x0041e34a lea rdx, [rsi + rax - 0x10] | rdx = rsi + rax - 0x10; 0x0041e34f add r9, r14 | r9 += r14; 0x0041e352 lea rsi, [r8 + r9 - 4] | rsi = r8 + r9 - 4; 0x0041e357 mov rbx, r11 | rbx = r11; 0x0041e35a and rbx, 0xfffffffffffffffe | rbx &= 0xfffffffffffffffe; 0x0041e35e neg rbx | rbx = -rbx; 0x0041e361 xor eax, eax | eax = 0; 0x0041e363 nop word cs:[rax + rax] | 0x0041e36d nop dword [rax] | | do { 0x0041e370 pmovzxbd xmm0, dword [rsi + rax] | __asm ("pmovzxbd xmm0, dword [rsi + rax]"); 0x0041e376 pmovzxbd xmm1, dword [rsi + rax - 4] | __asm ("pmovzxbd xmm1, dword [rsi + rax - 4]"); 0x0041e37d movdqu xmmword [rdx + rax*4], xmm0 | __asm ("movdqu xmmword [rdx + rax*4], xmm0"); 0x0041e382 movdqu xmmword [rdx + rax*4 - 0x10], xmm1 | __asm ("movdqu xmmword [rdx + rax*4 - 0x10], xmm1"); 0x0041e388 pmovzxbd xmm0, dword [rsi + rax - 8] | __asm ("pmovzxbd xmm0, dword [rsi + rax - 8]"); 0x0041e38f pmovzxbd xmm1, dword [rsi + rax - 0xc] | __asm ("pmovzxbd xmm1, dword [rsi + rax - 0xc]"); 0x0041e396 movdqu xmmword [rdx + rax*4 - 0x20], xmm0 | __asm ("movdqu xmmword [rdx + rax*4 - 0x20], xmm0"); 0x0041e39c movdqu xmmword [rdx + rax*4 - 0x30], xmm1 | __asm ("movdqu xmmword [rdx + rax*4 - 0x30], xmm1"); 0x0041e3a2 add rax, 0xfffffffffffffff0 | rax += 0xfffffffffffffff0; 0x0041e3a6 add rbx, 2 | rbx += 2; 0x0041e3aa jne 0x41e370 | | } while (rbx != 0); 0x0041e3ac neg rax | rax = -rax; 0x0041e3af jmp 0x41e719 | goto label_160; | label_141: 0x0041e3b4 xor eax, eax | eax = 0; | label_142: 0x0041e3b6 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e3ba je 0x41e3e6 | 0x0041e3bc lea rdx, [rax + rax] | rdx = rax + rax; 0x0041e3c0 mov rsi, rdi | rsi = rdi; 0x0041e3c3 sub rsi, rdx | rsi -= rdx; 0x0041e3c6 shl rax, 3 | rax <<= 3; 0x0041e3ca mov rdx, rcx | rdx = rcx; 0x0041e3cd sub rdx, rax | rdx -= rax; 0x0041e3d0 pmovzxwq xmm0, dword [rsi - 4] | __asm ("pmovzxwq xmm0, dword [rsi - 4]"); 0x0041e3d6 pmovzxwq xmm1, dword [rsi - 8] | __asm ("pmovzxwq xmm1, dword [rsi - 8]"); 0x0041e3dc movdqu xmmword [rdx - 0x10], xmm0 | __asm ("movdqu xmmword [rdx - 0x10], xmm0"); 0x0041e3e1 movdqu xmmword [rdx - 0x20], xmm1 | __asm ("movdqu xmmword [rdx - 0x20], xmm1"); | } 0x0041e3e6 cmp r10, r14 | | if (r10 != r14) { 0x0041e3e9 je 0x41e74a | 0x0041e3ef lea rax, [r10 + r10] | rax = r10 + r10; 0x0041e3f3 lea rdx, [r10*8] | rdx = r10*8; 0x0041e3fb sub rdi, rax | rdi -= rax; 0x0041e3fe sub rcx, rdx | rcx -= rdx; 0x0041e401 jmp 0x41d34e | goto label_17; | label_147: 0x0041e406 xor eax, eax | eax = 0; | label_148: 0x0041e408 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e40c je 0x41e43c | 0x0041e40e lea rdx, [rax*4] | rdx = rax*4; 0x0041e416 mov rsi, rcx | rsi = rcx; 0x0041e419 sub rsi, rdx | rsi -= rdx; 0x0041e41c shl rax, 3 | rax <<= 3; 0x0041e420 mov rdx, r10 | rdx = r10; 0x0041e423 sub rdx, rax | rdx -= rax; 0x0041e426 pmovzxdq xmm0, qword [rsi - 8] | __asm ("pmovzxdq xmm0, qword [rsi - 8]"); 0x0041e42c pmovzxdq xmm1, qword [rsi - 0x10] | __asm ("pmovzxdq xmm1, qword [rsi - 0x10]"); 0x0041e432 movdqu xmmword [rdx - 0x10], xmm0 | __asm ("movdqu xmmword [rdx - 0x10], xmm0"); 0x0041e437 movdqu xmmword [rdx - 0x20], xmm1 | __asm ("movdqu xmmword [rdx - 0x20], xmm1"); | } 0x0041e43c cmp rdi, r14 | | if (rdi == r14) { 0x0041e43f je 0x41e74a | goto label_106; | } 0x0041e445 lea rax, [rdi*4] | rax = rdi*4; 0x0041e44d lea rdx, [rdi*8] | rdx = rdi*8; 0x0041e455 sub rcx, rax | rcx -= rax; 0x0041e458 sub r10, rdx | r10 -= rdx; 0x0041e45b jmp 0x41d635 | goto label_18; | label_139: 0x0041e460 xor edx, edx | edx = 0; | label_140: 0x0041e462 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e466 je 0x41e4a2 | 0x0041e468 lea rax, [rdx*4] | rax = rdx*4; 0x0041e470 mov rsi, rdi | rsi = rdi; 0x0041e473 sub rsi, rax | rsi -= rax; 0x0041e476 mov rax, rcx | rax = rcx; 0x0041e479 sub rax, rdx | rax -= rdx; 0x0041e47c movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041e481 movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041e486 movdqa xmm2, xmmword [rip + 0x41772] | __asm ("movdqa xmm2, xmmword [0x0045fc00]"); 0x0041e48e pshufb xmm1, xmm2 | __asm ("pshufb xmm1, xmm2"); 0x0041e493 movd dword [rax - 4], xmm1 | *((rax - 4)) = xmm1; 0x0041e498 pshufb xmm0, xmm2 | __asm ("pshufb xmm0, xmm2"); 0x0041e49d movd dword [rax - 8], xmm0 | *((rax - 8)) = xmm0; | } 0x0041e4a2 cmp r10, r14 | | if (r10 == r14) { 0x0041e4a5 je 0x41e74a | goto label_106; | } 0x0041e4ab lea rax, [r10*4] | rax = r10*4; 0x0041e4b3 sub rdi, rax | rdi -= rax; 0x0041e4b6 sub rcx, r10 | rcx -= r10; 0x0041e4b9 jmp 0x41d24e | goto label_19; | label_143: 0x0041e4be xor edx, edx | edx = 0; | label_144: 0x0041e4c0 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e4c4 je 0x41e502 | 0x0041e4c6 lea rax, [rdx*4] | rax = rdx*4; 0x0041e4ce mov rsi, rdi | rsi = rdi; 0x0041e4d1 sub rsi, rax | rsi -= rax; 0x0041e4d4 add rdx, rdx | rdx += rdx; 0x0041e4d7 mov rax, rcx | rax = rcx; 0x0041e4da sub rax, rdx | rax -= rdx; 0x0041e4dd movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041e4e2 movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041e4e7 movdqa xmm2, xmmword [rip + 0x416d1] | __asm ("movdqa xmm2, xmmword [0x0045fbc0]"); 0x0041e4ef pshufb xmm1, xmm2 | __asm ("pshufb xmm1, xmm2"); 0x0041e4f4 pshufb xmm0, xmm2 | __asm ("pshufb xmm0, xmm2"); 0x0041e4f9 punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041e4fd movdqu xmmword [rax - 0x10], xmm0 | __asm ("movdqu xmmword [rax - 0x10], xmm0"); | } 0x0041e502 cmp r10, r14 | | if (r10 == r14) { 0x0041e505 je 0x41e74a | goto label_106; | } 0x0041e50b lea rax, [r10*4] | rax = r10*4; 0x0041e513 lea rdx, [r10 + r10] | rdx = r10 + r10; 0x0041e517 sub rdi, rax | rdi -= rax; 0x0041e51a sub rcx, rdx | rcx -= rdx; 0x0041e51d jmp 0x41d456 | goto label_20; | label_145: 0x0041e522 xor eax, eax | eax = 0; | label_146: 0x0041e524 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e528 je 0x41e554 | 0x0041e52a lea rdx, [rax + rax] | rdx = rax + rax; 0x0041e52e mov rsi, rdi | rsi = rdi; 0x0041e531 sub rsi, rdx | rsi -= rdx; 0x0041e534 shl rax, 2 | rax <<= 2; 0x0041e538 mov rdx, rcx | rdx = rcx; 0x0041e53b sub rdx, rax | rdx -= rax; 0x0041e53e pmovzxwd xmm0, qword [rsi - 8] | __asm ("pmovzxwd xmm0, qword [rsi - 8]"); 0x0041e544 pmovzxwd xmm1, qword [rsi - 0x10] | __asm ("pmovzxwd xmm1, qword [rsi - 0x10]"); 0x0041e54a movdqu xmmword [rdx - 0x10], xmm0 | __asm ("movdqu xmmword [rdx - 0x10], xmm0"); 0x0041e54f movdqu xmmword [rdx - 0x20], xmm1 | __asm ("movdqu xmmword [rdx - 0x20], xmm1"); | } 0x0041e554 cmp r10, r14 | | if (r10 == r14) { 0x0041e557 je 0x41e74a | goto label_106; | } 0x0041e55d lea rax, [r10 + r10] | rax = r10 + r10; 0x0041e561 lea rdx, [r10*4] | rdx = r10*4; 0x0041e569 sub rdi, rax | rdi -= rax; 0x0041e56c sub rcx, rdx | rcx -= rdx; 0x0041e56f jmp 0x41d556 | goto label_21; | label_149: 0x0041e574 xor edx, edx | edx = 0; | label_150: 0x0041e576 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e57a je 0x41e5ba | 0x0041e57c lea rax, [rdx*8] | rax = rdx*8; 0x0041e584 mov rsi, rdi | rsi = rdi; 0x0041e587 sub rsi, rax | rsi -= rax; 0x0041e58a mov rax, rcx | rax = rcx; 0x0041e58d sub rax, rdx | rax -= rdx; 0x0041e590 movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041e595 movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041e59a movdqa xmm2, xmmword [rip + 0x4164e] | __asm ("movdqa xmm2, xmmword [0x0045fbf0]"); 0x0041e5a2 pshufb xmm1, xmm2 | __asm ("pshufb xmm1, xmm2"); 0x0041e5a7 pextrw word [rax - 2], xmm1, 0 | __asm ("pextrw word [rax - 2], xmm1, 0"); 0x0041e5ae pshufb xmm0, xmm2 | __asm ("pshufb xmm0, xmm2"); 0x0041e5b3 pextrw word [rax - 4], xmm0, 0 | __asm ("pextrw word [rax - 4], xmm0, 0"); | } 0x0041e5ba cmp r10, r14 | | if (r10 == r14) { 0x0041e5bd je 0x41e74a | goto label_106; | } 0x0041e5c3 lea rax, [r10*8] | rax = r10*8; 0x0041e5cb sub rdi, rax | rdi -= rax; 0x0041e5ce sub rcx, r10 | rcx -= r10; 0x0041e5d1 jmp 0x41d6bc | goto label_22; | label_151: 0x0041e5d6 xor edx, edx | edx = 0; | label_152: 0x0041e5d8 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e5dc je 0x41e613 | 0x0041e5de lea rax, [rdx*8] | rax = rdx*8; 0x0041e5e6 mov rsi, r10 | rsi = r10; 0x0041e5e9 sub rsi, rax | rsi -= rax; 0x0041e5ec shl rdx, 2 | rdx <<= 2; 0x0041e5f0 mov rax, rcx | rax = rcx; 0x0041e5f3 sub rax, rdx | rax -= rdx; 0x0041e5f6 movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041e5fb movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041e600 pshufd xmm1, xmm1, 0xe8 | __asm ("pshufd xmm1, xmm1, 0xe8"); 0x0041e605 pshufd xmm0, xmm0, 0xe8 | __asm ("pshufd xmm0, xmm0, 0xe8"); 0x0041e60a punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041e60e movdqu xmmword [rax - 0x10], xmm0 | __asm ("movdqu xmmword [rax - 0x10], xmm0"); | } 0x0041e613 cmp rdi, r14 | | if (rdi == r14) { 0x0041e616 je 0x41e74a | goto label_106; | } 0x0041e61c lea rax, [rdi*8] | rax = rdi*8; 0x0041e624 lea rdx, [rdi*4] | rdx = rdi*4; 0x0041e62c sub r10, rax | r10 -= rax; 0x0041e62f sub rcx, rdx | rcx -= rdx; 0x0041e632 jmp 0x41d7d3 | goto label_23; | label_153: 0x0041e637 xor edx, edx | edx = 0; | label_154: 0x0041e639 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e63d je 0x41e674 | 0x0041e63f lea rax, [rdx + rdx] | rax = rdx + rdx; 0x0041e643 mov rsi, rdi | rsi = rdi; 0x0041e646 sub rsi, rax | rsi -= rax; 0x0041e649 mov rax, rcx | rax = rcx; 0x0041e64c sub rax, rdx | rax -= rdx; 0x0041e64f movdqu xmm0, xmmword [rsi - 0x20] | __asm ("movdqu xmm0, xmmword [rsi - 0x20]"); 0x0041e654 movdqu xmm1, xmmword [rsi - 0x10] | __asm ("movdqu xmm1, xmmword [rsi - 0x10]"); 0x0041e659 movdqa xmm2, xmmword [rip + 0x415af] | __asm ("movdqa xmm2, xmmword [0x0045fc10]"); 0x0041e661 pshufb xmm1, xmm2 | __asm ("pshufb xmm1, xmm2"); 0x0041e666 pshufb xmm0, xmm2 | __asm ("pshufb xmm0, xmm2"); 0x0041e66b punpcklqdq xmm0, xmm1 | __asm ("punpcklqdq xmm0, xmm1"); 0x0041e66f movdqu xmmword [rax - 0x10], xmm0 | __asm ("movdqu xmmword [rax - 0x10], xmm0"); | } 0x0041e674 cmp r10, r14 | | if (r10 == r14) { 0x0041e677 je 0x41e74a | goto label_106; | } 0x0041e67d lea rax, [r10 + r10] | rax = r10 + r10; 0x0041e681 sub rdi, rax | rdi -= rax; 0x0041e684 sub rcx, r10 | rcx -= r10; 0x0041e687 jmp 0x41d85c | goto label_24; | label_155: 0x0041e68c xor eax, eax | eax = 0; | label_156: 0x0041e68e test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e692 je 0x41e6ba | 0x0041e694 mov rdx, rdi | rdx = rdi; 0x0041e697 sub rdx, rax | rdx -= rax; 0x0041e69a shl rax, 3 | rax <<= 3; 0x0041e69e mov rsi, rcx | rsi = rcx; 0x0041e6a1 sub rsi, rax | rsi -= rax; 0x0041e6a4 pmovzxbq xmm0, word [rdx - 2] | __asm ("pmovzxbq xmm0, word [rdx - 2]"); 0x0041e6aa pmovzxbq xmm1, word [rdx - 4] | __asm ("pmovzxbq xmm1, word [rdx - 4]"); 0x0041e6b0 movdqu xmmword [rsi - 0x10], xmm0 | __asm ("movdqu xmmword [rsi - 0x10], xmm0"); 0x0041e6b5 movdqu xmmword [rsi - 0x20], xmm1 | __asm ("movdqu xmmword [rsi - 0x20], xmm1"); | } 0x0041e6ba cmp r10, r14 | | if (r10 == r14) { 0x0041e6bd je 0x41e74a | goto label_106; | } 0x0041e6c3 lea rax, [r10*8] | rax = r10*8; 0x0041e6cb sub rdi, r10 | rdi -= r10; 0x0041e6ce sub rcx, rax | rcx -= rax; 0x0041e6d1 jmp 0x41d93e | goto label_25; | label_157: 0x0041e6d6 xor eax, eax | eax = 0; | label_158: 0x0041e6d8 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e6dc je 0x41e703 | 0x0041e6de mov rdx, rdi | rdx = rdi; 0x0041e6e1 sub rdx, rax | rdx -= rax; 0x0041e6e4 add rax, rax | rax += rax; 0x0041e6e7 mov rsi, rcx | rsi = rcx; 0x0041e6ea sub rsi, rax | rsi -= rax; 0x0041e6ed pmovzxbw xmm0, qword [rdx - 8] | __asm ("pmovzxbw xmm0, qword [rdx - 8]"); 0x0041e6f3 pmovzxbw xmm1, qword [rdx - 0x10] | __asm ("pmovzxbw xmm1, qword [rdx - 0x10]"); 0x0041e6f9 movdqu xmmword [rsi - 0x10], xmm0 | __asm ("movdqu xmmword [rsi - 0x10], xmm0"); 0x0041e6fe movdqu xmmword [rsi - 0x20], xmm1 | __asm ("movdqu xmmword [rsi - 0x20], xmm1"); | } 0x0041e703 cmp r10, r14 | | if (r10 == r14) { 0x0041e706 je 0x41e74a | goto label_106; | } 0x0041e708 lea rax, [r10 + r10] | rax = r10 + r10; 0x0041e70c sub rdi, r10 | rdi -= r10; 0x0041e70f sub rcx, rax | rcx -= rax; 0x0041e712 jmp 0x41da26 | goto label_26; | label_159: 0x0041e717 xor eax, eax | eax = 0; | label_160: 0x0041e719 test r11b, 1 | | if ((r11b & 1) != 0) { 0x0041e71d je 0x41e745 | 0x0041e71f mov rdx, rdi | rdx = rdi; 0x0041e722 sub rdx, rax | rdx -= rax; 0x0041e725 shl rax, 2 | rax <<= 2; 0x0041e729 mov rsi, rcx | rsi = rcx; 0x0041e72c sub rsi, rax | rsi -= rax; 0x0041e72f pmovzxbd xmm0, dword [rdx - 4] | __asm ("pmovzxbd xmm0, dword [rdx - 4]"); 0x0041e735 pmovzxbd xmm1, dword [rdx - 8] | __asm ("pmovzxbd xmm1, dword [rdx - 8]"); 0x0041e73b movdqu xmmword [rsi - 0x10], xmm0 | __asm ("movdqu xmmword [rsi - 0x10], xmm0"); 0x0041e740 movdqu xmmword [rsi - 0x20], xmm1 | __asm ("movdqu xmmword [rsi - 0x20], xmm1"); | } 0x0041e745 cmp r10, r14 | | if (r10 != r14) { 0x0041e748 jne 0x41e750 | goto label_161; | } | } | label_106: 0x0041e74a pop rbx | 0x0041e74b pop r14 | 0x0041e74d pop r15 | 0x0041e74f ret | return rax; | label_161: 0x0041e750 lea rax, [r10*4] | rax = r10*4; 0x0041e758 sub rdi, r10 | rdi -= r10; 0x0041e75b sub rcx, rax | rcx -= rax; 0x0041e75e jmp 0x41db06 | goto label_27; 0x0041e763 nop word cs:[rax + rax] | 0x0041e76d nop dword [rax] | 0x0041e77c mov rax, qword [rdi] | rax = *(rdi); 0x0041e77f mov byte [rax + rsi], dl | *((rax + rsi)) = dl; 0x0041e782 ret | return rax; 0x0041e783 mov rax, qword [rdi] | rax = *(rdi); 0x0041e786 mov qword [rax + rsi*8], rdx | *((rax + rsi*8)) = rdx; 0x0041e78a ret | return rax; 0x0041e78b mov rax, qword [rdi] | rax = *(rdi); 0x0041e78e mov word [rax + rsi*2], dx | *((rax + rsi*2)) = dx; 0x0041e792 ret | return rax; 0x0041e793 mov rax, qword [rdi] | rax = *(rdi); 0x0041e796 mov dword [rax + rsi*4], edx | *((rax + rsi*4)) = edx; 0x0041e799 ret | return rax; 0x0041e79a nop word [rax + rax] | 0x0041e7c3 mov rdx, qword [rdi] | rdx = *(rdi); 0x0041e7c6 cmp eax, 8 | | if (eax == 8) { 0x0041e7c9 je 0x41e942 | goto label_162; | } 0x0041e7cf cmp eax, 4 | | if (eax != 4) { 0x0041e7d2 jne 0x41ea01 | goto label_163; | } 0x0041e7d8 test rcx, rcx | | if (rcx == 0) { 0x0041e7db je 0x41eada | goto label_164; | } 0x0041e7e1 mov r8, qword [rsi] | r8 = *(rsi); 0x0041e7e4 dec rcx | rcx--; 0x0041e7e7 xor edi, edi | edi = 0; 0x0041e7e9 nop dword [rax] | | do { 0x0041e7f0 movzx eax, byte [rdx + rdi] | eax = *((rdx + rdi)); 0x0041e7f4 cmp dword [r8 + rdi*4], eax | 0x0041e7f8 sete al | al = (*((r8 + rdi*4)) == eax) ? 1 : 0; | if (*((r8 + rdi*4)) != eax) { 0x0041e7fb jne 0x41ead9 | goto label_165; | } 0x0041e801 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041e805 cmp rcx, rdi | 0x0041e808 mov rdi, rsi | rdi = rsi; 0x0041e80b jne 0x41e7f0 | | } while (rcx != rdi); 0x0041e80d jmp 0x41ead9 | goto label_165; 0x0041e812 mov rdx, qword [rdi] | rdx = *(rdi); 0x0041e815 cmp eax, 4 | | if (eax == 4) { 0x0041e818 je 0x41e902 | goto label_166; | } 0x0041e81e cmp eax, 2 | | if (eax != 2) { 0x0041e821 jne 0x41ea43 | goto label_167; | } 0x0041e827 test rcx, rcx | | if (rcx == 0) { 0x0041e82a je 0x41eada | goto label_164; | } 0x0041e830 mov r8, qword [rsi] | r8 = *(rsi); 0x0041e833 dec rcx | rcx--; 0x0041e836 xor edi, edi | edi = 0; 0x0041e838 nop dword [rax + rax] | | do { 0x0041e840 movzx eax, word [r8 + rdi*2] | eax = *((r8 + rdi*2)); 0x0041e845 cmp qword [rdx + rdi*8], rax | 0x0041e849 sete al | al = (*((rdx + rdi*8)) == rax) ? 1 : 0; | if (*((rdx + rdi*8)) != rax) { 0x0041e84c jne 0x41ead9 | goto label_165; | } 0x0041e852 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041e856 cmp rcx, rdi | 0x0041e859 mov rdi, rsi | rdi = rsi; 0x0041e85c jne 0x41e840 | | } while (rcx != rdi); 0x0041e85e jmp 0x41ead9 | goto label_165; 0x0041e863 mov rdx, qword [rdi] | rdx = *(rdi); 0x0041e866 cmp eax, 8 | | if (eax == 8) { 0x0041e869 je 0x41e982 | goto label_168; | } 0x0041e86f cmp eax, 4 | | if (eax != 4) { 0x0041e872 jne 0x41ea7c | goto label_169; | } 0x0041e878 test rcx, rcx | | if (rcx == 0) { 0x0041e87b je 0x41eada | goto label_164; | } 0x0041e881 mov r8, qword [rsi] | r8 = *(rsi); 0x0041e884 dec rcx | rcx--; 0x0041e887 xor edi, edi | edi = 0; 0x0041e889 nop dword [rax] | | do { 0x0041e890 movzx eax, word [rdx + rdi*2] | eax = *((rdx + rdi*2)); 0x0041e894 cmp dword [r8 + rdi*4], eax | 0x0041e898 sete al | al = (*((r8 + rdi*4)) == eax) ? 1 : 0; | if (*((r8 + rdi*4)) != eax) { 0x0041e89b jne 0x41ead9 | goto label_165; | } 0x0041e8a1 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041e8a5 cmp rcx, rdi | 0x0041e8a8 mov rdi, rsi | rdi = rsi; 0x0041e8ab jne 0x41e890 | | } while (rcx != rdi); 0x0041e8ad jmp 0x41ead9 | goto label_165; 0x0041e8b2 mov rdx, qword [rdi] | rdx = *(rdi); 0x0041e8b5 cmp eax, 8 | | if (eax == 8) { 0x0041e8b8 je 0x41e9c2 | goto label_170; | } 0x0041e8be cmp eax, 2 | | if (eax != 2) { 0x0041e8c1 jne 0x41eaac | goto label_171; | } 0x0041e8c7 test rcx, rcx | | if (rcx == 0) { 0x0041e8ca je 0x41eada | goto label_164; | } 0x0041e8d0 mov r8, qword [rsi] | r8 = *(rsi); 0x0041e8d3 dec rcx | rcx--; 0x0041e8d6 xor edi, edi | edi = 0; 0x0041e8d8 nop dword [rax + rax] | | do { 0x0041e8e0 movzx eax, word [r8 + rdi*2] | eax = *((r8 + rdi*2)); 0x0041e8e5 cmp dword [rdx + rdi*4], eax | 0x0041e8e8 sete al | al = (*((rdx + rdi*4)) == eax) ? 1 : 0; | if (*((rdx + rdi*4)) != eax) { 0x0041e8eb jne 0x41ead9 | goto label_165; | } 0x0041e8f1 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041e8f5 cmp rcx, rdi | 0x0041e8f8 mov rdi, rsi | rdi = rsi; 0x0041e8fb jne 0x41e8e0 | | } while (rcx != rdi); 0x0041e8fd jmp 0x41ead9 | goto label_165; | label_166: 0x0041e902 test rcx, rcx | | if (rcx == 0) { 0x0041e905 je 0x41eada | goto label_164; | } 0x0041e90b mov r8, qword [rsi] | r8 = *(rsi); 0x0041e90e dec rcx | rcx--; 0x0041e911 xor edi, edi | edi = 0; 0x0041e913 nop word cs:[rax + rax] | 0x0041e91d nop dword [rax] | | do { 0x0041e920 mov eax, dword [r8 + rdi*4] | eax = *((r8 + rdi*4)); 0x0041e924 cmp qword [rdx + rdi*8], rax | 0x0041e928 sete al | al = (*((rdx + rdi*8)) == rax) ? 1 : 0; | if (*((rdx + rdi*8)) != rax) { 0x0041e92b jne 0x41ead9 | goto label_165; | } 0x0041e931 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041e935 cmp rcx, rdi | 0x0041e938 mov rdi, rsi | rdi = rsi; 0x0041e93b jne 0x41e920 | | } while (rcx != rdi); 0x0041e93d jmp 0x41ead9 | goto label_165; | label_162: 0x0041e942 test rcx, rcx | | if (rcx == 0) { 0x0041e945 je 0x41eada | goto label_164; | } 0x0041e94b mov r8, qword [rsi] | r8 = *(rsi); 0x0041e94e dec rcx | rcx--; 0x0041e951 xor edi, edi | edi = 0; 0x0041e953 nop word cs:[rax + rax] | 0x0041e95d nop dword [rax] | | do { 0x0041e960 movzx eax, byte [rdx + rdi] | eax = *((rdx + rdi)); 0x0041e964 cmp qword [r8 + rdi*8], rax | 0x0041e968 sete al | al = (*((r8 + rdi*8)) == rax) ? 1 : 0; | if (*((r8 + rdi*8)) != rax) { 0x0041e96b jne 0x41ead9 | goto label_165; | } 0x0041e971 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041e975 cmp rcx, rdi | 0x0041e978 mov rdi, rsi | rdi = rsi; 0x0041e97b jne 0x41e960 | | } while (rcx != rdi); 0x0041e97d jmp 0x41ead9 | goto label_165; | label_168: 0x0041e982 test rcx, rcx | | if (rcx == 0) { 0x0041e985 je 0x41eada | goto label_164; | } 0x0041e98b mov r8, qword [rsi] | r8 = *(rsi); 0x0041e98e dec rcx | rcx--; 0x0041e991 xor edi, edi | edi = 0; 0x0041e993 nop word cs:[rax + rax] | 0x0041e99d nop dword [rax] | | do { 0x0041e9a0 movzx eax, word [rdx + rdi*2] | eax = *((rdx + rdi*2)); 0x0041e9a4 cmp qword [r8 + rdi*8], rax | 0x0041e9a8 sete al | al = (*((r8 + rdi*8)) == rax) ? 1 : 0; | if (*((r8 + rdi*8)) != rax) { 0x0041e9ab jne 0x41ead9 | goto label_165; | } 0x0041e9b1 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041e9b5 cmp rcx, rdi | 0x0041e9b8 mov rdi, rsi | rdi = rsi; 0x0041e9bb jne 0x41e9a0 | | } while (rcx != rdi); 0x0041e9bd jmp 0x41ead9 | goto label_165; | label_170: 0x0041e9c2 test rcx, rcx | | if (rcx == 0) { 0x0041e9c5 je 0x41eada | goto label_164; | } 0x0041e9cb mov r8, qword [rsi] | r8 = *(rsi); 0x0041e9ce dec rcx | rcx--; 0x0041e9d1 xor edi, edi | edi = 0; 0x0041e9d3 nop word cs:[rax + rax] | 0x0041e9dd nop dword [rax] | | do { 0x0041e9e0 mov eax, dword [rdx + rdi*4] | eax = *((rdx + rdi*4)); 0x0041e9e3 cmp qword [r8 + rdi*8], rax | 0x0041e9e7 sete al | al = (*((r8 + rdi*8)) == rax) ? 1 : 0; | if (*((r8 + rdi*8)) != rax) { 0x0041e9ea jne 0x41ead9 | goto label_165; | } 0x0041e9f0 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041e9f4 cmp rcx, rdi | 0x0041e9f7 mov rdi, rsi | rdi = rsi; 0x0041e9fa jne 0x41e9e0 | | } while (rcx != rdi); 0x0041e9fc jmp 0x41ead9 | goto label_165; | label_163: 0x0041ea01 test rcx, rcx | | if (rcx == 0) { 0x0041ea04 je 0x41eada | goto label_164; | } 0x0041ea0a mov r8, qword [rsi] | r8 = *(rsi); 0x0041ea0d dec rcx | rcx--; 0x0041ea10 xor edi, edi | edi = 0; 0x0041ea12 nop word cs:[rax + rax] | 0x0041ea1c nop dword [rax] | | do { 0x0041ea20 movzx eax, byte [rdx + rdi] | eax = *((rdx + rdi)); 0x0041ea24 cmp word [r8 + rdi*2], ax | 0x0041ea29 sete al | al = (*((r8 + rdi*2)) == ax) ? 1 : 0; | if (*((r8 + rdi*2)) != ax) { 0x0041ea2c jne 0x41ead9 | goto label_165; | } 0x0041ea32 lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041ea36 cmp rcx, rdi | 0x0041ea39 mov rdi, rsi | rdi = rsi; 0x0041ea3c jne 0x41ea20 | | } while (rcx != rdi); 0x0041ea3e jmp 0x41ead9 | goto label_165; | label_167: 0x0041ea43 test rcx, rcx | | if (rcx == 0) { 0x0041ea46 je 0x41eada | goto label_164; | } 0x0041ea4c mov r8, qword [rsi] | r8 = *(rsi); 0x0041ea4f dec rcx | rcx--; 0x0041ea52 xor edi, edi | edi = 0; 0x0041ea54 nop word cs:[rax + rax] | 0x0041ea5e nop | | do { 0x0041ea60 movzx eax, byte [r8 + rdi] | eax = *((r8 + rdi)); 0x0041ea65 cmp qword [rdx + rdi*8], rax | 0x0041ea69 sete al | al = (*((rdx + rdi*8)) == rax) ? 1 : 0; | if (*((rdx + rdi*8)) != rax) { 0x0041ea6c jne 0x41ead9 | goto label_165; | } 0x0041ea6e lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041ea72 cmp rcx, rdi | 0x0041ea75 mov rdi, rsi | rdi = rsi; 0x0041ea78 jne 0x41ea60 | | } while (rcx != rdi); 0x0041ea7a jmp 0x41ead9 | goto label_165; | label_169: 0x0041ea7c test rcx, rcx | | if (rcx == 0) { 0x0041ea7f je 0x41eada | goto label_164; | } 0x0041ea81 mov r8, qword [rsi] | r8 = *(rsi); 0x0041ea84 dec rcx | rcx--; 0x0041ea87 xor edi, edi | edi = 0; 0x0041ea89 nop dword [rax] | | do { 0x0041ea90 movzx eax, byte [r8 + rdi] | eax = *((r8 + rdi)); 0x0041ea95 cmp word [rdx + rdi*2], ax | 0x0041ea99 sete al | al = (*((rdx + rdi*2)) == ax) ? 1 : 0; | if (*((rdx + rdi*2)) != ax) { 0x0041ea9c jne 0x41ead9 | goto label_165; | } 0x0041ea9e lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041eaa2 cmp rcx, rdi | 0x0041eaa5 mov rdi, rsi | rdi = rsi; 0x0041eaa8 jne 0x41ea90 | | } while (rcx != rdi); 0x0041eaaa jmp 0x41ead9 | goto label_165; | label_171: 0x0041eaac test rcx, rcx | | if (rcx == 0) { 0x0041eaaf je 0x41eada | goto label_164; | } 0x0041eab1 mov r8, qword [rsi] | r8 = *(rsi); 0x0041eab4 dec rcx | rcx--; 0x0041eab7 xor edi, edi | edi = 0; 0x0041eab9 nop dword [rax] | | do { 0x0041eac0 movzx eax, byte [r8 + rdi] | eax = *((r8 + rdi)); 0x0041eac5 cmp dword [rdx + rdi*4], eax | 0x0041eac8 sete al | al = (*((rdx + rdi*4)) == eax) ? 1 : 0; | if (*((rdx + rdi*4)) != eax) { 0x0041eacb jne 0x41ead9 | goto label_165; | } 0x0041eacd lea rsi, [rdi + 1] | rsi = rdi + 1; 0x0041ead1 cmp rcx, rdi | 0x0041ead4 mov rdi, rsi | rdi = rsi; 0x0041ead7 jne 0x41eac0 | | } while (rcx != rdi); | label_165: 0x0041ead9 ret | return rax; | label_164: 0x0041eada mov al, 1 | al = 1; 0x0041eadc ret | return rax; 0x0041eadd nop dword [rax] | 0x0041eaf1 mov eax, 1 | eax = 1; 0x0041eaf6 cmp r8, rsi | | if (r8 <= rsi) { 0x0041eaf9 jbe 0x41ebe6 | goto label_172; | } 0x0041eaff mov rcx, qword [rdi] | rcx = *(rdi); 0x0041eb02 lea rcx, [rcx + rsi*2] | rcx = rcx + rsi*2; 0x0041eb06 xor esi, esi | esi = 0; 0x0041eb08 nop dword [rax + rax] | | do { 0x0041eb10 movzx edi, word [rcx + rsi*2] | edi = *((rcx + rsi*2)); 0x0041eb14 cmp edi, 0xff | | if (edi > 0xff) { 0x0041eb1a ja 0x41ebe7 | goto label_173; | } 0x0041eb20 inc rsi | rsi++; 0x0041eb23 cmp rdx, rsi | 0x0041eb26 jne 0x41eb10 | | } while (rdx != rsi); 0x0041eb28 jmp 0x41ebe6 | goto label_172; 0x0041eb2d mov eax, 1 | eax = 1; 0x0041eb32 cmp r8, rsi | | if (r8 <= rsi) { 0x0041eb35 jbe 0x41ebe6 | goto label_172; | } 0x0041eb3b mov rax, qword [rdi] | rax = *(rdi); 0x0041eb3e lea r8, [rax + rsi*8] | r8 = rax + rsi*8; 0x0041eb42 mov eax, 1 | eax = 1; 0x0041eb47 xor esi, esi | esi = 0; 0x0041eb49 jmp 0x41eb5c | | while (r9d >= eax) { | label_28: 0x0041eb50 inc rsi | rsi++; 0x0041eb53 cmp rdx, rsi | | if (rdx == rsi) { 0x0041eb56 je 0x41ebe6 | goto label_172; | } 0x0041eb5c mov r9d, eax | r9d = eax; 0x0041eb5f mov rax, qword [r8 + rsi*8] | rax = *((r8 + rsi*8)); 0x0041eb63 xor ecx, ecx | ecx = 0; 0x0041eb65 mov r10, rax | r10 = rax; 0x0041eb68 shr r10, 0x20 | r10 >>= 0x20; 0x0041eb6c setne cl | cl = (r10 != 0) ? 1 : 0; 0x0041eb6f xor edi, edi | edi = 0; 0x0041eb71 cmp rax, 0xff | 0x0041eb77 seta dil | dil = (rax > 0xff) ? 1 : 0; 0x0041eb7b inc edi | edi++; 0x0041eb7d cmp rax, 0xffff | 0x0041eb83 lea eax, [rcx*4 + 4] | eax = rcx*4 + 4; | if (rax <= 0xffff) { 0x0041eb8a cmovbe eax, edi | eax = edi; | } 0x0041eb8d cmp r9d, eax | | if (r9d >= eax) { 0x0041eb90 cmovae eax, r9d | eax = r9d; | } 0x0041eb94 jae 0x41eb50 | | } 0x0041eb96 test r10, r10 | | if (r10 == 0) { 0x0041eb99 je 0x41eb50 | goto label_28; | } 0x0041eb9b mov eax, 8 | eax = 8; 0x0041eba0 ret | return rax; 0x0041eba1 mov eax, 1 | eax = 1; 0x0041eba6 cmp r8, rsi | | if (r8 <= rsi) { 0x0041eba9 jbe 0x41ebe6 | goto label_172; | } 0x0041ebab mov rax, qword [rdi] | rax = *(rdi); 0x0041ebae lea r8, [rax + rsi*4] | r8 = rax + rsi*4; 0x0041ebb2 mov eax, 1 | eax = 1; 0x0041ebb7 xor esi, esi | esi = 0; 0x0041ebb9 nop dword [rax] | | do { 0x0041ebc0 mov edi, dword [r8 + rsi*4] | edi = *((r8 + rsi*4)); 0x0041ebc4 cmp edi, 0xffff | | if (edi > 0xffff) { 0x0041ebca ja 0x41ebed | goto label_174; | } 0x0041ebcc xor ecx, ecx | ecx = 0; 0x0041ebce cmp edi, 0xff | 0x0041ebd4 seta cl | cl = (edi > 0xff) ? 1 : 0; 0x0041ebd7 inc ecx | ecx++; 0x0041ebd9 cmp eax, ecx | | if (eax < ecx) { 0x0041ebdb cmovb eax, ecx | eax = ecx; | } 0x0041ebde inc rsi | rsi++; 0x0041ebe1 cmp rdx, rsi | 0x0041ebe4 jne 0x41ebc0 | | } while (rdx != rsi); | label_172: 0x0041ebe6 ret | return rax; | label_173: 0x0041ebe7 mov eax, 2 | eax = 2; 0x0041ebec ret | return rax; | label_174: 0x0041ebed mov eax, 4 | eax = 4; 0x0041ebf2 ret | return rax; 0x0041ebf3 nop word cs:[rax + rax] | 0x0041ebfd nop dword [rax] | 0x0041ed0e cmp qword [rbx + 8], 0 | | if (*((rbx + 8)) == 0) { 0x0041ed13 je 0x41ed8d | goto label_175; | } 0x0041ed15 xor ecx, ecx | ecx = 0; 0x0041ed17 nop word [rax + rax] | | do { 0x0041ed20 mov byte [rax + rcx], r14b | *((rax + rcx)) = r14b; 0x0041ed24 inc rcx | rcx++; 0x0041ed27 cmp rcx, qword [rbx + 8] | 0x0041ed2b jb 0x41ed20 | | } while (rcx < *((rbx + 8))); 0x0041ed2d jmp 0x41ed8d | goto label_175; 0x0041ed2f cmp qword [rbx + 8], 0 | | if (*((rbx + 8)) == 0) { 0x0041ed34 je 0x41ed8d | goto label_175; | } 0x0041ed36 xor ecx, ecx | ecx = 0; 0x0041ed38 nop dword [rax + rax] | | do { 0x0041ed40 mov qword [rax + rcx*8], r14 | *((rax + rcx*8)) = r14; 0x0041ed44 inc rcx | rcx++; 0x0041ed47 cmp rcx, qword [rbx + 8] | 0x0041ed4b jb 0x41ed40 | | } while (rcx < *((rbx + 8))); 0x0041ed4d jmp 0x41ed8d | goto label_175; 0x0041ed4f cmp qword [rbx + 8], 0 | | if (*((rbx + 8)) == 0) { 0x0041ed54 je 0x41ed8d | goto label_175; | } 0x0041ed56 xor ecx, ecx | ecx = 0; 0x0041ed58 nop dword [rax + rax] | | do { 0x0041ed60 mov word [rax + rcx*2], r14w | *((rax + rcx*2)) = r14w; 0x0041ed65 inc rcx | rcx++; 0x0041ed68 cmp rcx, qword [rbx + 8] | 0x0041ed6c jb 0x41ed60 | | } while (rcx < *((rbx + 8))); 0x0041ed6e jmp 0x41ed8d | goto label_175; 0x0041ed70 cmp qword [rbx + 8], 0 | | if (*((rbx + 8)) == 0) { 0x0041ed75 je 0x41ed8d | goto label_175; | } 0x0041ed77 xor ecx, ecx | ecx = 0; 0x0041ed79 nop dword [rax] | | do { 0x0041ed80 mov dword [rax + rcx*4], r14d | *((rax + rcx*4)) = r14d; 0x0041ed84 inc rcx | rcx++; 0x0041ed87 cmp rcx, qword [rbx + 8] | 0x0041ed8b jb 0x41ed80 | | } while (rcx < *((rbx + 8))); | label_175: 0x0041ed8d add rsp, 8 | 0x0041ed91 pop rbx | 0x0041ed92 pop r14 | 0x0041ed94 ret | return rax; 0x0041ed9d nop dword [rax] | | }