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

Disassembly:
mov qword [rsp + 0x18], r8
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rbx, qword [rsp + 0x148]
mov r10, rcx
mov r13, qword [rsp + 0x168]
mov ecx, 1
add word [0x18002f938], cx
mov sil, dl
mov edx, dword [0x18002f8a4]
mov rbp, r9
mov rdi, qword [rsp + 0x160]
add rbp, rcx
movzx eax, word [r13 + 0x204a]
mov r15, r8
movsxd r14, dword [0x18002f914]
mov r12d, 0x768
movsxd r8, dword [0x18002f8f8]
xor r14, 0x62a
movzx r11d, word [0x18002f8dc]
mov qword [rsp + 0xc0], rax
mov eax, dword [0x18002f944]
mov dword [rsp + 0x30], eax
lea eax, [rdx + rbx]
mov dword [rsp + 0x40], eax
sub edx, ecx
mov dword [0x18002f8a4], edx
movsxd rax, dword [rdi + rbp*4]
mov qword [rsp + 0xb8], rax
mov rax, qword [0x18002f918]
movsxd r9, ebx
sub rbx, rcx
movsxd rcx, dword [0x18002f8c4]
mov dword [rsp + 0x44], 0x1f1
mov dword [rsp + 0x148], r9d
mov qword [rsp + 0x138], rbp
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x90], rax
movsxd rax, dword [rsp + 0x30]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x70], rax
cmp r8, qword [r15 + rax*8]
jne 0x180009061
mov r11, r9
movzx edi, sil
shl r11, 3
lea r14, [r10 + r8*4]
mov rbp, rax
mov rcx, qword [0x18002f8c8]
inc r9d
movzx eax, word [r13 + 0x34e]
sub rax, qword [r11 + rcx]
mov qword [r11 + rcx], rax
mov eax, 0xc7f
cdq
add r11, 8
idiv r8d
mov dword [r10 + rdi*4 + 0x10], edx
or dword [r14], r8d
inc r8d
movsxd rax, r8d
lea r14, [r14 + 4]
cmp rax, qword [r15 + rbp*8]
je 0x180008ff4
mov edx, dword [0x18002f8a4]
movzx r11d, word [0x18002f8dc]
mov rbp, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x160]
mov r14, qword [rsp + 0x88]
mov dword [rsp + 0x148], r9d
and edx, dword [0x18002f920]
dec rbx
movzx eax, r11w
add rax, rax
movsxd r11, r9d
movzx r8d, sil
mov qword [rsp + 0x78], r11
mov eax, dword [r14 + rax*8]
sub eax, dword [rsp + 0x40]
mov dword [0x18002f8a4], edx
mov rdx, qword [rsp + 0xc0]
mov dword [rsp + 0x3c], eax
mov eax, dword [rdx + rbx*4]
mov dword [r10 + r8*4], eax
movzx eax, word [rdi + 0x4e20]
mov word [r13 + r11*2], ax
mov eax, 0x1acd
sub eax, dword [r10 + rbp*4 + 8]
mov r13, qword [rsp + 0x140]
mov dword [r10 + rbp*4 + 8], eax
mov r9d, dword [0x18002f948]
dec r9d
movsxd rax, r9d
mov dword [0x18002f948], r9d
mov r14d, dword [r14 + rax*8]
mov dword [rsp + 0x40], r14d
cmp r14d, 0x152b
jg 0x18000992a
mov eax, r14d
lea ecx, [r14 + 3]
shl eax, 2
mov dword [rsp + 0x34], eax
lea eax, [r14 + r14]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x4c], ecx
lea eax, [rcx + 0x12]
movsxd r9, r14d
movsxd rcx, eax
mov rax, qword [0x18002f8f0]
mov qword [rsp + 0x68], r9
mov edx, dword [rdx + rcx*4]
mov rcx, qword [rsp + 0x80]
mov dword [rax + r11*4 + 0x14], edx
mov edx, 0xffff
mov rax, r9
shl rax, 2
mov qword [rsp + 0x98], rax
add dword [rax + rcx], 0x840
movzx eax, word [0x18002f940]
add ax, dx
mov word [0x18002f940], ax
movzx eax, ax
mov dword [rcx + r8*4], eax
mov eax, 0x11f6
cdq
idiv dword [0x18002f8d8]
mov dword [0x18002f8d8], eax
mov rax, qword [0x18002f920]
mov edi, dword [rdi + rax*4 + 0x20]
cmp edi, 0x1eb8
je 0x180009605
mov rdx, qword [rsp + 0x70]
mov eax, r14d
mov rcx, qword [rsp + 0x168]
mov r9, qword [rsp + 0x160]
imul eax, r14d
shl rdx, 4
cdqe
mov qword [rsp + 0xa0], rax
mov eax, edi
shl eax, 2
mov dword [rsp + 0x48], eax
mov rax, r12
shl rax, 4
add rax, r13
add rcx, 0x38
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x148]
lea rcx, [rcx + rbp*4]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0xa0]
add rdx, 0x10
inc dword [rsp + 0x30]
dec r12
inc qword [rsp + 0x70]
sub qword [rsp + 0x58], 0x10
mov dword [rsp + 0x50], eax
mov rax, qword [0x18002f8c8]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], r11
add qword [rdx + rax], rcx
mov eax, r14d
cdq
movsxd rcx, edi
idiv edi
mov eax, edx
cdq
idiv dword [rsp + 0x30]
lea eax, [rdi + rdx]
xor edx, edx
cdqe
div qword [rcx*8 + 0x5e7]
mov rcx, qword [rsp + 0x150]
movsxd rdx, edi
mov qword [rdx*8 + 0x5e7], rax
movsxd rax, dword [0x18002f948]
sub rax, qword [rcx + r8*8]
mov qword [rcx + r8*8], rax
mov eax, dword [rcx + rbp*8]
or dword [r10 + rbp*4], eax
mov eax, r12d
movzx ecx, word [0x18002f938]
sub eax, dword [r10 + rcx*4]
add eax, dword [0x18002f914]
mov dword [r10 + rcx*4], eax
mov rcx, qword [rsp + 0x158]
movsxd rax, dword [0x18002f948]
cmp qword [rcx + r8*8], rax
ja 0x180009295
cmp dword [r9 + r11*4], edi
jle 0x1800092a2
cmp dword [0x18002f944], r14d
jg 0x1800093ec
mov eax, dword [rsp + 0x34]
add eax, 0xa
movsxd rcx, eax
mov rax, qword [rsp + 0x150]
cmp qword [rax + rcx*8], 0x8d6
jb 0x1800093ec
movzx eax, word [0x18002f940]
cmp eax, edi
jne 0x180009314
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + rax + 0x11f8]
cmp qword [0x18002f8d0], rax
jae 0x180009314
mov eax, r14d
sub eax, dword [rsp + 0x44]
mov dword [rsp + 0x44], eax
movsxd rax, dword [r13 + rdx*4]
and qword [0x18002f8b0], rax
mov eax, dword [rsp + 0x38]
sub eax, edi
cdqe
and qword [r15 + r12*8], rax
or dword [r13 + r8*4], 0x1e1d
jmp 0x1800095d6
mov eax, dword [rsp + 0x148]
inc r11
inc eax
mov qword [rsp + 0x78], r11
mov dword [rsp + 0x148], eax
cmp dword [r13 + r11*4 + 0x58], r14d
jge 0x1800095dd
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x150]
mov rax, qword [rax + rdx*8]
cmp qword [rcx + r8*8], rax
jae 0x1800095d6
mov rdx, qword [rsp + 0x168]
movzx eax, word [rdx + r12*8]
cmp eax, edi
jg 0x1800095d6
mov rdx, qword [rsp + 0x88]
inc r12
movsxd rcx, dword [rsp + 0x38]
mov rax, qword [rsp + 0x68]
mov r11, qword [rsp + 0xb0]
add qword [rsp + 0x58], 0x10
sub rax, qword [rdx + rcx*8]
mov qword [rdx + rcx*8], rax
mov rax, qword [0x18002f8f0]
mov qword [rsp + 0x78], r11
movsxd rcx, dword [rax + 0x6414]
movsxd rax, edi
mov qword [rdx + rax*8], rcx
movzx ecx, word [r12 + r12 + 0x11f8]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x148], eax
mov eax, 0x575859dd
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0xa
imul eax, eax, 0x5f7
sub ecx, eax
movsxd rax, ecx
mov rcx, r11
mov qword [r15 + rcx*8], rax
jmp 0x1800095d6
mov rcx, qword [rsp + 0x58]
dec rbx
mov r9, qword [rsp + 0x68]
dec r12
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], 0x118df6
mov eax, dword [r15 + rbx*8]
add dword [rcx], eax
sub rcx, 0x10
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x58], rcx
mov ecx, dword [rax + r11*8]
imul ecx, dword [0x18002f948]
mov rax, qword [0x18002f900]
xor ecx, dword [0x18002f8c4]
and ecx, r14d
mov dword [rax + rdx*4], ecx
mov ecx, edi
mov rax, qword [rsp + 0x158]
mov qword [rax + r11*8], r9
movzx r10d, word [0x18002f938]
mov r9, qword [0x18002f8b0]
movzx eax, sil
mov dword [0x18002f8c4], eax
mov rax, qword [rsp + 0xb8]
mov eax, dword [rax + rdx*4]
sub eax, 0x498
movsxd r8, eax
mov eax, 0xc7158825
imul edi
add edx, edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1493
mov edx, r10d
sub ecx, eax
movsxd rcx, ecx
call fcn.18001a3a4
mov r9, qword [rsp + 0x150]
xor edx, edx
movsxd r8, dword [rsp + 0x34]
mov r11, qword [rsp + 0x78]
sub qword [rsp + 0x60], 4
mov r10, qword [rsp + 0x68]
movsxd rcx, eax
mov rax, r11
mov qword [r9 + rbp*8], rcx
shl rax, 4
mov ecx, dword [rax + 0x74b]
mov rax, qword [r9 + 0xb678]
sub ecx, edi
add dword [rsp + 0x3c], ecx
mov rcx, qword [0x18002f8c8]
div qword [rcx + r8*8]
mov qword [rcx + r8*8], rax
mov rcx, qword [rsp + 0x160]
movzx eax, sil
inc sil
mov byte [rsp + 0x128], sil
add dword [rcx + rbx*4], r14d
mov rax, qword [r9 + rax*8]
cmp rax, qword [0x18002f920]
jae 0x18000952e
cmp qword [0x18002f8b8], r10
jne 0x18000952e
movzx eax, word [0x18002f938]
cmp eax, edi
je 0x18000987c
mov rdx, qword [rsp + 0x168]
lea r9d, [rdi - 1]
movzx r8d, sil
mov dword [rsp + 0x44], r9d
movzx eax, word [rdx + r8*2]
cmp eax, edi
jge 0x18000987c
add qword [rsp + 0x60], 4
movsxd r9, edi
mov dword [rcx + r9*4], 0x1bff
movzx eax, word [0x18002f8dc]
mov rcx, qword [rsp + 0x158]
mov qword [r15 + rbp*8], rax
inc rbp
movsxd rax, dword [rsp + 0x48]
mov qword [rsp + 0x138], rbp
mov word [rdx + rax*2], di
mov rax, qword [0x18002f920]
mov rdx, qword [rsp + 0x60]
mov qword [rcx + rax*8], r10
mov rcx, qword [rsp + 0x150]
movzx eax, word [rcx + r9*8]
and word [rdx], ax
add rdx, 4
mov eax, dword [r13 + r9*4]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x98]
or dword [rdx + r13], eax
mov qword [rcx + r10*8], r9
mov r10, qword [rsp + 0x120]
mov r9, qword [rsp + 0x160]
mov eax, dword [rsp + 0x148]
add dword [rsp + 0x48], 4
inc edi
mov rdx, qword [rsp + 0xa8]
cmp edi, 0x1eb8
jne 0x1800091dd
mov r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov rax, qword [0x18002f8f8]
mov rdx, r9
or qword [0x18002f8b0], rax
lea eax, [rsi - 1]
movsxd rdi, dword [rsp + 0x34]
movzx r8d, al
mov eax, dword [rcx + 0x18d0]
mov rcx, qword [rsp + 0x158]
shl rdx, 3
sub eax, dword [r13 + r8*4]
mov dword [r13 + r8*4], eax
mov rax, r9
or rax, 0x152a
mov qword [rsp + 0xa0], rdx
or qword [rcx + rbx*8], rax
add r8, r8
mov rcx, qword [rsp + 0x150]
mov rax, r11
add rax, rax
dec rbx
movsxd rax, dword [r13 + rax*8 + 0x1c]
add qword [rdx + rcx], rax
movsxd rax, dword [0x18002f8a0]
or qword [r15 + rdi*8], rax
mov rcx, qword [rsp + 0xb8]
mov eax, dword [rsp + 0x30]
cdq
idiv dword [rcx + r8*8]
mov rax, qword [0x18002f920]
mov rcx, qword [rsp + 0x168]
sub dx, r14w
movzx r8d, sil
mov word [rcx + rax*2], dx
mov rax, rbx
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x98]
shl rax, 5
sub r9, qword [rax + rcx]
mov qword [rax + rcx], r9
mov r9d, dword [0x18002f948]
lea eax, [r9 + 0x1f]
movsxd rcx, eax
mov rax, qword [0x18002f8f0]
mov eax, dword [rdx + rax]
imul eax, r14d
cdq
idiv dword [r10 + rcx*4]
cdq
idiv r14d
movsxd rax, dword [rsp + 0x4c]
movsxd r12, edx
mov qword [rsp + 0x98], r12
movsxd rcx, dword [r15 + rax*8]
cmp rcx, qword [0x18002f8e8]
je 0x180009833
mov r14, qword [rsp + 0x90]
lea eax, [rdi + 1]
mov rdi, qword [rsp + 0x160]
mov r13, rcx
mov rbp, qword [rsp + 0xa0]
mov esi, ecx
movsxd r12, eax
lea rax, [r11 + r11*2]
shl r13, 5
lea r9, [r15 + rax*8]
add r13, r15
mov r15d, dword [rsp + 0x148]
or dword [r10 + r8*4], 0x134b
lea r9, [r9 - 0x18]
mov rax, qword [0x18002f8a8]
xor edx, edx
inc rbx
dec r15d
dec r11
mov dword [rax + r8*4], 0x386
movsxd rax, dword [rdi + r12*4]
div qword [r13]
xor edx, edx
mov qword [r13], rax
lea r13, [r13 + 0x20]
movzx eax, word [0x18002f8dc]
sub rax, qword [0x18002f8b8]
and qword [0x18002f8f8], rax
mov rax, qword [0x18002f918]
mov dword [0x18002f914], 0xe48
mov rcx, qword [rax + 0x7240]
or rcx, 0x1074
add qword [r14 + rbp], rcx
movzx eax, word [0x18002f93c]
sub eax, esi
inc esi
cdqe
and qword [r9], rax
mov eax, 0xb46
and dword [rdi + rbx*4], 0x1df6
div qword [0x18002f920]
movsxd rax, esi
cmp rax, qword [0x18002f8e8]
mov qword [0x18002f920], rdx
jne 0x180009746
mov sil, byte [rsp + 0x128]
mov r14d, dword [rsp + 0x40]
mov rbp, qword [rsp + 0x138]
mov r12, qword [rsp + 0x98]
mov r13, qword [rsp + 0x140]
mov r9d, dword [0x18002f948]
mov dword [rsp + 0x148], r15d
mov r15, qword [rsp + 0x130]
mov qword [rsp + 0x78], r11
jmp 0x180009842
mov rdx, qword [0x18002f920]
mov rdi, qword [rsp + 0x160]
mov eax, dword [rsp + 0x38]
inc r14d
mov ecx, dword [rsp + 0x4c]
add eax, 2
add dword [rsp + 0x34], 4
inc ecx
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x4c], ecx
cmp eax, 0x2a56
jg 0x180009931
mov rdx, qword [rsp + 0xc0]
jmp 0x180009106
movsxd r8, edi
xor edx, edx
movzx ecx, sil
mov eax, 0xffff
add word [0x18002f8dc], ax
imul edi, r14d
mov rax, qword [r8*8 + 0x1408]
mov qword [r15 + rcx*8], rax
mov rax, qword [0x18002f900]
movzx ecx, word [rax + r8*4]
mov eax, 0x1a15
div qword [0x18002f8f8]
sub cx, word [rsp + 0x3c]
sub cx, word [0x18002f938]
mov rdx, qword [rsp + 0x80]
mov qword [0x18002f8f8], rax
mov word [0x18002f938], cx
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov dword [rdx + rcx*4], edi
xor edx, edx
mov rax, qword [0x18002f8f8]
xor dword [0x18002f8c0], eax
movsxd rcx, dword [r13 + rbp*4 - 4]
div rcx
mov dword [r13 + rbp*4 - 4], edx
dec qword [0x18002f8f8]
mov rax, qword [0x18002f8a8]
mov ecx, dword [r8*4 + 0x74b]
mov dword [rax + r8*4], ecx
mov rax, qword [0x18002f8b0]
inc rax
jmp 0x180009b7b
mov rdx, qword [0x18002f920]
mov r14, qword [rsp + 0x158]
mov ebp, 1
movsxd rcx, r9d
mov rax, qword [r14 + rdx*8]
sub rdx, rbp
mov qword [0x18002f920], rdx
cmp rax, rcx
je 0x1800099da
mov r11, qword [rsp + 0x90]
add sil, 0xff
movzx eax, sil
sub sil, bpl
movzx r8d, sil
shl rbx, 5
movzx ecx, word [rdi + rax*4]
mov eax, 0xa1a
and cx, ax
sub cx, word [rdx*2 + 0x11f8]
mov word [rdx*2 + 0x11f8], cx
mov rax, qword [0x18002f8f8]
mov rdx, qword [rsp + 0x80]
add rax, rbp
mov qword [0x18002f8f8], rax
add rax, rax
movsxd rcx, dword [r13 + r8*4]
movsxd rax, dword [rdx + rax*8]
xor edx, edx
sub rax, qword [0x18002f8e0]
div rcx
mov dword [r13 + r8*4], edx
or qword [rbx + r14], 0xffffffffffffe4c5
mov qword [r11 + r8*8], 0xa46
jmp 0x180009b71
mov eax, dword [rdi + rdx*4 + 0x74]
sub rdx, rbp
cmp eax, dword [0x18002f8c4]
mov qword [0x18002f920], rdx
jg 0x180009aca
mov rax, qword [0x18002f900]
movsxd rcx, dword [rsp + 0x30]
mov r11, qword [rsp + 0x90]
movzx r8d, sil
mov edx, dword [rax + rcx*4]
mov eax, dword [0x18002f914]
imul edx, dword [r10 + r8*4]
sub eax, ebp
mov dword [0x18002f914], eax
cdqe
movsxd rcx, edx
imul r10, qword [r15 + rax*8], 0x1040
movsxd rax, dword [0x18002f944]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rdx + r8*8]
xor edx, edx
xor r8, rax
mov eax, r9d
shl eax, 2
add r9d, ebp
cdqe
mov rax, qword [r11 + rax*8]
div qword [0x18002f8f8]
mov rax, qword [rsp + 0x168]
mov dword [0x18002f948], r9d
mov r9, rdx
mov rdx, r10
movzx eax, word [rax + 0x315e]
mov qword [rsp + 0x20], rax
call fcn.180017898
mov r8, qword [0x18002f8f8]
mov eax, 0x3f1
mov rcx, qword [0x18002f900]
sub r8, rbp
mov r10, qword [rsp + 0x120]
cdq
mov qword [0x18002f8f8], r8
idiv dword [rcx + r8*4]
lea rax, [r8 + 2]
mov rcx, r12
add rax, rax
shl rcx, 5
mov dword [rdi + rax*8], edx
movsxd rax, dword [r10 + 0x6dcc]
or qword [rcx + r15 + 0x58], rax
mov r8, qword [rsp + 0x90]
xor edx, edx
sub r12, rbp
add sil, bpl
movzx ecx, sil
mov eax, dword [r8 + r12*8]
xor dword [r12*4 + 0x74b], eax
mov eax, 0x1a1b
div qword [r8 + rcx*8]
mov qword [r8 + rcx*8], rdx
or qword [r15 + rcx*8], 0x112d
movsxd r9, dword [r10 + rbx*4]
sub rbx, rbp
movsxd rax, dword [0x18002f8c4]
xor r9, 0x1054
mov rcx, qword [r14 + 0xac30]
movsxd rdx, dword [rsp + 0x3c]
and rcx, rax
or rdx, rbx
lea r8, [rbx + 1]
imul r8, qword [0x18002f8b8]
mov qword [rsp + 0x28], r8
mov r8d, 0x10a9
mov qword [rsp + 0x20], rdx
mov rdx, qword [0x18002f928]
call fcn.18001a3a4
mov eax, dword [0x18002f8c4]
lea eax, [rax*4 + 4]
movsxd rcx, eax
mov rax, qword [rsp + 0x150]
movzx eax, word [rax + rcx*8]
xor word [0x18002f940], ax
mov rax, qword [0x18002f8b0]
add rax, rbp
mov qword [0x18002f8b0], rax
mov eax, dword [rax*8 + 0x1408]
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret