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

Disassembly:
push r14
mov eax, 0x20
call fcn.180227e80
sub rsp, rax
mov r14, r8
mov r8, rcx
mov r9d, edx
test rcx, rcx
je 0x1801b0772
test r14, r14
je 0x1801b0772
lea eax, [rdx - 0x80]
test eax, 0xffffff3f
jne 0x1801b0766
cmp edx, 0x140
je 0x1801b0766
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x18], rdi
cmp edx, 0x80
jne 0x1801af8a8
mov dword [r14 + 0xf0], 0xa
jmp 0x1801af8c3
cmp r9d, 0xc0
mov eax, reloc.WS2_32.dll_ntohl
mov ecx, reloc.WS2_32.dll_inet_ntoa
cmove eax, ecx
mov dword [r14 + 0xf0], eax
mov eax, dword [r8]
mov r10d, eax
rol eax, 8
and eax, 0xff00ff
ror r10d, 8
and r10d, 0xff00ff00
mov qword [rsp + 0x38], rbx
or r10d, eax
mov qword [rsp + 0x10], r12
mov dword [r14], r10d
mov eax, dword [r8 + 4]
mov edi, eax
rol eax, 8
and eax, 0xff00ff
ror edi, 8
and edi, 0xff00ff00
mov qword [rsp + 8], r13
or edi, eax
mov qword [rsp], r15
mov dword [r14 + 4], edi
mov eax, dword [r8 + 8]
mov esi, eax
rol eax, 8
and eax, 0xff00ff
ror esi, 8
and esi, 0xff00ff00
or esi, eax
mov dword [r14 + 8], esi
mov eax, dword [r8 + 0xc]
mov ebp, eax
ror ebp, 8
rol eax, 8
and ebp, 0xff00ff00
and eax, 0xff00ff
or ebp, eax
mov dword [r14 + 0xc], ebp
cmp r9d, 0x80
jne 0x1801afe6a
lea r12, [0x180000000]
mov eax, ebp
shr rax, 0x10
movzx ecx, al
mov eax, ebp
shr rax, 8
mov r9d, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
btc r9d, 0x18
and r9d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r9d, eax
mov eax, ebp
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r9d, eax
movzx eax, bpl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r9d, ecx
xor r9d, r10d
xor edi, r9d
mov dword [r14 + 0x10], r9d
mov dword [r14 + 0x14], edi
mov r10d, edi
xor r10d, esi
mov dword [r14 + 0x18], r10d
mov eax, r10d
xor eax, ebp
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x1c], edx
mov r8d, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
btc r8d, 0x19
and r8d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r8d, ecx
xor r8d, r9d
xor edi, r8d
mov dword [r14 + 0x20], r8d
xor r10d, edi
mov dword [r14 + 0x24], edi
mov eax, r10d
mov dword [r14 + 0x28], r10d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x2c], edx
mov r9d, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
btc r9d, 0x1a
and r9d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r9d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r9d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r9d, ecx
xor r9d, r8d
mov dword [r14 + 0x30], r9d
xor edi, r9d
mov dword [r14 + 0x34], edi
mov r8d, edi
xor r8d, r10d
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 + 0x2c0840]
movzx ecx, al
btc r10d, 0x1b
and r10d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r10d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r10d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r10d, ecx
xor r10d, r9d
mov dword [r14 + 0x40], r10d
xor edi, r10d
mov dword [r14 + 0x44], edi
mov r9d, edi
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 + 0x2c0840]
movzx ecx, al
btc r11d, 0x1c
and r11d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r11d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r11d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r11d, ecx
xor r11d, r10d
mov dword [r14 + 0x50], r11d
mov ebx, r11d
xor ebx, edi
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
shr rax, 8
mov dword [r14 + 0x5c], edx
mov r10d, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
btc r10d, 0x1d
and r10d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r10d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r10d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
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 + 0x2c0840]
movzx ecx, al
btc r8d, 0x1e
and r8d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
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
mov dword [r14 + 0x78], r10d
mov eax, r10d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x7c], edx
mov r9d, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
xor r9d, 0x80ffffff
and r9d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r9d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r9d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
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 r10d, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
xor r10d, 0x1b000000
and r10d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r10d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r10d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r10d, ecx
xor r10d, r9d
mov dword [r14 + 0x90], r10d
xor ebx, r10d
mov dword [r14 + 0x94], ebx
mov r9d, ebx
xor r9d, r8d
mov dword [r14 + 0x98], r9d
mov eax, r9d
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 + 0x2c0840]
movzx ecx, al
xor edx, 0x36000000
and edx, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor edx, eax
mov eax, r8d
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor edx, eax
movzx eax, r8b
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor edx, ecx
xor edx, r10d
xor ebx, edx
mov dword [r14 + 0xa0], edx
mov dword [r14 + 0xa4], ebx
xor ebx, r9d
mov dword [r14 + 0xa8], ebx
xor ebx, r8d
mov dword [r14 + 0xac], ebx
jmp 0x1801b073b
mov eax, dword [r8 + 0x10]
mov r13d, eax
ror r13d, 8
rol eax, 8
and r13d, 0xff00ff00
and eax, 0xff00ff
or r13d, eax
lea rax, [r14 + 0x10]
mov dword [rax], r13d
mov ecx, dword [r8 + 0x14]
mov r15d, ecx
ror r15d, 8
rol ecx, 8
and r15d, 0xff00ff00
and ecx, 0xff00ff
or r15d, ecx
mov dword [r14 + 0x14], r15d
cmp r9d, 0xc0
jne 0x1801b0359
lea r12, [0x180000000]
mov eax, r15d
shr rax, 0x10
movzx ecx, al
mov eax, r15d
shr rax, 8
mov r9d, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
btc r9d, 0x18
and r9d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r9d, eax
mov eax, r15d
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r9d, eax
movzx eax, r15b
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r9d, ecx
xor r9d, r10d
mov dword [r14 + 0x18], r9d
mov r11d, r9d
xor r11d, edi
mov dword [r14 + 0x1c], r11d
mov ebx, r11d
xor ebx, esi
mov dword [r14 + 0x20], ebx
mov edi, ebx
xor edi, ebp
xor r13d, edi
mov dword [r14 + 0x24], edi
mov dword [r14 + 0x28], r13d
mov eax, r13d
xor eax, r15d
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x2c], edx
mov r8d, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
btc r8d, 0x19
and r8d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r8d, ecx
xor r8d, r9d
mov dword [r14 + 0x30], r8d
xor r11d, r8d
mov dword [r14 + 0x34], r11d
xor ebx, r11d
xor edi, ebx
mov dword [r14 + 0x38], ebx
xor r13d, edi
mov dword [r14 + 0x3c], edi
mov eax, r13d
mov dword [r14 + 0x40], r13d
xor eax, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov dword [r14 + 0x44], edx
mov r10d, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
btc r10d, 0x1a
and r10d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r10d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r10d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r10d, ecx
xor r10d, r8d
mov dword [r14 + 0x48], r10d
mov r8d, r10d
xor r8d, r11d
mov dword [r14 + 0x4c], r8d
mov r9d, r8d
xor r9d, ebx
xor edi, r9d
mov dword [r14 + 0x50], r9d
mov dword [r14 + 0x54], edi
xor r13d, edi
xor edx, r13d
mov dword [r14 + 0x58], r13d
mov dword [r14 + 0x5c], edx
mov eax, edx
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov ebx, dword [r12 + rcx*4 + 0x2c0840]
movzx ecx, al
btc ebx, 0x1b
and ebx, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor ebx, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor ebx, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor ebx, ecx
xor ebx, r10d
mov dword [r14 + 0x60], ebx
mov r10d, ebx
xor r10d, r8d
mov dword [r14 + 0x64], r10d
mov r8d, r10d
xor r8d, r9d
mov dword [r14 + 0x68], r8d
mov r9d, r8d
xor r9d, edi
mov r11d, r9d
mov dword [r14 + 0x6c], r9d
xor r11d, r13d
mov eax, r11d
mov dword [r14 + 0x70], r11d
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 + 0x2c0840]
movzx ecx, al
btc edi, 0x1c
and edi, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor edi, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor edi, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor edi, ecx
xor edi, ebx
mov dword [r14 + 0x78], edi
mov ebx, edi
xor ebx, r10d
mov dword [r14 + 0x7c], ebx
mov r10d, ebx
xor r10d, r8d
mov dword [r14 + 0x80], r10d
mov r8d, r10d
xor r8d, r9d
mov dword [r14 + 0x84], r8d
mov r9d, r8d
xor r9d, r11d
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 + 0x2c0840]
movzx ecx, al
btc esi, 0x1d
and esi, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor esi, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor esi, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor esi, ecx
xor esi, edi
mov dword [r14 + 0x90], esi
mov r11d, esi
xor r11d, ebx
mov dword [r14 + 0x94], r11d
mov ebx, r11d
xor ebx, r10d
mov dword [r14 + 0x98], ebx
mov r10d, ebx
xor r10d, r8d
mov dword [r14 + 0x9c], r10d
mov r8d, r10d
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 + 0x2c0840]
movzx ecx, al
btc edi, 0x1e
and edi, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor edi, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor edi, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor edi, ecx
xor edi, esi
mov dword [r14 + 0xa8], edi
mov r9d, edi
xor r9d, r11d
mov r11d, r9d
mov dword [r14 + 0xac], r9d
xor r11d, ebx
mov dword [r14 + 0xb0], r11d
mov ebx, r11d
xor ebx, r10d
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 + 0x2c0840]
xor r8d, 0x80ffffff
movzx ecx, al
and r8d, 0xff000000
mov eax, dword [r12 + rcx*4 + 0x2c0c40]
and eax, 0xff0000
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r12 + rax*4 + 0x2c0440]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r12 + rax*4 + 0x2c0040]
and ecx, 0xff00
xor r8d, ecx
xor r8d, edi
mov dword [r14 + 0xc0], r8d
xor r8d, r9d
mov dword [r14 + 0xc4], r8d
xor r8d, r11d
mov dword [r14 + 0xc8], r8d
xor r8d, ebx
mov dword [r14 + 0xcc], r8d
jmp 0x1801b073b
mov ecx, dword [r8 + 0x18]
mov edx, ecx
ror edx, 8
and edx, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or edx, ecx
mov dword [r14 + 0x18], edx
mov ecx, dword [r8 + 0x1c]
mov edx, ecx
ror edx, 8
rol ecx, 8
and edx, 0xff00ff00
and ecx, 0xff00ff
or edx, ecx
mov dword [r14 + 0x1c], edx
cmp r9d, 0x100
jne 0x1801b073b
mov r8d, edx
lea r12, [0x180000000]
mov ecx, edx
shr rcx, 0x10
movzx edx, cl
mov ecx, r8d
shr rcx, 8
mov r9d, dword [r12 + rdx*4 + 0x2c0840]
movzx edx, cl
btc r9d, 0x18
and r9d, 0xff000000
mov ecx, dword [r12 + rdx*4 + 0x2c0c40]
and ecx, 0xff0000
xor r9d, ecx
mov ecx, r8d
shr rcx, 0x18
movzx ecx, byte [r12 + rcx*4 + 0x2c0440]
xor r9d, ecx
movzx ecx, r8b
mov edx, dword [r12 + rcx*4 + 0x2c0040]
and edx, 0xff00
xor r9d, edx
xor r9d, r10d
xor edi, r9d
mov dword [r14 + 0x20], r9d
xor esi, edi
mov dword [r14 + 0x24], edi
xor ebp, esi
mov dword [r14 + 0x28], esi
lea rsi, [0x1802c214c]
mov dword [r14 + 0x2c], ebp
mov qword [rsp + 0x30], rsi
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 + 0x2c0c40]
movzx edx, cl
and ebx, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x2c0040]
and ecx, 0xff00
xor ebx, ecx
mov ecx, r8d
shr rcx, 0x18
mov ecx, dword [r12 + rcx*4 + 0x2c0840]
and ecx, 0xff000000
xor ebx, ecx
movzx ecx, r8b
movzx ecx, byte [r12 + rcx*4 + 0x2c0440]
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 + 0x2c0c40]
movzx edx, cl
and edi, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x2c0840]
and ecx, 0xff000000
xor edi, ecx
mov ecx, r9d
shr rcx, 0x18
movzx ecx, byte [r12 + rcx*4 + 0x2c0440]
xor edi, ecx
movzx ecx, r9b
mov edx, dword [r12 + rcx*4 + 0x2c0040]
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 + 0x2c0c40]
movzx edx, cl
and esi, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x2c0040]
and ecx, 0xff00
xor esi, ecx
mov ecx, r8d
shr rcx, 0x18
mov ecx, dword [r12 + rcx*4 + 0x2c0840]
and ecx, 0xff000000
xor esi, ecx
movzx ecx, r8b
movzx ecx, byte [r12 + rcx*4 + 0x2c0440]
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 + 0x2c0c40]
movzx edx, cl
and ebp, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x2c0840]
and ecx, 0xff000000
xor ebp, ecx
mov ecx, r9d
shr rcx, 0x18
movzx ecx, byte [r12 + rcx*4 + 0x2c0440]
xor ebp, ecx
movzx ecx, r9b
mov edx, dword [r12 + rcx*4 + 0x2c0040]
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 + 0x2c0c40]
movzx edx, cl
and r13d, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x2c0040]
and ecx, 0xff00
xor r13d, ecx
mov ecx, r11d
shr rcx, 0x18
mov ecx, dword [r12 + rcx*4 + 0x2c0840]
and ecx, 0xff000000
xor r13d, ecx
movzx ecx, r11b
movzx ecx, byte [r12 + rcx*4 + 0x2c0440]
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 + 0x2c0c40]
movzx edx, cl
and r9d, 0xff0000
mov ecx, dword [r12 + rdx*4 + 0x2c0840]
and ecx, 0xff000000
xor r9d, ecx
mov ecx, r8d
shr rcx, 0x18
movzx ecx, byte [r12 + rcx*4 + 0x2c0440]
lea rax, [rax + 0x60]
mov rsi, qword [rsp + 0x30]
xor r9d, ecx
movzx ecx, r8b
mov edx, dword [r12 + rcx*4 + 0x2c0040]
lea rcx, [0x1802c2164]
and edx, 0xff00
xor r9d, edx
xor r9d, ebp
xor r9d, dword [rsi]
add rsi, 0xc
mov dword [rax + 0x10], r9d
xor r9d, ebx
mov dword [rax + 0x14], r9d
xor r9d, edi
mov dword [rax + 0x18], r9d
xor r9d, r11d
mov dword [rax + 0x1c], r9d
mov qword [rsp + 0x30], rsi
cmp rsi, rcx
jne 0x1801b0432
mov r13, qword [rsp + 8]
xor eax, eax
mov r12, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x18]
add rsp, 0x20
pop r14
ret
mov eax, 0xfffffffe
add rsp, 0x20
pop r14
ret
mov eax, 0xffffffff
add rsp, 0x20
pop r14
ret