Function at 0x1800a5a20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rax, qword [rcx + 0x28]
mov rbx, r9
mov r12, r8
mov r14, rdx
mov r15, rcx
cmp qword [rcx + 0x20], rax
jne 0x1800a5a4d
call fcn.180036630
xor r13d, r13d
test rbx, rbx
je 0x1800a6de7
mov qword [rsp + 0x50], rbp
lea r8, [0x180000000]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rdi
nop
mov r11, qword [r15 + 8]
mov r10, qword [r15 + 0x20]
mov edi, dword [r14 + 0xc]
mov ebx, dword [r14]
mov r9d, dword [r11 + 0xb0]
movzx ecx, byte [r10 + 0x2c]
mov esi, dword [r14 + 4]
mov ebp, dword [r14 + 8]
bswap edi
add r9d, edi
bswap ebx
bswap esi
bswap ebp
test rcx, rcx
je 0x1800a5aa6
rol r9d, cl
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xb4]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x2d]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a5b08
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xb8]
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x2e]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a5b71
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xbc]
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x2f]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a5bd8
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xa0]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x28]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a5c3f
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xa4]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x29]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a5ca8
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xa8]
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x2a]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a5d11
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xac]
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x2b]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a5d78
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x90]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x24]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a5ddf
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x94]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x25]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a5e48
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x98]
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x26]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a5eb1
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x9c]
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x27]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a5f18
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x80]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x20]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a5f7f
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x84]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x21]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a5fe8
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x88]
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x22]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a6051
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x8c]
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x23]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a60b8
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x70]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x1c]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a611c
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x74]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x1d]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a6182
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x78]
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x1e]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a61e8
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x7c]
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x1f]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a624c
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x60]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x18]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a62b0
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x64]
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x19]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a6316
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x68]
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x1a]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a637c
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x6c]
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x1b]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a63e0
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x5c]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x17]
xor edi, r8d
test rcx, rcx
je 0x1800a6444
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x58]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x16]
xor edi, r8d
test rax, rax
je 0x1800a64aa
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x54]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x15]
xor ebx, r8d
test rax, rax
je 0x1800a6510
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x50]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x14]
xor esi, r8d
test rcx, rcx
je 0x1800a6574
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x4c]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x13]
xor ebp, r8d
test rcx, rcx
je 0x1800a65d8
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x48]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x12]
xor edi, r8d
test rax, rax
je 0x1800a663e
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x44]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0x11]
xor ebx, r8d
test rax, rax
je 0x1800a66a4
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x40]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0x10]
xor esi, r8d
test rcx, rcx
je 0x1800a6708
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x3c]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0xf]
xor ebp, r8d
test rcx, rcx
je 0x1800a676c
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x38]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0xe]
xor edi, r8d
test rax, rax
je 0x1800a67d2
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x34]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0xd]
xor ebx, r8d
test rax, rax
je 0x1800a6838
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x30]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0xc]
xor esi, r8d
test rcx, rcx
je 0x1800a689c
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x2c]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 0xb]
xor ebp, r8d
test rcx, rcx
je 0x1800a6900
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x28]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 0xa]
xor edi, r8d
test rax, rax
je 0x1800a6966
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x24]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 9]
xor ebx, r8d
test rax, rax
je 0x1800a69cc
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x20]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 8]
xor esi, r8d
test rcx, rcx
je 0x1800a6a30
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x1c]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 7]
xor ebp, r8d
test rcx, rcx
je 0x1800a6a94
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x18]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 6]
xor edi, r8d
test rax, rax
je 0x1800a6afa
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x14]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 5]
xor ebx, r8d
test rax, rax
je 0x1800a6b60
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x10]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 4]
xor esi, r8d
test rcx, rcx
je 0x1800a6bc4
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xc]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10 + 3]
xor ebp, r8d
test rcx, rcx
je 0x1800a6c28
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 8]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x201b50]
add r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 2]
xor edi, r8d
test rax, rax
je 0x1800a6c8e
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 4]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x201b50]
sub r8d, dword [rdx + rax*4 + 0x201f50]
movzx eax, byte [r10 + 1]
xor ebx, r8d
test rax, rax
je 0x1800a6cf4
mov ecx, eax
rol r9d, cl
mov eax, r9d
lea r8, [0x180000000]
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov r8d, dword [r8 + rdx*4 + 0x201350]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x201b50]
xor r8d, dword [rdx + rax*4 + 0x201f50]
movzx ecx, byte [r10]
xor esi, r8d
test rcx, rcx
je 0x1800a6d56
rol r9d, cl
lea r10, [0x180000000]
mov eax, r9d
shr eax, 0x18
add r14, 0x10
movzx edx, al
inc r13
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
mov r8d, dword [r10 + rdx*4 + 0x201350]
shr eax, 8
bswap ebx
xor r8d, dword [r10 + rcx*4 + 0x201750]
movzx ecx, al
movzx eax, r9b
bswap esi
bswap edi
sub r8d, dword [r10 + rcx*4 + 0x201b50]
add r8d, dword [r10 + rax*4 + 0x201f50]
xor r8d, ebp
mov dword [r12], ebx
bswap r8d
mov dword [r12 + 8], r8d
lea r8, [0x180000000]
mov dword [r12 + 4], esi
mov dword [r12 + 0xc], edi
add r12, 0x10
cmp r13, qword [rsp + 0x68]
jne 0x1800a5a70
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rbx
ret