Function at 0x140157ae0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbx
push r14
mov eax, 0x18
call fcn.140166f80
sub rsp, rax
mov r14, r8
mov ebx, edx
mov r9, rcx
test rcx, rcx
je 0x140158a0c
test r8, r8
je 0x140158a0c
lea eax, [rdx - 0x80]
test eax, 0xffffff3f
jne 0x1401589ff
cmp edx, 0x140
je 0x1401589ff
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
cmp edx, 0x80
jne 0x140157b44
mov dword [r8 + 0xf0], 0xa
jmp 0x140157b5e
cmp ebx, 0xc0
mov eax, ntohs
mov ecx, reloc.WS2_32.dll_inet_ntoa
cmove eax, ecx
mov dword [r8 + 0xf0], eax
mov r10d, dword [r9]
mov eax, r10d
ror eax, 8
rol r10d, 8
xor r10d, eax
mov qword [rsp + 0x10], r12
and r10d, 0xff00ff
mov qword [rsp + 8], r13
xor r10d, eax
mov dword [r8], r10d
mov esi, dword [r9 + 4]
mov eax, esi
ror eax, 8
rol esi, 8
xor esi, eax
and esi, 0xff00ff
xor esi, eax
mov dword [r8 + 4], esi
mov r11d, dword [r9 + 8]
mov eax, r11d
ror eax, 8
rol r11d, 8
xor r11d, eax
and r11d, 0xff00ff
xor r11d, eax
mov dword [r8 + 8], r11d
mov edi, dword [r9 + 0xc]
mov eax, edi
rol edi, 8
ror eax, 8
xor edi, eax
and edi, 0xff00ff
xor edi, eax
mov dword [r8 + 0xc], edi
cmp ebx, 0x80
jne 0x1401580fb
lea r12, [0x140134000]
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, edi
shr rax, 8
mov r8d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc r8d, 0x18
and r8d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r8d, eax
mov eax, edi
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r8d, eax
movzx eax, dil
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r8d, ecx
xor r8d, r10d
xor esi, r8d
mov dword [r14 + 0x10], r8d
xor r11d, esi
mov dword [r14 + 0x14], esi
mov eax, r11d
mov dword [r14 + 0x18], r11d
xor eax, edi
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x1c], edx
mov r10d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc r10d, 0x19
and r10d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r10d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r10d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r10d, ecx
xor r10d, r8d
mov dword [r14 + 0x20], r10d
mov r8d, r10d
xor r8d, esi
mov r9d, r8d
mov dword [r14 + 0x24], r8d
xor r9d, r11d
mov eax, r9d
mov dword [r14 + 0x28], r9d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x2c], edx
mov r11d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc r11d, 0x1a
and r11d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r11d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r11d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r11d, ecx
xor r11d, r10d
mov dword [r14 + 0x30], r11d
mov ebx, r11d
xor ebx, r8d
mov dword [r14 + 0x34], ebx
mov r8d, ebx
xor r8d, r9d
mov dword [r14 + 0x38], r8d
mov eax, r8d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x3c], edx
mov r10d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc r10d, 0x1b
and r10d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r10d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r10d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r10d, ecx
xor r10d, r11d
mov dword [r14 + 0x40], r10d
xor ebx, r10d
mov dword [r14 + 0x44], ebx
mov r9d, ebx
xor r9d, r8d
mov dword [r14 + 0x48], r9d
mov eax, r9d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x4c], edx
mov r11d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc r11d, 0x1c
and r11d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r11d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r11d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r11d, ecx
xor r11d, r10d
xor ebx, r11d
mov dword [r14 + 0x50], r11d
mov dword [r14 + 0x54], ebx
mov r8d, ebx
xor r8d, r9d
mov eax, r8d
mov dword [r14 + 0x58], r8d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
mov dword [r14 + 0x5c], edx
mov r10d, dword [r12 + rcx*4 + 0x1ab380]
btc r10d, 0x1d
and r10d, 0xff000000
shr rax, 8
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r10d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r10d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r10d, ecx
xor r10d, r11d
mov dword [r14 + 0x60], r10d
xor ebx, r10d
mov dword [r14 + 0x64], ebx
mov r9d, ebx
xor r9d, r8d
mov dword [r14 + 0x68], r9d
mov eax, r9d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x6c], edx
mov r8d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc r8d, 0x1e
and r8d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r8d, ecx
xor r8d, r10d
mov dword [r14 + 0x70], r8d
xor ebx, r8d
mov dword [r14 + 0x74], ebx
mov r10d, ebx
xor r10d, r9d
xor edx, r10d
mov dword [r14 + 0x78], r10d
mov dword [r14 + 0x7c], edx
mov eax, edx
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov r9d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
xor r9d, 0x80ffffff
and r9d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r9d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r9d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r9d, ecx
xor r9d, r8d
xor ebx, r9d
mov dword [r14 + 0x80], r9d
mov dword [r14 + 0x84], ebx
mov r8d, ebx
xor r8d, r10d
mov eax, r8d
mov dword [r14 + 0x88], r8d
xor eax, edx
mov edx, eax
mov dword [r14 + 0x8c], edx
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov r11d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
xor r11d, 0x1b000000
and r11d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r11d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r11d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r11d, ecx
xor r11d, r9d
mov dword [r14 + 0x90], r11d
mov r9d, r11d
xor r9d, ebx
mov dword [r14 + 0x94], r9d
mov r10d, r9d
xor r10d, r8d
mov dword [r14 + 0x98], r10d
mov eax, r10d
xor eax, edx
mov r8d, eax
shr rax, 0x10
movzx ecx, al
mov eax, r8d
shr rax, 8
mov dword [r14 + 0x9c], r8d
mov edx, dword [r12 + rcx*4 + 0x1ab380]
xor edx, 0x36000000
movzx ecx, al
and edx, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor edx, eax
mov eax, r8d
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor edx, eax
movzx eax, r8b
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor edx, ecx
xor edx, r11d
mov dword [r14 + 0xa0], edx
xor edx, r9d
mov dword [r14 + 0xa4], edx
xor edx, r10d
mov dword [r14 + 0xa8], edx
xor edx, r8d
mov dword [r14 + 0xac], edx
jmp 0x1401589e1
mov r13d, dword [r9 + 0x10]
mov eax, r13d
ror eax, 8
rol r13d, 8
xor r13d, eax
and r13d, 0xff00ff
xor r13d, eax
lea rax, [r8 + 0x10]
mov dword [rax], r13d
mov r8d, dword [r9 + 0x14]
mov ecx, r8d
rol r8d, 8
ror ecx, 8
xor r8d, ecx
and r8d, 0xff00ff
xor r8d, ecx
mov dword [r14 + 0x14], r8d
cmp ebx, 0xc0
jne 0x1401585e9
lea r12, [0x140134000]
mov eax, r8d
shr rax, 0x10
movzx ecx, al
mov eax, r8d
shr rax, 8
mov r9d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc r9d, 0x18
and r9d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r9d, eax
mov eax, r8d
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r9d, eax
movzx eax, r8b
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r9d, ecx
xor r9d, r10d
xor esi, r9d
mov dword [r14 + 0x18], r9d
mov dword [r14 + 0x1c], esi
mov r10d, esi
xor r10d, r11d
mov dword [r14 + 0x20], r10d
mov ebx, r10d
xor ebx, edi
mov dword [r14 + 0x24], ebx
mov edi, ebx
xor edi, r13d
xor r8d, edi
mov dword [r14 + 0x28], edi
mov edx, r8d
mov eax, r8d
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x2c], edx
mov r8d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc r8d, 0x19
and r8d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r8d, ecx
xor r8d, r9d
mov dword [r14 + 0x30], r8d
xor esi, r8d
mov dword [r14 + 0x34], esi
xor r10d, esi
xor ebx, r10d
mov dword [r14 + 0x38], r10d
xor edi, ebx
mov dword [r14 + 0x3c], ebx
mov eax, edi
mov dword [r14 + 0x40], edi
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x44], edx
mov r11d, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc r11d, 0x1a
and r11d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r11d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r11d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r11d, ecx
xor r11d, r8d
mov dword [r14 + 0x48], r11d
mov r8d, r11d
xor r8d, esi
mov dword [r14 + 0x4c], r8d
mov r9d, r8d
xor r9d, r10d
mov dword [r14 + 0x50], r9d
mov r10d, r9d
xor r10d, ebx
xor edi, r10d
mov dword [r14 + 0x54], r10d
mov eax, edi
mov dword [r14 + 0x58], edi
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x5c], edx
mov ebx, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc ebx, 0x1b
and ebx, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor ebx, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor ebx, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor ebx, ecx
xor ebx, r11d
mov dword [r14 + 0x60], ebx
mov r11d, ebx
xor r11d, r8d
mov dword [r14 + 0x64], r11d
mov r8d, r11d
xor r8d, r9d
mov dword [r14 + 0x68], r8d
mov r9d, r8d
xor r9d, r10d
mov r10d, r9d
mov dword [r14 + 0x6c], r9d
xor r10d, edi
mov eax, r10d
mov dword [r14 + 0x70], r10d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x74], edx
mov edi, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc edi, 0x1c
and edi, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor edi, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor edi, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor edi, ecx
xor edi, ebx
mov dword [r14 + 0x78], edi
mov ebx, edi
xor ebx, r11d
mov dword [r14 + 0x7c], ebx
mov r11d, ebx
xor r11d, r8d
mov dword [r14 + 0x80], r11d
mov r8d, r11d
xor r8d, r9d
mov dword [r14 + 0x84], r8d
mov r9d, r8d
xor r9d, r10d
mov dword [r14 + 0x88], r9d
mov eax, r9d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x8c], edx
mov esi, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc esi, 0x1d
and esi, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor esi, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor esi, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor esi, ecx
xor esi, edi
mov dword [r14 + 0x90], esi
mov r10d, esi
xor r10d, ebx
mov dword [r14 + 0x94], r10d
mov ebx, r10d
xor ebx, r11d
mov dword [r14 + 0x98], ebx
mov r11d, ebx
xor r11d, r8d
mov dword [r14 + 0x9c], r11d
mov r8d, r11d
xor r8d, r9d
mov eax, r8d
mov dword [r14 + 0xa0], r8d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0xa4], edx
mov edi, dword [r12 + rcx*4 + 0x1ab380]
movzx ecx, al
btc edi, 0x1e
and edi, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor edi, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor edi, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor edi, ecx
xor edi, esi
mov r9d, edi
mov dword [r14 + 0xa8], edi
xor r9d, r10d
mov dword [r14 + 0xac], r9d
mov r10d, r9d
xor r10d, ebx
mov dword [r14 + 0xb0], r10d
mov ebx, r10d
xor ebx, r11d
mov dword [r14 + 0xb4], ebx
mov eax, ebx
xor eax, r8d
mov dword [r14 + 0xb8], eax
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0xbc], edx
mov r8d, dword [r12 + rcx*4 + 0x1ab380]
xor r8d, 0x80ffffff
movzx ecx, al
and r8d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x1ab780]
and eax, 0xff0000
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x1aaf80]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x1aab80]
and ecx, 0xff00
xor r8d, ecx
xor r8d, edi
mov dword [r14 + 0xc0], r8d
xor r8d, r9d
mov dword [r14 + 0xc4], r8d
xor r8d, r10d
mov dword [r14 + 0xc8], r8d
xor r8d, ebx
mov dword [r14 + 0xcc], r8d
jmp 0x1401589e1
mov edx, dword [r9 + 0x18]
mov ecx, edx
rol edx, 8
ror ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, ecx
mov dword [r14 + 0x18], edx
mov edx, dword [r9 + 0x1c]
mov ecx, edx
rol edx, 8
ror ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, ecx
mov dword [r14 + 0x1c], edx
cmp ebx, 0x100
jne 0x1401589e1
mov r8d, edx
lea r12, [0x140134000]
mov ecx, edx
shr rcx, 0x10
movzx edx, cl
mov ecx, r8d
shr rcx, 8
mov qword [rsp + 0x38], rbp
mov qword [rsp], r15
mov r9d, dword [r12 + rdx*4 + 0x1ab380]
movzx edx, cl
btc r9d, 0x18
and r9d, 0xff000000
mov ecx, dword [r12 + rdx*4 + 0x1ab780]
and ecx, 0xff0000
xor r9d, ecx
mov ecx, r8d
shr rcx, 0x18
movzx ecx, byte [r12 + rcx*4 + 0x1aaf80]
xor r9d, ecx
movzx ecx, r8b
mov edx, dword [r12 + rcx*4 + 0x1aab80]
and edx, 0xff00
xor r9d, edx
xor r9d, r10d
xor esi, r9d
mov dword [r14 + 0x20], r9d
xor r11d, esi
mov dword [r14 + 0x24], esi
mov dword [r14 + 0x28], r11d
lea rsi, [0x1402e0c8c]
xor r11d, edi
mov qword [rsp + 0x30], rsi
mov dword [r14 + 0x2c], r11d
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [rax + 0x1c]
mov ecx, r8d
shr rcx, 0x10
movzx edx, cl
mov ecx, r8d
shr rcx, 8
mov ebx, dword [r12 + rdx*4 + 0x1ab780]
movzx edx, cl
and ebx, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x1aab80]
and ecx, 0xff00
xor ebx, ecx
mov ecx, r8d
shr rcx, 0x18
mov ecx, dword [r12 + rcx*4 + 0x1ab380]
and ecx, 0xff000000
xor ebx, ecx
movzx ecx, r8b
movzx ecx, byte [r12 + rcx*4 + 0x1aaf80]
xor ebx, ecx
xor ebx, r13d
mov dword [rax + 0x20], ebx
mov r14d, ebx
xor r14d, dword [rax + 4]
mov dword [rax + 0x24], r14d
mov r15d, r14d
xor r15d, dword [rax + 8]
mov dword [rax + 0x28], r15d
mov ecx, r15d
xor ecx, dword [rax + 0xc]
mov r9d, ecx
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x10
mov dword [rax + 0x2c], r9d
mov edi, dword [r12 + rdx*4 + 0x1ab780]
movzx edx, cl
and edi, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x1ab380]
and ecx, 0xff000000
xor edi, ecx
mov ecx, r9d
shr rcx, 0x18
movzx ecx, byte [r12 + rcx*4 + 0x1aaf80]
xor edi, ecx
movzx ecx, r9b
mov edx, dword [r12 + rcx*4 + 0x1aab80]
and edx, 0xff00
xor edi, edx
xor edi, dword [rsi - 8]
xor edi, dword [rax + 0x10]
mov dword [rax + 0x30], edi
mov r10d, edi
xor r10d, dword [rax + 0x14]
mov dword [rax + 0x34], r10d
mov r11d, r10d
xor r11d, dword [rax + 0x18]
mov ecx, r11d
mov dword [rax + 0x38], r11d
xor ecx, r8d
mov r8d, ecx
shr rcx, 0x10
movzx edx, cl
mov ecx, r8d
shr rcx, 8
mov dword [rax + 0x3c], r8d
mov esi, dword [r12 + rdx*4 + 0x1ab780]
movzx edx, cl
and esi, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x1aab80]
and ecx, 0xff00
xor esi, ecx
mov ecx, r8d
shr rcx, 0x18
mov ecx, dword [r12 + rcx*4 + 0x1ab380]
and ecx, 0xff000000
xor esi, ecx
movzx ecx, r8b
movzx ecx, byte [r12 + rcx*4 + 0x1aaf80]
xor esi, ecx
xor esi, ebx
xor r14d, esi
mov dword [rax + 0x40], esi
xor r15d, r14d
mov dword [rax + 0x44], r14d
xor r9d, r15d
mov dword [rax + 0x48], r15d
mov ecx, r9d
mov dword [rax + 0x4c], r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x10
mov ebp, dword [r12 + rdx*4 + 0x1ab780]
movzx edx, cl
and ebp, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x1ab380]
and ecx, 0xff000000
xor ebp, ecx
mov ecx, r9d
shr rcx, 0x18
movzx ecx, byte [r12 + rcx*4 + 0x1aaf80]
xor ebp, ecx
movzx ecx, r9b
mov edx, dword [r12 + rcx*4 + 0x1aab80]
mov rcx, qword [rsp + 0x30]
and edx, 0xff00
xor ebp, edx
xor ebp, dword [rcx - 4]
xor ebp, edi
mov dword [rax + 0x50], ebp
mov ebx, ebp
xor ebx, r10d
mov dword [rax + 0x54], ebx
mov edi, ebx
xor edi, r11d
mov dword [rax + 0x58], edi
mov ecx, edi
xor ecx, r8d
mov r11d, ecx
shr rcx, 0x10
movzx edx, cl
mov ecx, r11d
shr rcx, 8
mov dword [rax + 0x5c], r11d
mov r13d, dword [r12 + rdx*4 + 0x1ab780]
movzx edx, cl
and r13d, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x1aab80]
and ecx, 0xff00
xor r13d, ecx
mov ecx, r11d
shr rcx, 0x18
mov ecx, dword [r12 + rcx*4 + 0x1ab380]
and ecx, 0xff000000
xor r13d, ecx
movzx ecx, r11b
movzx ecx, byte [r12 + rcx*4 + 0x1aaf80]
xor r13d, ecx
xor r13d, esi
mov ecx, r13d
mov dword [rax + 0x60], r13d
xor ecx, r14d
mov dword [rax + 0x64], ecx
xor ecx, r15d
mov dword [rax + 0x68], ecx
xor ecx, r9d
mov r8d, ecx
shr rcx, 8
movzx edx, cl
mov ecx, r8d
shr rcx, 0x10
mov dword [rax + 0x6c], r8d
mov r9d, dword [r12 + rdx*4 + 0x1ab780]
movzx edx, cl
and r9d, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x1ab380]
and ecx, 0xff000000
xor r9d, ecx
mov ecx, r8d
shr rcx, 0x18
movzx ecx, byte [r12 + rcx*4 + 0x1aaf80]
lea rax, [rax + 0x60]
mov rsi, qword [rsp + 0x30]
xor r9d, ecx
movzx ecx, r8b
mov edx, dword [r12 + rcx*4 + 0x1aab80]
lea rcx, [0x1402e0ca4]
and edx, 0xff00
xor r9d, edx
xor r9d, ebp
xor r9d, dword [rsi]
add rsi, 0xc
mov dword [rax + 0x10], r9d
xor r9d, ebx
xor edi, r9d
mov dword [rax + 0x14], r9d
xor r11d, edi
mov dword [rax + 0x18], edi
mov dword [rax + 0x1c], r11d
mov qword [rsp + 0x30], rsi
cmp rsi, rcx
jne 0x1401586d0
mov r15, qword [rsp]
mov rbp, qword [rsp + 0x38]
mov r12, qword [rsp + 0x10]
xor eax, eax
mov r13, qword [rsp + 8]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x18
pop r14
pop rbx
ret
mov eax, 0xfffffffe
add rsp, 0x18
pop r14
pop rbx
ret
mov eax, 0xffffffff
add rsp, 0x18
pop r14
pop rbx
ret