Function at 0x1400abbb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x110
mov qword [rbp + 0x10], rcx
mov r13, qword [rbp + 0x30]
test rcx, rcx
je 0x1400ac611
mov rsi, rdx
test rdx, rdx
je 0x1400ac611
test r13, r13
je 0x1400ac611
mov r12, r8
test r8, r8
je 0x1400ac611
mov r14, r9
mov r9, qword [0x1403eb520]
mov r11, qword [r9 + 0x20]
test r11, r11
je 0x1400abf80
lea r10, [rdx + 0x48]
mov r8, rdx
mov ecx, 0x9e3779b9
mov ebx, 0x9e3779b9
mov edi, 0xfeedbeef
nop dword [rax]
movzx edx, byte [r8 + 5]
movzx eax, byte [r8 + 6]
shl edx, 8
shl eax, 0x10
add edx, eax
movzx eax, byte [r8 + 4]
add edx, eax
movzx eax, byte [r8 + 7]
shl eax, 0x18
add edx, eax
movzx eax, byte [r8 + 9]
add edx, ecx
movzx ecx, byte [r8 + 0xa]
shl eax, 8
shl ecx, 0x10
add eax, ecx
movzx ecx, byte [r8 + 8]
add eax, ecx
movzx ecx, byte [r8 + 0xb]
shl ecx, 0x18
add eax, ecx
movzx ecx, byte [r8 + 1]
add eax, edi
movzx edi, byte [r8 + 2]
shl ecx, 8
shl edi, 0x10
add ecx, edi
movzx edi, byte [r8]
add ecx, edi
movzx edi, byte [r8 + 3]
shl edi, 0x18
add ecx, edi
sub ecx, edx
sub edx, eax
sub ecx, eax
add ecx, ebx
mov ebx, eax
shr ebx, 0xd
xor ecx, ebx
mov ebx, edx
mov edx, ecx
sub ebx, ecx
sub eax, ecx
shl edx, 8
xor edx, ebx
sub eax, edx
mov ebx, eax
mov eax, edx
shr eax, 0xd
xor eax, ebx
sub ecx, edx
add r8, 0xc
mov ebx, ecx
mov ecx, eax
sub edx, eax
sub ebx, eax
shr ecx, 0xc
xor ecx, ebx
mov ebx, edx
mov edx, ecx
sub ebx, ecx
sub eax, ecx
shl edx, 0x10
xor edx, ebx
sub eax, edx
sub ecx, edx
mov ebx, eax
mov eax, edx
shr eax, 5
xor eax, ebx
mov ebx, eax
sub ecx, eax
sub edx, eax
shr ebx, 3
xor ebx, ecx
mov ecx, ebx
sub edx, ebx
sub eax, ebx
shl ecx, 0xa
xor ecx, edx
mov edi, ecx
sub eax, ecx
shr edi, 0xf
xor edi, eax
cmp r8, r10
jne 0x1400abc30
movzx edx, byte [rsi + 0x4c]
movzx eax, byte [rsi + 0x4b]
add edi, 0x4d
add edx, ecx
movzx ecx, byte [rsi + 0x4a]
shl eax, 0x18
shl ecx, 0x10
add eax, ecx
movzx ecx, byte [rsi + 0x48]
add eax, ecx
movzx ecx, byte [rsi + 0x49]
shl ecx, 8
add eax, ecx
mov ecx, edi
add eax, ebx
shr ecx, 0xd
sub eax, edx
sub edx, edi
sub eax, edi
xor eax, ecx
sub edx, eax
sub edi, eax
mov ecx, edx
mov edx, eax
shl edx, 8
xor edx, ecx
sub edi, edx
sub eax, edx
mov ecx, edi
mov edi, edx
shr edi, 0xd
xor edi, ecx
mov ecx, edi
sub eax, edi
sub edx, edi
shr ecx, 0xc
xor ecx, eax
mov eax, edx
mov edx, ecx
sub eax, ecx
sub edi, ecx
shl edx, 0x10
xor edx, eax
mov eax, edx
sub edi, edx
shr eax, 5
xor eax, edi
sub ecx, edx
mov r8d, eax
sub ecx, eax
sub edx, eax
shr r8d, 3
xor ecx, r8d
mov edi, ecx
sub edx, ecx
sub eax, ecx
shl edi, 0xa
xor edi, edx
mov rdx, qword [r11 + 0x118]
sub eax, edi
shr edi, 0xf
xor edi, eax
mov eax, dword [rdx + 8]
sub eax, 1
and eax, edi
shl rax, 4
add rax, qword [rdx]
mov rbx, qword [rax]
test rbx, rbx
je 0x1400abf80
mov rax, qword [rdx + 0x20]
mov r10, rax
sub rbx, rax
neg r10
jmp 0x1400abdf3
mov rbx, qword [rbx + 0x138]
test rbx, rbx
je 0x1400abf80
add rbx, r10
cmp dword [rbx + 0x14c], edi
jne 0x1400abde0
cmp dword [rbx + 0x148], 0x4d
jne 0x1400abde0
mov rcx, qword [rbx + 0x140]
mov r8d, 0x4d
mov rdx, rsi
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r9
call sub.msvcrt.dll_memcmp
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0x70]
test eax, eax
jne 0x1400abde0
mov rdx, qword [r9 + 0x28]
mov rax, qword [rbx + 0x158]
lea rcx, [rbx + 0x150]
mov r8, qword [rdx + 0x150]
test rax, rax
je 0x1400ac628
cmp qword [r8 + 0x18], rcx
je 0x1400ac650
mov rdx, qword [r8 + 0x20]
mov r10, qword [rbx + 0x160]
mov qword [rax + rdx + 0x10], r10
mov rdx, qword [r9 + 0x28]
mov rax, qword [rbx + 0x160]
test rax, rax
je 0x1400abe98
mov rdx, qword [rdx + 0x150]
mov r8, qword [rbx + 0x158]
mov rdx, qword [rdx + 0x20]
mov qword [rax + rdx + 8], r8
mov rdx, qword [r9 + 0x28]
mov rdx, qword [rdx + 0x150]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, dword [rbx + 0x184]
shl rax, 4
add rax, qword [rdx]
sub dword [rax + 8], 1
cmp qword [rax], rcx
je 0x1400acc88
mov rax, qword [rbx + 0x168]
test rax, rax
je 0x1400abed6
mov rdx, qword [rbx + 0x170]
mov qword [rax + 0x20], rdx
mov rax, qword [rbx + 0x170]
test rax, rax
je 0x1400abeed
mov rdx, qword [rbx + 0x168]
mov qword [rax + 0x18], rdx
mov rax, qword [r9 + 0x28]
mov rax, qword [rax + 0x150]
sub dword [rax + 0x10], 1
mov rax, qword [rbp + 0x10]
mov qword [rbx + 8], rax
mov rax, qword [r13]
mov qword [rbx + 0x9d], rax
movdqu xmm4, xmmword [rsi]
movups xmmword [rbx + 0x30], xmm4
movdqu xmm5, xmmword [rsi + 0x10]
movups xmmword [rbx + 0x40], xmm5
movdqu xmm4, xmmword [rsi + 0x20]
movups xmmword [rbx + 0x50], xmm4
movdqu xmm5, xmmword [rsi + 0x30]
movdqu xmm4, xmmword [r14]
movups xmmword [rbx + 0x60], xmm5
mov rax, qword [rsi + 0x40]
movdqu xmm5, xmmword [r14 + 0x10]
mov qword [rbx + 0x70], rax
mov eax, dword [rsi + 0x48]
mov dword [rbx + 0x78], eax
movzx eax, byte [rsi + 0x4c]
movups xmmword [rbx + 0x10], xmm4
mov byte [rbx + 0x7c], al
movups xmmword [rbx + 0x20], xmm5
movdqu xmm4, xmmword [r12]
movups xmmword [rbx + 0x7d], xmm4
movdqu xmm5, xmmword [r12 + 0x10]
mov byte [rbx], 1
movups xmmword [rbx + 0x8d], xmm5
jmp 0x1400ac2d0
mov edx, 0x188
mov ecx, 1
mov qword [rsp + 0x78], r9
mov edi, 0xfeedbeef
call sub.msvcrt.dll_calloc
movdqu xmm4, xmmword [rsi]
movdqu xmm5, xmmword [rsi + 0x10]
mov edx, 0x9e3779b9
mov rbx, rax
mov rax, qword [rbp + 0x10]
mov r9, qword [rsp + 0x78]
mov r10d, 0x9e3779b9
movups xmmword [rbx + 0x30], xmm4
movdqu xmm4, xmmword [rsi + 0x20]
lea r11, [rbx + 0x78]
mov qword [rbx + 8], rax
mov rax, qword [r13]
movups xmmword [rbx + 0x40], xmm5
movdqu xmm5, xmmword [rsi + 0x30]
mov qword [rbx + 0x9d], rax
mov rax, qword [rsi + 0x40]
movups xmmword [rbx + 0x50], xmm4
movdqu xmm4, xmmword [r14]
mov qword [rbx + 0x70], rax
mov eax, dword [rsi + 0x48]
movups xmmword [rbx + 0x60], xmm5
movdqu xmm5, xmmword [r14 + 0x10]
mov dword [rbx + 0x78], eax
movzx eax, byte [rsi + 0x4c]
movups xmmword [rbx + 0x10], xmm4
movdqu xmm4, xmmword [r12]
movups xmmword [rbx + 0x20], xmm5
movdqu xmm5, xmmword [r12 + 0x10]
mov byte [rbx], 1
mov byte [rbx + 0x7c], al
lea rax, [rbx + 0x30]
movups xmmword [rbx + 0x7d], xmm4
mov r15, rax
mov r8, rax
movups xmmword [rbx + 0x8d], xmm5
nop dword [rax + rax]
movzx eax, byte [r8 + 5]
movzx ecx, byte [r8 + 6]
shl eax, 8
shl ecx, 0x10
add ecx, eax
movzx eax, byte [r8 + 4]
add ecx, eax
movzx eax, byte [r8 + 7]
shl eax, 0x18
add ecx, eax
movzx eax, byte [r8 + 9]
add edx, ecx
movzx ecx, byte [r8 + 0xa]
shl eax, 8
shl ecx, 0x10
add ecx, eax
movzx eax, byte [r8 + 8]
add ecx, eax
movzx eax, byte [r8 + 0xb]
shl eax, 0x18
add eax, ecx
movzx ecx, byte [r8 + 2]
add eax, edi
movzx edi, byte [r8 + 1]
shl ecx, 0x10
shl edi, 8
add ecx, edi
movzx edi, byte [r8]
add ecx, edi
movzx edi, byte [r8 + 3]
shl edi, 0x18
add ecx, edi
sub ecx, edx
sub edx, eax
sub ecx, eax
add r10d, ecx
mov ecx, eax
shr ecx, 0xd
xor ecx, r10d
sub edx, ecx
sub eax, ecx
mov r10d, edx
mov edx, ecx
shl edx, 8
xor edx, r10d
sub eax, edx
mov r10d, eax
mov eax, edx
shr eax, 0xd
xor eax, r10d
sub ecx, edx
add r8, 0xc
sub ecx, eax
sub edx, eax
mov r10d, ecx
mov ecx, eax
shr ecx, 0xc
xor ecx, r10d
sub edx, ecx
sub eax, ecx
mov r10d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r10d
sub eax, edx
sub ecx, edx
mov r10d, eax
mov eax, edx
shr eax, 5
xor eax, r10d
mov r10d, eax
sub ecx, eax
sub edx, eax
shr r10d, 3
xor r10d, ecx
sub edx, r10d
sub eax, r10d
mov ecx, edx
mov edx, r10d
shl edx, 0xa
xor edx, ecx
mov edi, edx
sub eax, edx
shr edi, 0xf
xor edi, eax
cmp r8, r11
jne 0x1400ac038
movzx eax, byte [rbx + 0x7c]
movzx ecx, byte [rbx + 0x7a]
add edi, 0x4d
mov qword [rbx + 0x140], r15
mov dword [rbx + 0x148], 0x4d
add edx, eax
movzx eax, byte [rbx + 0x7b]
shl ecx, 0x10
shl eax, 0x18
add eax, ecx
movzx ecx, byte [rbx + 0x78]
add eax, ecx
movzx ecx, byte [rbx + 0x79]
shl ecx, 8
add eax, ecx
mov ecx, edi
add eax, r10d
shr ecx, 0xd
sub eax, edx
sub edx, edi
sub eax, edi
xor eax, ecx
sub edx, eax
sub edi, eax
mov ecx, edx
mov edx, eax
shl edx, 8
xor edx, ecx
sub edi, edx
sub eax, edx
mov ecx, edi
mov edi, edx
shr edi, 0xd
xor edi, ecx
mov ecx, edi
sub eax, edi
sub edx, edi
shr ecx, 0xc
xor ecx, eax
mov eax, edx
mov edx, ecx
sub eax, ecx
sub edi, ecx
shl edx, 0x10
xor edx, eax
mov eax, edx
sub edi, edx
shr eax, 5
xor eax, edi
sub ecx, edx
mov r8d, eax
sub ecx, eax
sub edx, eax
shr r8d, 3
xor ecx, r8d
mov r8d, ecx
sub edx, ecx
sub eax, ecx
shl r8d, 0xa
xor r8d, edx
sub eax, r8d
shr r8d, 0xf
xor r8d, eax
mov dword [rbx + 0x14c], r8d
mov rax, qword [r9 + 0x20]
test rax, rax
je 0x1400acc97
mov rax, qword [rax + 0x118]
lea rdi, [rbx + 0x118]
mov qword [rbx + 0x128], 0
mov qword [rbx + 0x118], rax
mov rax, qword [r9 + 0x20]
mov rdx, qword [rax + 0x118]
mov rax, qword [rdx + 0x18]
sub rax, qword [rdx + 0x20]
mov qword [rbx + 0x120], rax
mov rax, qword [r9 + 0x20]
mov rax, qword [rax + 0x118]
mov rax, qword [rax + 0x18]
mov qword [rax + 0x10], rbx
mov rax, qword [r9 + 0x20]
mov rax, qword [rax + 0x118]
mov qword [rax + 0x18], rdi
mov rax, qword [r9 + 0x20]
mov rax, qword [rax + 0x118]
add dword [rax + 0x10], 1
mov rax, qword [r9 + 0x20]
mov rdx, qword [rax + 0x118]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, r8d
shl rax, 4
add rax, qword [rdx]
mov rdx, qword [rax]
add dword [rax + 8], 1
mov qword [rbx + 0x130], 0
mov qword [rbx + 0x138], rdx
mov rdx, qword [rax]
test rdx, rdx
je 0x1400ac29f
mov qword [rdx + 0x18], rdi
mov edx, dword [rax + 0xc]
mov qword [rax], rdi
lea edx, [rdx + rdx*4 + 5]
add edx, edx
cmp dword [rax + 8], edx
jb 0x1400ac2d0
mov r8, qword [rbx + 0x118]
mov eax, dword [r8 + 0x34]
mov dword [rsp + 0x78], eax
test eax, eax
je 0x1400ad03a
nop word [rax + rax]
mov rdx, qword [r12]
mov rax, qword [r12 + 8]
xor rdx, qword [0x1403eb500]
xor rax, qword [0x1403eb508]
or rax, rdx
jne 0x1400ac680
mov rdx, qword [r12 + 0x10]
mov rax, qword [r12 + 0x18]
xor rdx, qword [0x1403eb510]
xor rax, qword [0x1403eb518]
or rax, rdx
jne 0x1400ac680
lea r12, [rsp + 0x80]
mov rcx, qword [rsi + 0xd]
mov eax, 0x7830
mov word [rsp + 0xc0], ax
lea rax, str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFFS
movzx r15d, cl
mov rbx, rcx
mov r10, rcx
mov r8, rcx
movzx edx, word [rax + r15*2]
shr rbx, 0x10
shr r10, 0x20
mov r11, rcx
movzx ebx, bl
movzx r10d, r10b
shr r8, 0x30
mov r9, rcx
movd xmm0, edx
movzx edx, word [rax + rbx*2]
movzx r8d, r8b
movzx edi, ch
shr r11, 0x18
shr rcx, 0x38
pinsrw xmm0, word [rax + rdi*2], 1
movd xmm3, edx
movzx edx, word [rax + r10*2]
shr r9, 0x28
movzx r11d, r11b
movzx r9d, r9b
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, edx
movzx edx, word [rax + r8*2]
pinsrw xmm1, word [rax + r9*2], 1
punpckldq xmm0, xmm3
movd xmm2, edx
pinsrw xmm2, word [rax + rcx*2], 1
mov rcx, qword [rsi + 0x15]
movzx r15d, cl
mov rbx, rcx
punpckldq xmm1, xmm2
mov r10, rcx
movzx edx, word [rax + r15*2]
shr rbx, 0x10
punpcklqdq xmm0, xmm1
mov r8, rcx
movzx ebx, bl
shr r10, 0x20
mov r11, rcx
mov r9, rcx
shr r8, 0x30
movzx r10d, r10b
movzx edi, ch
shr r11, 0x18
shr rcx, 0x38
movzx r8d, r8b
shr r9, 0x28
movzx r11d, r11b
movups xmmword [rsp + 0xc2], xmm0
movd xmm0, edx
movzx edx, word [rax + rbx*2]
movzx r9d, r9b
pinsrw xmm0, word [rax + rdi*2], 1
movd xmm3, edx
movzx edx, word [rax + r10*2]
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, edx
movzx edx, word [rax + r8*2]
pinsrw xmm1, word [rax + r9*2], 1
punpckldq xmm0, xmm3
movd xmm2, edx
pinsrw xmm2, word [rax + rcx*2], 1
mov rcx, qword [rsi + 0x1d]
movzx r15d, cl
mov rbx, rcx
punpckldq xmm1, xmm2
mov r10, rcx
movzx edx, word [rax + r15*2]
shr rbx, 0x10
punpcklqdq xmm0, xmm1
mov r8, rcx
movzx ebx, bl
shr r10, 0x20
mov r11, rcx
mov r9, rcx
shr r8, 0x30
movzx r10d, r10b
shr r11, 0x18
movzx edi, ch
shr r9, 0x28
movzx r8d, r8b
movzx r11d, r11b
shr rcx, 0x38
movups xmmword [rsp + 0xd2], xmm0
movd xmm0, edx
movzx edx, word [rax + rbx*2]
movzx r9d, r9b
pinsrw xmm0, word [rax + rdi*2], 1
movd xmm3, edx
movzx edx, word [rax + r10*2]
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, edx
movzx edx, word [rax + r8*2]
pinsrw xmm1, word [rax + r9*2], 1
punpckldq xmm0, xmm3
movd xmm2, edx
pinsrw xmm2, word [rax + rcx*2], 1
mov rcx, qword [rsi + 0x25]
punpckldq xmm1, xmm2
movzx edi, cl
mov rbx, rcx
mov r10, rcx
punpcklqdq xmm0, xmm1
shr rbx, 0x10
mov r8, rcx
mov r11, rcx
movzx ebx, bl
shr r10, 0x20
mov r9, rcx
movzx esi, ch
movups xmmword [rsp + 0xe2], xmm0
movzx edx, word [rax + rdi*2]
movzx r10d, r10b
shr r8, 0x30
movzx r8d, r8b
shr r11, 0x18
movdqu xmm4, xmmword [r14]
mov byte [rsp + 0x102], 0
shr r9, 0x28
movd xmm0, edx
movzx edx, word [rax + rbx*2]
movzx r11d, r11b
movzx r9d, r9b
shr rcx, 0x38
pinsrw xmm0, word [rax + rsi*2], 1
movaps xmmword [rsp + 0x80], xmm4
movd xmm3, edx
movzx edx, word [rax + r10*2]
pinsrw xmm3, word [rax + r11*2], 1
movdqu xmm5, xmmword [r14 + 0x10]
movd xmm1, edx
movzx edx, word [rax + r8*2]
pinsrw xmm1, word [rax + r9*2], 1
punpckldq xmm0, xmm3
movaps xmmword [rsp + 0x90], xmm5
movd xmm2, edx
pinsrw xmm2, word [rax + rcx*2], 1
mov rcx, r12
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0xf2], xmm0
call fcn.140102870
xor ecx, ecx
mov r9d, 2
xor edx, edx
mov r12, rax
movzx eax, word [r13]
lea r8, [0x1402a2540]
mov dword [rsp + 0x50], eax
movzx eax, word [r13 + 2]
mov dword [rsp + 0x48], eax
movzx eax, word [r13 + 4]
mov dword [rsp + 0x40], eax
movzx eax, word [r13 + 6]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
lea rax, str.Added_key_with_fingerprint__s_and_value__s_for_node__04hX::_04hX::_04hX::_04hX
mov qword [rsp + 0x20], rax
call fcn.14005a150
mov rcx, r12
call sub.msvcrt.dll_free
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, qword [rbx + 0x160]
test rdx, rdx
je 0x1400ad1d2
cmp qword [r8 + 0x18], rcx
je 0x1400ac650
mov qword [r9 + 0x28], rdx
jmp 0x1400abe71
add rax, qword [r8 + 0x20]
mov qword [r8 + 0x18], rax
mov rax, qword [rbx + 0x158]
test rax, rax
je 0x1400acd5e
mov rdx, qword [r9 + 0x28]
mov r8, qword [rdx + 0x150]
jmp 0x1400abe5d
movzx eax, byte [rbx + 0x82]
movzx edx, byte [rbx + 0x81]
movzx r8d, byte [rbx + 0x7d]
shl eax, 8
lea ecx, [rdx + rax - 0x61c88647]
movzx eax, byte [rbx + 0x83]
movzx edx, byte [rbx + 0x85]
shl eax, 0x10
add ecx, eax
movzx eax, byte [rbx + 0x84]
shl eax, 0x18
add ecx, eax
movzx eax, byte [rbx + 0x86]
shl eax, 8
lea eax, [rdx + rax - 0x1124111]
movzx edx, byte [rbx + 0x87]
shl edx, 0x10
add eax, edx
movzx edx, byte [rbx + 0x88]
shl edx, 0x18
add eax, edx
movzx edx, byte [rbx + 0x7e]
shl edx, 8
lea r8d, [r8 + rdx - 0x61c88647]
movzx edx, byte [rbx + 0x7f]
shl edx, 0x10
add r8d, edx
movzx edx, byte [rbx + 0x80]
shl edx, 0x18
add r8d, edx
mov edx, eax
sub r8d, ecx
shr edx, 0xd
sub ecx, eax
sub r8d, eax
xor edx, r8d
sub ecx, edx
sub eax, edx
mov r8d, ecx
mov ecx, edx
shl ecx, 8
xor ecx, r8d
sub eax, ecx
sub edx, ecx
mov r8d, eax
mov eax, ecx
shr eax, 0xd
xor eax, r8d
sub edx, eax
sub ecx, eax
mov r8d, edx
mov edx, eax
shr edx, 0xc
xor edx, r8d
mov r10d, edx
sub ecx, edx
sub eax, edx
shl r10d, 0x10
xor r10d, ecx
mov ecx, r10d
sub eax, r10d
sub edx, r10d
shr ecx, 5
xor ecx, eax
mov r8d, ecx
sub edx, ecx
sub r10d, ecx
shr r8d, 3
xor r8d, edx
mov eax, r8d
sub r10d, r8d
sub ecx, r8d
shl eax, 0xa
mov edx, ecx
xor eax, r10d
movzx r10d, byte [rbx + 0x8f]
mov ecx, eax
sub edx, eax
shr ecx, 0xf
shl r10d, 0x10
xor ecx, edx
movzx edx, byte [rbx + 0x8e]
shl edx, 8
add edx, r10d
movzx r10d, byte [rbx + 0x8d]
add edx, r10d
movzx r10d, byte [rbx + 0x90]
shl r10d, 0x18
add edx, r10d
movzx r10d, byte [rbx + 0x93]
add edx, eax
movzx eax, byte [rbx + 0x92]
shl r10d, 0x10
shl eax, 8
add eax, r10d
movzx r10d, byte [rbx + 0x91]
add eax, r10d
movzx r10d, byte [rbx + 0x94]
shl r10d, 0x18
add eax, r10d
movzx r10d, byte [rbx + 0x8b]
add eax, ecx
movzx ecx, byte [rbx + 0x8a]
shl r10d, 0x10
shl ecx, 8
add ecx, r10d
movzx r10d, byte [rbx + 0x89]
add ecx, r10d
movzx r10d, byte [rbx + 0x8c]
shl r10d, 0x18
add ecx, r10d
movzx r10d, byte [rbx + 0x9b]
add ecx, r8d
mov r8d, eax
sub ecx, edx
shr r8d, 0xd
sub edx, eax
sub ecx, eax
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 8
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shr eax, 0xd
xor eax, r8d
sub ecx, eax
sub edx, eax
mov r8d, ecx
mov ecx, eax
shr ecx, 0xc
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r8d
sub eax, edx
mov r8d, eax
mov eax, edx
shr eax, 5
xor eax, r8d
sub ecx, edx
shl r10d, 0x10
mov r8d, eax
sub ecx, eax
sub edx, eax
shr r8d, 3
xor r8d, ecx
sub edx, r8d
sub eax, r8d
mov ecx, edx
mov edx, r8d
shl edx, 0xa
xor edx, ecx
mov ecx, edx
sub eax, edx
shr ecx, 0xf
xor ecx, eax
movzx eax, byte [rbx + 0x9c]
add ecx, 0x20
shl eax, 0x18
add eax, r10d
movzx r10d, byte [rbx + 0x99]
add eax, r10d
movzx r10d, byte [rbx + 0x9a]
shl r10d, 8
add eax, r10d
movzx r10d, byte [rbx + 0x97]
add eax, edx
movzx edx, byte [rbx + 0x98]
shl r10d, 0x10
shl edx, 0x18
add edx, r10d
movzx r10d, byte [rbx + 0x95]
add edx, r10d
movzx r10d, byte [rbx + 0x96]
shl r10d, 8
add edx, r10d
add edx, r8d
mov r8d, ecx
sub edx, ecx
shr r8d, 0xd
sub edx, eax
sub eax, ecx
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shl eax, 8
xor eax, r8d
sub ecx, eax
sub edx, eax
mov r8d, ecx
mov ecx, eax
shr ecx, 0xd
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shr edx, 0xc
xor edx, r8d
mov r8d, edx
sub eax, edx
sub ecx, edx
shl r8d, 0x10
xor r8d, eax
mov eax, r8d
sub ecx, r8d
sub edx, r8d
shr eax, 5
xor eax, ecx
mov ecx, eax
sub edx, eax
sub r8d, eax
shr ecx, 3
xor ecx, edx
mov edx, ecx
sub r8d, ecx
sub eax, ecx
shl edx, 0xa
xor edx, r8d
sub eax, edx
shr edx, 0xf
xor edx, eax
lea rax, [rbx + 0x7d]
mov dword [rbx + 0x184], edx
mov r8d, edx
mov qword [rbx + 0x178], rax
mov dword [rbx + 0x180], 0x20
mov r10, qword [r9 + 0x28]
test r10, r10
je 0x1400acf08
mov rax, qword [r10 + 0x150]
mov qword [rbx + 0x160], 0
mov qword [rbx + 0x150], rax
mov rax, qword [r9 + 0x28]
mov rdx, qword [rax + 0x150]
mov rax, qword [rdx + 0x18]
sub rax, qword [rdx + 0x20]
lea rdx, [rbx + 0x150]
mov qword [rbx + 0x158], rax
mov rax, qword [r9 + 0x28]
mov rax, qword [rax + 0x150]
mov rax, qword [rax + 0x18]
mov qword [rax + 0x10], rbx
mov rax, qword [r9 + 0x28]
mov rax, qword [rax + 0x150]
mov qword [rax + 0x18], rdx
mov rax, qword [r9 + 0x28]
mov rax, qword [rax + 0x150]
add dword [rax + 0x10], 1
mov rax, qword [r9 + 0x28]
mov rcx, qword [rax + 0x150]
mov eax, dword [rcx + 8]
sub eax, 1
and eax, r8d
shl rax, 4
add rax, qword [rcx]
mov rcx, qword [rax]
add dword [rax + 8], 1
mov qword [rbx + 0x168], 0
mov qword [rbx + 0x170], rcx
mov rcx, qword [rax]
test rcx, rcx
je 0x1400aca6c
mov qword [rcx + 0x18], rdx
mov qword [rax], rdx
mov edx, dword [rax + 0xc]
lea edx, [rdx + rdx*4 + 5]
add edx, edx
cmp dword [rax + 8], edx
jb 0x1400aca8f
mov rax, qword [rbx + 0x150]
mov edi, dword [rax + 0x34]
test edi, edi
je 0x1400acd70
mov rax, qword [rbp + 0x10]
mov rdx, r12
lea r12, [rsp + 0x80]
mov rcx, qword [rax + 0x40]
call fcn.1400f2660
mov rcx, rax
test rax, rax
je 0x1400ac319
xor r8d, r8d
mov edx, 3
call fcn.1400930f0
mov r15, rax
test rax, rax
je 0x1400ac319
cmp dword [rax + 0x150], 0x79
jne 0x1400ac319
lea r12, [rax + 0x154]
mov r8d, 0xf001
mov edx, 0x79
mov rcx, r12
call fcn.140102780
cmp dword [rax + 2], 0x4c
jbe 0x1400ad237
movdqu xmm4, xmmword [rax + 6]
movups xmmword [rbx + 0xa5], xmm4
movdqu xmm5, xmmword [rax + 0x16]
movups xmmword [rbx + 0xb5], xmm5
movdqu xmm4, xmmword [rax + 0x26]
movups xmmword [rbx + 0xc5], xmm4
movdqu xmm5, xmmword [rax + 0x36]
movups xmmword [rbx + 0xd5], xmm5
mov rdx, qword [rax + 0x46]
mov qword [rbx + 0xe5], rdx
mov edx, dword [rax + 0x4e]
mov dword [rbx + 0xed], edx
movzx eax, byte [rax + 0x52]
mov byte [rbx + 0xf1], al
mov edx, dword [r15 + 0x150]
mov r8d, 0xf000
mov rcx, r12
call fcn.140102780
cmp dword [rax + 2], 0x1f
jbe 0x1400ad206
movdqu xmm4, xmmword [rax + 6]
movups xmmword [rbx + 0xf2], xmm4
movdqu xmm5, xmmword [rax + 0x16]
movups xmmword [rbx + 0x102], xmm5
lea r15, [0x1402a3acb]
lea rcx, [rsp + 0xa0]
mov rdx, r15
call fcn.140102be0
mov r11, qword [rsp + 0xa8]
mov r12, qword [rbx + 0xf2]
mov rdi, qword [rsp + 0xa0]
mov rax, qword [rbx + 0xfa]
mov rcx, r11
mov r10, qword [rbx + 0x102]
mov rdx, qword [rbx + 0x10a]
cmp rdi, r12
mov r9, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
sbb rcx, rax
setb cl
cmp r12, rdi
sbb rax, r11
movzx eax, cl
setb r11b
sbb eax, 0
cmp eax, 1
je 0x1400ad272
lea r12, [rsp + 0x80]
cmp cl, r11b
jne 0x1400ac319
cmp eax, 0xffffffff
je 0x1400ac319
mov rax, r8
cmp r9, r10
sbb rax, rdx
setb al
cmp r10, r9
sbb rdx, r8
movzx eax, al
sbb eax, 0
mov edx, eax
xor eax, eax
cmp edx, 1
sete al
cmp edx, 0xffffffff
sete dl
movzx edx, dl
sub eax, edx
cmp eax, 1
jne 0x1400ac311
lea r12, [rsp + 0x80]
mov rdx, r15
mov rcx, r12
call fcn.140102be0
movdqu xmm4, xmmword [rsp + 0x80]
movups xmmword [rbx + 0xf2], xmm4
movdqu xmm5, xmmword [rsp + 0x90]
movups xmmword [rbx + 0x102], xmm5
jmp 0x1400ac319
mov rdx, qword [rbx + 0x170]
mov qword [rax], rdx
jmp 0x1400abebf
pxor xmm0, xmm0
mov ecx, 0x40
mov dword [rsp + 0x70], r8d
movups xmmword [rbx + 0x120], xmm0
mov qword [rsp + 0x78], r9
call sub.msvcrt.dll_malloc
mov r9, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x70]
test rax, rax
mov qword [rbx + 0x118], rax
mov r10, rax
je 0x1400ad29a
lea rdi, [rbx + 0x118]
mov qword [rax + 0x10], 0
mov edx, 1
mov ecx, 0x200
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x18], rdi
mov rax, qword [0x1402a55f8]
mov qword [r10 + 0x20], 0x118
mov qword [r10 + 8], rax
mov qword [rsp + 0x78], r10
mov dword [rsp + 0x68], r8d
mov qword [rsp + 0x70], r9
call sub.msvcrt.dll_calloc
mov r10, qword [rsp + 0x78]
mov qword [r10], rax
mov dword [r10 + 0x38], 0xa0111fe1
test rax, rax
je 0x1400ad29a
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x68]
mov rax, rbx
mov qword [r9 + 0x20], rbx
jmp 0x1400ac254
mov rdx, qword [rbx + 0x160]
jmp 0x1400ac63e
mov ecx, dword [rax + 8]
mov edx, 1
shl rcx, 5
call sub.msvcrt.dll_calloc
mov r8, rax
test rax, rax
je 0x1400ad29a
mov r9, qword [rbx + 0x150]
mov edx, dword [r9 + 8]
mov eax, dword [r9 + 0x10]
mov ecx, dword [r9 + 0xc]
lea edx, [rdx + rdx - 1]
test edx, eax
setne dl
add ecx, 1
shr eax, cl
movzx edx, dl
add edx, eax
mov dword [r9 + 0x28], edx
mov rax, qword [rbx + 0x150]
mov dword [rax + 0x2c], 0
mov rcx, qword [rbx + 0x150]
mov eax, dword [rcx + 8]
test eax, eax
je 0x1400ace9d
xor r9d, r9d
nop word [rax + rax]
mov edx, r9d
shl rdx, 4
add rdx, qword [rcx]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x1400ace19
jmp 0x1400ace90
mov qword [r10 + 0x18], rdx
mov qword [rax], rdx
test rcx, rcx
je 0x1400ace86
mov rax, qword [rbx + 0x150]
mov rdx, rcx
mov eax, dword [rax + 8]
lea eax, [rax + rax - 1]
and eax, dword [rdx + 0x34]
mov rcx, qword [rdx + 0x20]
shl rax, 4
add rax, r8
mov r11d, dword [rax + 8]
lea r10d, [r11 + 1]
mov dword [rax + 8], r10d
mov r11, qword [rbx + 0x150]
cmp r10d, dword [r11 + 0x28]
jbe 0x1400ace6a
add dword [r11 + 0x2c], 1
mov r11, qword [rbx + 0x150]
mov r10d, dword [rax + 0xc]
mov r15d, dword [r11 + 0x28]
imul r15d, r10d
cmp dword [rax + 8], r15d
jbe 0x1400ace6a
add r10d, 1
mov dword [rax + 0xc], r10d
mov qword [rdx + 0x18], 0
mov r10, qword [rax]
mov qword [rdx + 0x20], r10
test r10, r10
jne 0x1400ace00
mov qword [rax], rdx
test rcx, rcx
jne 0x1400ace0c
mov rcx, qword [rbx + 0x150]
mov eax, dword [rcx + 8]
add r9d, 1
cmp r9d, eax
jb 0x1400acde0
mov rcx, qword [rcx]
mov qword [rsp + 0x78], r8
call sub.msvcrt.dll_free
mov rax, qword [rbx + 0x150]
mov r8, qword [rsp + 0x78]
shl dword [rax + 8], 1
mov rax, qword [rbx + 0x150]
add dword [rax + 0xc], 1
mov rax, qword [rbx + 0x150]
mov qword [rax], r8
mov rax, qword [rbx + 0x150]
mov edx, dword [rax + 0x10]
shr edx, 1
cmp dword [rax + 0x2c], edx
jbe 0x1400acee5
mov edi, dword [rax + 0x30]
add edi, 1
mov dword [rax + 0x30], edi
mov rax, qword [rbx + 0x150]
cmp dword [rax + 0x30], 1
jbe 0x1400aca8f
mov dword [rax + 0x34], 1
jmp 0x1400aca8f
pxor xmm0, xmm0
mov ecx, 0x40
mov dword [rsp + 0x64], edx
movups xmmword [rbx + 0x158], xmm0
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x70], r9
call sub.msvcrt.dll_malloc
mov qword [rbx + 0x150], rax
test rax, rax
je 0x1400ad29a
mov qword [rax + 8], 0
lea rdx, [rbx + 0x150]
mov ecx, 0x200
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 0
mov rax, qword [rbx + 0x150]
mov qword [rsp + 0x78], rdx
mov qword [rax + 0x18], rdx
mov rax, qword [rbx + 0x150]
mov dword [rax + 8], 0x20
mov rax, qword [rbx + 0x150]
mov dword [rax + 0xc], 5
mov rax, qword [rbx + 0x150]
mov qword [rax + 0x20], 0x150
mov rdi, qword [rbx + 0x150]
call sub.msvcrt.dll_malloc
mov qword [rdi], rax
mov rax, qword [rbx + 0x150]
mov dword [rax + 0x38], 0xa0111fe1
mov rax, qword [rbx + 0x150]
mov rax, qword [rax]
test rax, rax
je 0x1400ad29a
lea rdi, [rax + 8]
mov qword [rax], 0
mov qword [rax + 0x1f8], 0
and rdi, 0xfffffffffffffff8
sub rax, rdi
lea ecx, [rax + 0x200]
mov rax, qword [rsp + 0x68]
shr ecx, 3
rep stosq qword [rdi], rax
mov rax, rbx
mov r9, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x64]
mov qword [r9 + 0x28], rbx
jmp 0x1400aca21
mov ecx, dword [r8 + 8]
mov edx, 1
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], r8
shl rcx, 5
call sub.msvcrt.dll_calloc
mov rdi, rax
test rax, rax
je 0x1400ad29a
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x68]
mov edx, dword [r8 + 8]
mov eax, dword [r8 + 0x10]
mov ecx, dword [r8 + 0xc]
lea edx, [rdx + rdx - 1]
test edx, eax
setne dl
add ecx, 1
shr eax, cl
movzx edx, dl
add edx, eax
mov dword [r8 + 0x28], edx
mov rax, qword [rbx + 0x118]
mov dword [rax + 0x2c], 0
mov r8, qword [rbx + 0x118]
mov eax, dword [r8 + 8]
test eax, eax
je 0x1400ad162
xor r11d, r11d
nop dword [rax + rax]
mov edx, r11d
shl rdx, 4
add rdx, qword [r8]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x1400ad0ea
jmp 0x1400ad155
mov qword [rcx + 0x18], rdx
mov r8, qword [rbx + 0x118]
mov qword [rax], rdx
test r10, r10
je 0x1400ad151
mov eax, dword [r8 + 8]
mov rdx, r10
lea eax, [rax + rax - 1]
and eax, dword [rdx + 0x34]
mov r10, qword [rdx + 0x20]
shl rax, 4
add rax, rdi
mov ecx, dword [rax + 8]
add ecx, 1
mov dword [rax + 8], ecx
cmp ecx, dword [r8 + 0x28]
jbe 0x1400ad12e
add dword [r8 + 0x2c], 1
mov r8, qword [rbx + 0x118]
mov ecx, dword [rax + 0xc]
mov r15d, dword [r8 + 0x28]
imul r15d, ecx
cmp dword [rax + 8], r15d
jbe 0x1400ad12e
add ecx, 1
mov dword [rax + 0xc], ecx
mov qword [rdx + 0x18], 0
mov rcx, qword [rax]
mov qword [rdx + 0x20], rcx
test rcx, rcx
jne 0x1400ad0d0
mov qword [rax], rdx
mov r8, qword [rbx + 0x118]
test r10, r10
jne 0x1400ad0e3
mov eax, dword [r8 + 8]
add r11d, 1
cmp r11d, eax
jb 0x1400ad0b8
mov rcx, qword [r8]
mov qword [rsp + 0x70], r9
call sub.msvcrt.dll_free
mov rax, qword [rbx + 0x118]
mov r9, qword [rsp + 0x70]
shl dword [rax + 8], 1
mov rax, qword [rbx + 0x118]
add dword [rax + 0xc], 1
mov rax, qword [rbx + 0x118]
mov qword [rax], rdi
mov rax, qword [rbx + 0x118]
mov edx, dword [rax + 0x10]
shr edx, 1
cmp dword [rax + 0x2c], edx
jbe 0x1400ad1ae
mov edi, dword [rax + 0x30]
add edi, 1
mov dword [rsp + 0x78], edi
mov edi, dword [rsp + 0x78]
mov dword [rax + 0x30], edi
mov rax, qword [rbx + 0x118]
cmp dword [rax + 0x30], 1
jbe 0x1400ac2d0
mov dword [rax + 0x34], 1
jmp 0x1400ac2d0
mov rcx, qword [r8]
mov qword [rsp + 0x78], r9
call sub.msvcrt.dll_free
mov r9, qword [rsp + 0x78]
mov rax, qword [r9 + 0x28]
mov rcx, qword [rax + 0x150]
call sub.msvcrt.dll_free
mov r9, qword [rsp + 0x78]
mov qword [r9 + 0x28], 0
jmp 0x1400abefc
mov qword [rbx + 0xf2], 0
mov qword [rbx + 0xfa], 0
mov qword [rbx + 0x102], 0
mov qword [rbx + 0x10a], 0
jmp 0x1400acb82
lea rdi, [rbx + 0xad]
lea rax, [rbx + 0xa5]
mov qword [rbx + 0xa5], 0
mov qword [rbx + 0xea], 0
and rdi, 0xfffffffffffffff8
sub rax, rdi
lea ecx, [rax + 0x4d]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
jmp 0x1400acb4b
cmp cl, r11b
jne 0x1400acc4a
cmp r9, r10
mov rdi, r8
sbb rdi, rdx
setb cl
cmp r10, r9
movzx ecx, cl
sbb rdx, r8
mov edx, ecx
sbb edx, 0
jmp 0x1400acc36
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop