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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov rax, qword [0x180042040]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov eax, dword [rsp + 0x160]
lea r15, [r8 + 0x20]
mov rbp, qword [rdx + 0x58]
mov r13, r9
mov dword [rsp], eax
mov r12d, 2
mov rax, qword [rcx + 0x198]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], r9
movsx ecx, word [r15 + 0x20]
imul ecx, dword [rbp + 0x80]
movsx r14d, word [r15 - 0x20]
imul r14d, dword [rbp]
movsx edi, word [r15 - 0x10]
imul edi, dword [rbp + 0x20]
movsx r8d, word [r15 + 0x30]
imul r8d, dword [rbp + 0xa0]
movsx r9d, word [r15 + 0x10]
imul r9d, dword [rbp + 0x60]
imul edx, ecx, 0x16a1
movsx ecx, word [r15]
imul ecx, dword [rbp + 0x40]
mov r11d, r8d
shl r14d, 0xd
add r14d, 0x400
sub r11d, r9d
shl r11d, 0xd
lea r10d, [r9 + rdi]
lea esi, [rdx + r14]
shl r10d, 0xd
add edx, edx
sub r14d, edx
imul edx, ecx, 0x2731
lea ecx, [r8 + rdi]
sar r14d, 0xb
sub edi, r8d
movsx r8d, word [r15 + 0x32]
imul r8d, dword [rbp + 0xa4]
sub edi, r9d
movsx r9d, word [r15 + 0x12]
imul r9d, dword [rbp + 0x64]
shl edi, 2
lea ebx, [rsi + rdx]
sub esi, edx
imul edx, ecx, 0xbb6
add r10d, edx
add r11d, edx
lea ecx, [rbx + r10]
sub ebx, r10d
sar ecx, 0xb
mov dword [rax - 0x20], ecx
lea ecx, [r14 + rdi]
sub r14d, edi
mov dword [rax], ecx
movsx edi, word [r15 - 0xe]
lea ecx, [rsi + r11]
imul edi, dword [rbp + 0x24]
sub esi, r11d
sar ecx, 0xb
mov r11d, r8d
mov dword [rax + 0x60], r14d
sub r11d, r9d
movsx r14d, word [r15 - 0x1e]
imul r14d, dword [rbp + 4]
mov dword [rax + 0x20], ecx
movsx ecx, word [r15 + 0x22]
imul ecx, dword [rbp + 0x84]
sar esi, 0xb
lea r10d, [r9 + rdi]
shl r14d, 0xd
add r14d, 0x400
sar ebx, 0xb
mov dword [rax + 0x40], esi
imul edx, ecx, 0x16a1
movsx ecx, word [r15 + 2]
imul ecx, dword [rbp + 0x44]
shl r10d, 0xd
mov dword [rax + 0x80], ebx
shl r11d, 0xd
lea esi, [rdx + r14]
add edx, edx
sub r14d, edx
imul edx, ecx, 0x2731
lea ecx, [r8 + rdi]
sar r14d, 0xb
lea ebx, [rsi + rdx]
sub esi, edx
imul edx, ecx, 0xbb6
add r10d, edx
add r11d, edx
sub edi, r8d
lea ecx, [rbx + r10]
movsx r8d, word [r15 + 0x34]
sub edi, r9d
imul r8d, dword [rbp + 0xa8]
sub ebx, r10d
movsx r9d, word [r15 + 0x14]
imul r9d, dword [rbp + 0x68]
sar ecx, 0xb
mov dword [rax - 0x1c], ecx
shl edi, 2
sar ebx, 0xb
mov dword [rax + 0x84], ebx
lea ecx, [r14 + rdi]
sub r14d, edi
movsx edi, word [r15 - 0xc]
imul edi, dword [rbp + 0x28]
mov dword [rax + 4], ecx
lea ecx, [rsi + r11]
sar ecx, 0xb
sub esi, r11d
mov dword [rax + 0x24], ecx
mov r11d, r8d
movsx ecx, word [r15 + 0x24]
sub r11d, r9d
imul ecx, dword [rbp + 0x88]
mov dword [rax + 0x64], r14d
movsx r14d, word [r15 - 0x1c]
imul r14d, dword [rbp + 8]
lea r10d, [r9 + rdi]
sar esi, 0xb
imul edx, ecx, 0x16a1
movsx ecx, word [r15 + 4]
imul ecx, dword [rbp + 0x48]
shl r14d, 0xd
add r14d, 0x400
mov dword [rax + 0x44], esi
shl r10d, 0xd
shl r11d, 0xd
lea esi, [rdx + r14]
add edx, edx
sub r14d, edx
imul edx, ecx, 0x2731
sar r14d, 0xb
lea ecx, [r8 + rdi]
sub edi, r8d
sub edi, r9d
shl edi, 2
lea ebx, [rsi + rdx]
sub esi, edx
imul edx, ecx, 0xbb6
add r10d, edx
add r11d, edx
lea ecx, [rbx + r10]
sub ebx, r10d
sar ecx, 0xb
mov dword [rax - 0x18], ecx
lea ecx, [r14 + rdi]
sub r14d, edi
mov dword [rax + 8], ecx
mov dword [rax + 0x68], r14d
lea ecx, [rsi + r11]
movsx r14d, word [r15 - 0x1a]
sub esi, r11d
imul r14d, dword [rbp + 0xc]
sar ecx, 0xb
mov dword [rax + 0x28], ecx
movsx ecx, word [r15 + 0x26]
imul ecx, dword [rbp + 0x8c]
shl r14d, 0xd
add r14d, 0x400
sar esi, 0xb
sar ebx, 0xb
mov dword [rax + 0x48], esi
imul edx, ecx, 0x16a1
movsx ecx, word [r15 + 6]
mov dword [rax + 0x88], ebx
lea esi, [rdx + r14]
add edx, edx
sub r14d, edx
sar r14d, 0xb
imul ecx, dword [rbp + 0x4c]
lea rax, [rax + 0x10]
movsx edi, word [r15 - 0xa]
imul edi, dword [rbp + 0x2c]
lea rbp, [rbp + 0x10]
movsx r8d, word [r15 + 0x36]
imul r8d, dword [rbp + 0x9c]
movsx r9d, word [r15 + 0x16]
lea r15, [r15 + 8]
imul r9d, dword [rbp + 0x5c]
imul edx, ecx, 0x2731
mov r11d, r8d
sub r11d, r9d
lea ecx, [r8 + rdi]
shl r11d, 0xd
lea r10d, [r9 + rdi]
sub edi, r8d
lea ebx, [rsi + rdx]
shl r10d, 0xd
sub esi, edx
sub edi, r9d
imul edx, ecx, 0xbb6
shl edi, 2
add r10d, edx
add r11d, edx
lea ecx, [rbx + r10]
sub ebx, r10d
sar ecx, 0xb
mov dword [rax - 0x24], ecx
lea ecx, [r14 + rdi]
mov dword [rax - 4], ecx
sub r14d, edi
lea ecx, [rsi + r11]
sar ebx, 0xb
sub esi, r11d
sar ecx, 0xb
sar esi, 0xb
mov dword [rax + 0x3c], esi
mov dword [rax + 0x7c], ebx
mov dword [rax + 0x5c], r14d
mov dword [rax + 0x1c], ecx
sub r12, 1
jne 0x180029ed2
mov ecx, dword [rsp]
lea rdi, [rsp + 0x48]
xor eax, eax
mov qword [rsp + 0x10], rdi
lea rdx, [r13 + 8]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x30], rdx
nop dword [rax + rax]
add rcx, qword [r13 + rax*8]
imul eax, dword [rdi + 8], 0x2731
mov edx, dword [rdi]
mov ebx, dword [rdi + 4]
mov r10d, dword [rdi - 8]
mov qword [rsp + 0x20], rcx
add r10d, 0x4010
mov ecx, dword [rdi + 0x10]
shl ecx, 0xd
imul r8d, edx, 0x2bb6
shl r10d, 0xd
shl edx, 0xd
mov r9d, r10d
sub r9d, eax
lea r11d, [rax + r10]
mov eax, edx
sub eax, ecx
lea r15d, [r10 + rax]
sub r10d, eax
lea eax, [r8 + rcx]
mov dword [rsp + 8], r10d
mov r10d, dword [rdi + 0xc]
lea esi, [rax + r11]
sub r11d, eax
sub r8d, ecx
sub r8d, edx
mov dword [rsp + 0xc], r11d
mov r11d, dword [rdi - 4]
imul edx, ebx, 0x29cf
lea r12d, [r9 + r8]
sub r9d, r8d
imul r8d, ebx, 0xffffeeaf
lea ecx, [r10 + r11]
imul ebp, ecx, 0x85b
sub ebx, r10d
mov dword [rsp + 4], r9d
mov r9d, dword [rdi + 0x14]
imul edi, r11d, 0x8f7
lea eax, [r9 + rcx]
imul r13d, eax, 0x1b8d
lea eax, [r9 + r10]
imul r14d, eax, 0xffffde8b
add edi, edx
imul eax, r10d, 0x2f50
add ebp, r13d
add edi, ebp
mov ecx, r14d
sub ecx, eax
imul eax, r9d, 0x32c6
add ecx, r8d
add ebp, ecx
imul ecx, r11d, 0xffffea5c
sub r11d, r9d
sub eax, edx
add eax, r13d
add r14d, eax
imul eax, r9d, 0x3f74
mov r9, qword [rsp + 0x28]
sub ecx, eax
lea eax, [rbx + r11]
imul edx, eax, 0x1151
add ecx, r8d
mov r8, qword [rsp + 0x20]
add r13d, ecx
imul eax, ebx, 0x3b21
imul ecx, r11d, 0x187e
add ecx, edx
sub edx, eax
lea eax, [rsi + rdi]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8], al
mov eax, esi
sub eax, edi
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 0xb], al
lea eax, [r15 + rcx]
sar rax, 0x12
and eax, 0x3ff
mov rdi, qword [rsp + 0x10]
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 1], al
mov eax, r15d
sub eax, ecx
mov r10d, dword [rdi + 0x18]
sar rax, 0x12
add r10d, 0x4010
and eax, 0x3ff
mov ecx, dword [rsp + 4]
shl r10d, 0xd
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 0xa], al
lea eax, [r12 + rbp]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 2], al
mov eax, r12d
sub eax, ebp
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 9], al
lea eax, [r14 + rcx]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 3], al
mov eax, ecx
mov ecx, dword [rsp + 8]
sub eax, r14d
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 8], al
lea eax, [rdx + rcx]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 4], al
mov eax, ecx
mov ecx, dword [rsp + 0xc]
sub eax, edx
mov edx, dword [rdi + 0x20]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 7], al
lea eax, [rcx + r13]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 5], al
mov eax, ecx
mov rcx, qword [rsp + 0x30]
sub eax, r13d
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov r9d, r10d
mov byte [r8 + 6], al
mov rax, qword [rsp + 0x18]
imul r8d, edx, 0x2bb6
shl edx, 0xd
mov rax, qword [rcx + rax*8]
mov ecx, dword [rsp]
add rcx, rax
imul eax, dword [rdi + 0x28], 0x2731
mov qword [rsp + 0x20], rcx
mov ecx, dword [rdi + 0x30]
shl ecx, 0xd
sub r9d, eax
lea r11d, [rax + r10]
mov eax, edx
sub eax, ecx
lea r15d, [r10 + rax]
sub r10d, eax
mov dword [rsp + 8], r10d
lea eax, [r8 + rcx]
lea esi, [rax + r11]
mov r10d, dword [rdi + 0x2c]
sub r11d, eax
mov ebx, dword [rdi + 0x24]
sub r8d, ecx
mov dword [rsp + 4], r11d
mov r11d, dword [rdi + 0x1c]
sub r8d, edx
imul edx, ebx, 0x29cf
lea r12d, [r9 + r8]
sub r9d, r8d
imul r8d, ebx, 0xffffeeaf
lea ecx, [r10 + r11]
imul ebp, ecx, 0x85b
sub ebx, r10d
mov dword [rsp + 0xc], r9d
mov r9d, dword [rdi + 0x34]
imul edi, r11d, 0x8f7
lea eax, [r9 + rcx]
imul r13d, eax, 0x1b8d
lea eax, [r9 + r10]
imul r14d, eax, 0xffffde8b
add edi, edx
imul eax, r10d, 0x2f50
add ebp, r13d
add edi, ebp
mov ecx, r14d
sub ecx, eax
imul eax, r9d, 0x32c6
add ecx, r8d
add ebp, ecx
imul ecx, r11d, 0xffffea5c
sub r11d, r9d
sub eax, edx
add eax, r13d
add r14d, eax
imul eax, r9d, 0x3f74
mov r9, qword [rsp + 0x28]
sub ecx, eax
lea eax, [rbx + r11]
imul edx, eax, 0x1151
add ecx, r8d
mov r8, qword [rsp + 0x20]
add r13d, ecx
imul eax, ebx, 0x3b21
imul ecx, r11d, 0x187e
add ecx, edx
sub edx, eax
lea eax, [rsi + rdi]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8], al
mov eax, esi
sub eax, edi
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 0xb], al
lea eax, [r15 + rcx]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 1], al
mov eax, r15d
sub eax, ecx
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 0xa], al
lea eax, [r12 + rbp]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 2], al
mov eax, r12d
sub eax, ebp
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 9], al
mov ecx, dword [rsp + 0xc]
mov rdi, qword [rsp + 0x10]
add rdi, 0x40
mov qword [rsp + 0x10], rdi
lea eax, [r14 + rcx]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 3], al
mov eax, ecx
mov ecx, dword [rsp + 8]
sub eax, r14d
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 8], al
lea eax, [rdx + rcx]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 4], al
mov eax, ecx
mov ecx, dword [rsp + 4]
sub eax, edx
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 7], al
lea eax, [rcx + r13]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 5], al
mov eax, ecx
mov ecx, dword [rsp]
sub eax, r13d
mov r13, qword [rsp + 0x38]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r9 - 0x180]
mov byte [r8 + 6], al
mov rax, qword [rsp + 0x18]
add rax, 2
mov qword [rsp + 0x18], rax
cmp rax, 6
jl 0x18002a230
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.180039040
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret