Function at 0x1800a3a70
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 0x1800a3a9d
call fcn.1800331f0
xor r13d, r13d
test rbx, rbx
je 0x1800a4e37
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]
movzx ecx, byte [r10]
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 0x1800a3af1
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 4]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 1]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a3b50
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 8]
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 2]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a3bb6
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xc]
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 3]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a3c1a
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x10]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 4]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a3c7e
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x14]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 5]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a3ce4
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x18]
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 6]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a3d4a
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x1c]
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 7]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a3dae
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x20]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 8]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a3e12
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x24]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 9]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a3e78
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x28]
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0xa]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a3ede
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x2c]
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0xb]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a3f42
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x30]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0xc]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a3fa6
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x34]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0xd]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a400c
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x38]
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0xe]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a4072
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x3c]
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0xf]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a40d6
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x40]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x10]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a413a
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x44]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x11]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a41a0
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x48]
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x12]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a4206
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x4c]
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x13]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a426a
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x50]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x14]
xor edi, r8d
add r9d, edi
test rcx, rcx
je 0x1800a42ce
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x54]
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x15]
xor ebp, r8d
xor r9d, ebp
test rax, rax
je 0x1800a4334
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x58]
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x16]
xor esi, r8d
sub r9d, esi
test rax, rax
je 0x1800a439a
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x5c]
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x17]
xor ebx, r8d
add r9d, ebx
test rcx, rcx
je 0x1800a43fe
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x6c]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x1b]
xor edi, r8d
test rcx, rcx
je 0x1800a4462
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x68]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x1a]
xor edi, r8d
test rax, rax
je 0x1800a44c8
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x64]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x19]
xor ebx, r8d
test rax, rax
je 0x1800a452e
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x60]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x18]
xor esi, r8d
test rcx, rcx
je 0x1800a4592
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x7c]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x1f]
xor ebp, r8d
test rcx, rcx
je 0x1800a45f6
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x78]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x1e]
xor edi, r8d
test rax, rax
je 0x1800a465c
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x74]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x1d]
xor ebx, r8d
test rax, rax
je 0x1800a46c2
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x70]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x1c]
xor esi, r8d
test rcx, rcx
je 0x1800a4726
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x8c]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x23]
xor ebp, r8d
test rcx, rcx
je 0x1800a478d
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x88]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x22]
xor edi, r8d
test rax, rax
je 0x1800a47f6
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x84]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x21]
xor ebx, r8d
test rax, rax
je 0x1800a485f
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x80]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x20]
xor esi, r8d
test rcx, rcx
je 0x1800a48c6
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x9c]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x27]
xor ebp, r8d
test rcx, rcx
je 0x1800a492d
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x98]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x26]
xor edi, r8d
test rax, rax
je 0x1800a4996
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x94]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x25]
xor ebx, r8d
test rax, rax
je 0x1800a49ff
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0x90]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x24]
xor esi, r8d
test rcx, rcx
je 0x1800a4a66
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xac]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x2b]
xor ebp, r8d
test rcx, rcx
je 0x1800a4acd
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xa8]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x2a]
xor edi, r8d
test rax, rax
je 0x1800a4b36
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xa4]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x29]
xor ebx, r8d
test rax, rax
je 0x1800a4b9f
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xa0]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x28]
xor esi, r8d
test rcx, rcx
je 0x1800a4c06
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xbc]
add r9d, ebx
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x2f]
xor ebp, r8d
test rcx, rcx
je 0x1800a4c6d
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 + 0x1d51d0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xb8]
sub r9d, esi
sub r8d, dword [rdx + rcx*4 + 0x1d59d0]
add r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x2e]
xor edi, r8d
test rax, rax
je 0x1800a4cd6
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 + 0x1d51d0]
lea rdx, [0x180000000]
add r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xb4]
xor r9d, ebp
xor r8d, dword [rdx + rcx*4 + 0x1d59d0]
sub r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx eax, byte [r10 + 0x2d]
xor ebx, r8d
test rax, rax
je 0x1800a4d3f
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 + 0x1d51d0]
lea rdx, [0x180000000]
sub r8d, dword [rdx + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
mov r9d, dword [r11 + 0xb0]
add r9d, edi
add r8d, dword [rdx + rcx*4 + 0x1d59d0]
xor r8d, dword [rdx + rax*4 + 0x1d5dd0]
movzx ecx, byte [r10 + 0x2c]
xor esi, r8d
test rcx, rcx
je 0x1800a4da6
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 + 0x1d51d0]
shr eax, 8
bswap ebx
xor r8d, dword [r10 + rcx*4 + 0x1d55d0]
movzx ecx, al
movzx eax, r9b
bswap esi
bswap edi
sub r8d, dword [r10 + rcx*4 + 0x1d59d0]
add r8d, dword [r10 + rax*4 + 0x1d5dd0]
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 0x1800a3ac0
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