Function at 0x1400aaf80
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 0x1400ab9e1
mov rsi, rdx
test rdx, rdx
je 0x1400ab9e1
test r13, r13
je 0x1400ab9e1
mov r12, r8
test r8, r8
je 0x1400ab9e1
mov r14, r9
mov r9, qword [0x1403e8520]
mov r11, qword [r9 + 0x20]
test r11, r11
je 0x1400ab350
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 0x1400ab000
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 0x1400ab350
mov rax, qword [rdx + 0x20]
mov r10, rax
sub rbx, rax
neg r10
jmp 0x1400ab1c3
mov rbx, qword [rbx + 0x138]
test rbx, rbx
je 0x1400ab350
add rbx, r10
cmp dword [rbx + 0x14c], edi
jne 0x1400ab1b0
cmp dword [rbx + 0x148], 0x4d
jne 0x1400ab1b0
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 0x1400ab1b0
mov rdx, qword [r9 + 0x28]
mov rax, qword [rbx + 0x158]
lea rcx, [rbx + 0x150]
mov r8, qword [rdx + 0x150]
test rax, rax
je 0x1400ab9f8
cmp qword [r8 + 0x18], rcx
je 0x1400aba20
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 0x1400ab268
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 0x1400ac058
mov rax, qword [rbx + 0x168]
test rax, rax
je 0x1400ab2a6
mov rdx, qword [rbx + 0x170]
mov qword [rax + 0x20], rdx
mov rax, qword [rbx + 0x170]
test rax, rax
je 0x1400ab2bd
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 0x1400ab6a0
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 0x1400ab408
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 0x1400ac067
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 0x1400ab66f
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 0x1400ab6a0
mov r8, qword [rbx + 0x118]
mov eax, dword [r8 + 0x34]
mov dword [rsp + 0x78], eax
test eax, eax
je 0x1400ac40a
nop word [rax + rax]
mov rdx, qword [r12]
mov rax, qword [r12 + 8]
xor rdx, qword [0x1403e8500]
xor rax, qword [0x1403e8508]
or rax, rdx
jne 0x1400aba50
mov rdx, qword [r12 + 0x10]
mov rax, qword [r12 + 0x18]
xor rdx, qword [0x1403e8510]
xor rax, qword [0x1403e8518]
or rax, rdx
jne 0x1400aba50
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.140101a30
xor ecx, ecx
mov r9d, 2
xor edx, edx
mov r12, rax
movzx eax, word [r13]
lea r8, [0x1402a06e0]
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.14005aec0
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 0x1400ac5a2
cmp qword [r8 + 0x18], rcx
je 0x1400aba20
mov qword [r9 + 0x28], rdx
jmp 0x1400ab241
add rax, qword [r8 + 0x20]
mov qword [r8 + 0x18], rax
mov rax, qword [rbx + 0x158]
test rax, rax
je 0x1400ac12e
mov rdx, qword [r9 + 0x28]
mov r8, qword [rdx + 0x150]
jmp 0x1400ab22d
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 0x1400ac2d8
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 0x1400abe3c
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 0x1400abe5f
mov rax, qword [rbx + 0x150]
mov edi, dword [rax + 0x34]
test edi, edi
je 0x1400ac140
mov rax, qword [rbp + 0x10]
mov rdx, r12
lea r12, [rsp + 0x80]
mov rcx, qword [rax + 0x40]
call fcn.1400f1820
mov rcx, rax
test rax, rax
je 0x1400ab6e9
xor r8d, r8d
mov edx, 3
call fcn.140092130
mov r15, rax
test rax, rax
je 0x1400ab6e9
cmp dword [rax + 0x150], 0x79
jne 0x1400ab6e9
lea r12, [rax + 0x154]
mov r8d, 0xf001
mov edx, 0x79
mov rcx, r12
call fcn.140101940
cmp dword [rax + 2], 0x4c
jbe 0x1400ac607
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.140101940
cmp dword [rax + 2], 0x1f
jbe 0x1400ac5d6
movdqu xmm4, xmmword [rax + 6]
movups xmmword [rbx + 0xf2], xmm4
movdqu xmm5, xmmword [rax + 0x16]
movups xmmword [rbx + 0x102], xmm5
lea r15, [0x1402a1c6b]
lea rcx, [rsp + 0xa0]
mov rdx, r15
call fcn.140101da0
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 0x1400ac642
lea r12, [rsp + 0x80]
cmp cl, r11b
jne 0x1400ab6e9
cmp eax, 0xffffffff
je 0x1400ab6e9
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 0x1400ab6e1
lea r12, [rsp + 0x80]
mov rdx, r15
mov rcx, r12
call fcn.140101da0
movdqu xmm4, xmmword [rsp + 0x80]
movups xmmword [rbx + 0xf2], xmm4
movdqu xmm5, xmmword [rsp + 0x90]
movups xmmword [rbx + 0x102], xmm5
jmp 0x1400ab6e9
mov rdx, qword [rbx + 0x170]
mov qword [rax], rdx
jmp 0x1400ab28f
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 0x1400ac66a
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 [0x1402a3798]
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 0x1400ac66a
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x68]
mov rax, rbx
mov qword [r9 + 0x20], rbx
jmp 0x1400ab624
mov rdx, qword [rbx + 0x160]
jmp 0x1400aba0e
mov ecx, dword [rax + 8]
mov edx, 1
shl rcx, 5
call sub.msvcrt.dll_calloc
mov r8, rax
test rax, rax
je 0x1400ac66a
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 0x1400ac26d
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 0x1400ac1e9
jmp 0x1400ac260
mov qword [r10 + 0x18], rdx
mov qword [rax], rdx
test rcx, rcx
je 0x1400ac256
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 0x1400ac23a
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 0x1400ac23a
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 0x1400ac1d0
mov qword [rax], rdx
test rcx, rcx
jne 0x1400ac1dc
mov rcx, qword [rbx + 0x150]
mov eax, dword [rcx + 8]
add r9d, 1
cmp r9d, eax
jb 0x1400ac1b0
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 0x1400ac2b5
mov edi, dword [rax + 0x30]
add edi, 1
mov dword [rax + 0x30], edi
mov rax, qword [rbx + 0x150]
cmp dword [rax + 0x30], 1
jbe 0x1400abe5f
mov dword [rax + 0x34], 1
jmp 0x1400abe5f
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 0x1400ac66a
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 0x1400ac66a
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 0x1400abdf1
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 0x1400ac66a
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 0x1400ac532
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 0x1400ac4ba
jmp 0x1400ac525
mov qword [rcx + 0x18], rdx
mov r8, qword [rbx + 0x118]
mov qword [rax], rdx
test r10, r10
je 0x1400ac521
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 0x1400ac4fe
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 0x1400ac4fe
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 0x1400ac4a0
mov qword [rax], rdx
mov r8, qword [rbx + 0x118]
test r10, r10
jne 0x1400ac4b3
mov eax, dword [r8 + 8]
add r11d, 1
cmp r11d, eax
jb 0x1400ac488
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 0x1400ac57e
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 0x1400ab6a0
mov dword [rax + 0x34], 1
jmp 0x1400ab6a0
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 0x1400ab2cc
mov qword [rbx + 0xf2], 0
mov qword [rbx + 0xfa], 0
mov qword [rbx + 0x102], 0
mov qword [rbx + 0x10a], 0
jmp 0x1400abf52
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 0x1400abf1b
cmp cl, r11b
jne 0x1400ac01a
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 0x1400ac006
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop