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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov dword [rax + 0x18], r8d
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rdi
push r13
sub rsp, 0xa8
xor edx, edx
mov qword [rax - 0x20], rbp
mov rbp, rcx
mov qword [rax - 0x28], rsi
mov esi, r8d
mov qword [rax - 0x30], r12
mov r13d, edx
mov qword [rax - 0x40], r15
mov r15d, edx
mov qword [rsp + 0x48], rdx
mov r12d, edx
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x44], edx
cmp dword [rcx + 0x3c], edx
jne 0x18009eafe
mov qword [rax - 0x38], r14
mov edi, edx
mov qword [rax - 0x18], rbx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x60], r13
mov r14, r13
test r15d, r15d
jne 0x18009e5a8
movsxd r14, r12d
mov rbx, r14
shl rbx, 5
add rbx, 0x28
call fcn.180003c56
test eax, eax
jne 0x18009e0b3
test r13, r13
jne 0x18009dff3
mov rcx, rbx
call fcn.1801408c0
mov r13, rax
jmp 0x18009e1ab
cmp rbx, 0x7fffff00
jae 0x18009e0b3
mov rcx, r13
call qword [0x18028cb98]
mov ecx, ebx
mov ebp, eax
call qword [0x18028cba0]
mov edi, eax
cmp ebp, eax
je 0x18009e19e
cmp dword [0x18028cb60], 0
je 0x18009e190
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e03c
call qword [0x18028cbe0]
movsxd rax, ebx
cmp rax, qword [0x180294ee8]
jle 0x18009e04f
mov qword [0x180294ee8], rax
mov ecx, edi
sub ecx, ebp
test ecx, ecx
jle 0x18009e13b
mov rax, qword [0x180294f38]
mov rbx, qword [0x180294e70]
movsxd rsi, ecx
sub rax, rsi
cmp rbx, rax
jl 0x18009e134
call fcn.180140a80
mov rax, qword [0x180294f40]
test rax, rax
jle 0x18009e134
sub rax, rsi
cmp rbx, rax
jl 0x18009e134
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e0ab
call qword [0x18028cbf0]
mov rbp, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x50]
inc r12d
mov dword [rbp + 0x3c], 7
mov esi, dword [rsp + 0xd0]
inc rdi
cmp dword [rbp + 0x3c], 0
mov r13, qword [rsp + 0x48]
mov dword [rsp + 0x44], r12d
mov qword [rsp + 0x50], rdi
je 0x18009dfb2
xor edi, edi
mov rbx, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x80]
cmp dword [rbp + 0x3c], 0
mov rbp, qword [rsp + 0x98]
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
je 0x18009eb05
mov rcx, r13
call fcn.18009ddf0
mov rax, rdi
add rsp, 0xa8
pop r13
pop rdi
ret
mov esi, dword [rsp + 0xd0]
mov edx, edi
mov rcx, r13
call qword [0x18028cb90]
mov r13, rax
test rax, rax
je 0x18009e17c
mov rcx, rax
call qword [0x18028cb98]
mov rcx, qword [0x180294e70]
sub eax, ebp
cdqe
add rcx, rax
cmp rcx, qword [0x180294ec0]
mov qword [0x180294e70], rcx
jle 0x18009e17c
mov qword [0x180294ec0], rcx
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e19e
call qword [0x18028cbf0]
jmp 0x18009e19e
mov edx, edi
mov rcx, r13
call qword [0x18028cb90]
mov r13, rax
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0xc0]
test r13, r13
je 0x18009e0b3
movsxd rax, dword [rsp + 0xd8]
add r14, 0x20
movsxd r15, esi
xorps xmm0, xmm0
shl r15, 6
xor esi, esi
add r15, r14
mov qword [rsp + 0x48], r13
shl r15, 0x1f
mov r14d, esi
add r15, rax
mov rax, rdi
shl rax, 5
add rax, 8
add rax, r13
mov qword [rsp + 0x58], rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
cmp dword [rbp + 0x3c], esi
jne 0x18009e53f
mov rbx, qword [rbp + 0x48]
add rbp, 0x48
mov edi, esi
test rbx, rbx
je 0x18009e321
mov rdx, r15
mov qword [rbp], rsi
mov rcx, rbx
call fcn.1800038d7
mov qword [rbp], rbx
mov edi, eax
test eax, eax
je 0x18009e321
mov qword [rbp], rsi
mov rsi, qword [rbx + 0x20]
mov r12, qword [rbx + 0x18]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x18009e24c
call qword [0x18028cbe0]
cmp rbx, qword [rsi + 0x1e0]
jae 0x18009e290
cmp rbx, qword [rsi + 0x1d0]
jb 0x18009e274
mov rax, qword [rsi + 0x1c8]
mov qword [rbx], rax
mov qword [rsi + 0x1c8], rbx
jmp 0x18009e301
cmp rbx, qword [rsi + 0x1d8]
jb 0x18009e290
mov rax, qword [rsi + 0x1b8]
mov qword [rbx], rax
mov qword [rsi + 0x1b8], rbx
jmp 0x18009e301
cmp qword [rsi + 0x2e8], r14
je 0x18009e2a6
mov rdx, rbx
mov rcx, rsi
call fcn.1800db8f0
jmp 0x18009e301
cmp dword [0x18028cb60], r14d
je 0x18009e2f8
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e2c1
call qword [0x18028cbe0]
mov rcx, rbx
call qword [0x18028cb98]
dec qword [0x180294eb8]
movsxd rcx, eax
sub qword [0x180294e70], rcx
mov rcx, rbx
call qword [0x18028cb88]
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e301
call qword [0x18028cbf0]
jmp 0x18009e301
mov rcx, rbx
call qword [0x18028cb88]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x18009e310
call qword [0x18028cbf0]
mov rcx, r12
call fcn.180002180
cmp edi, 4
mov rsi, r14
cmove edi, esi
cmp qword [rbp], r14
jne 0x18009e35d
test edi, edi
jne 0x18009e35d
mov r8, qword [rsp + 0xc0]
lea r9, str.block
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r15
mov rcx, qword [r8]
mov r8, qword [r8 + 8]
mov rdx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.180002130
mov edi, eax
cmp edi, 1
jne 0x18009e36c
mov edi, 0x10b
jmp 0x18009e51f
test edi, edi
jne 0x18009e51f
mov rax, qword [rbp]
test rax, rax
je 0x18009e387
cmp qword [rax + 0x18], r14
je 0x18009e387
mov ebx, dword [rax]
jmp 0x18009e389
mov ebx, esi
call fcn.180003c56
test eax, eax
jne 0x18009e59e
movsxd r12, ebx
lea rcx, [r12 + 0x24]
call fcn.1801408c0
mov r14, rax
test rax, rax
je 0x18009e59e
lea rdi, [rax + 0x10]
mov dword [rax + 8], ebx
mov qword [rax], rdi
mov rbp, qword [rbp]
test rbp, rbp
jne 0x18009e3f2
lea rax, [0x18024f174]
mov r9d, 0x18ec2
lea r8, str.misuse
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [rbp + 0x15]
call fcn.18000206d
lea edi, [rbp + 0x15]
jmp 0x18009e4c6
mov rsi, qword [rbp + 0x20]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x18009e405
call qword [0x18028cbe0]
mov r15, qword [rbp + 0x18]
test ebx, ebx
js 0x18009e481
cmp ebx, dword [rbp]
jg 0x18009e481
test r15, r15
jne 0x18009e421
mov ebx, 4
mov dword [rsi + 0x50], ebx
jmp 0x18009e48b
mov rcx, qword [rbp + 0x10]
mov r9, rdi
mov edx, dword [rbp + 4]
mov r8d, ebx
cmp byte [rcx], 0
jne 0x18009e442
mov dword [rsp + 0x20], 0
call fcn.1800548b0
jmp 0x18009e447
call fcn.180054e70
mov ebx, eax
cmp eax, 4
jne 0x18009e463
mov rcx, r15
call fcn.18016ccf0
mov qword [rbp + 0x18], 0
mov dword [rsi + 0x50], ebx
jmp 0x18009e48b
mov dword [r15 + 0x34], ebx
mov dword [rsi + 0x50], ebx
test ebx, ebx
jne 0x18009e48b
cmp qword [rsi + 0x180], 0
jne 0x18009e48b
mov dword [rsi + 0x54], 0xffffffff
jmp 0x18009e495
mov eax, 1
mov ebx, eax
mov dword [rsi + 0x50], eax
mov edx, ebx
mov rcx, rsi
call fcn.180110dc0
cmp byte [rsi + 0x67], 0
jne 0x18009e4a3
test ebx, ebx
jne 0x18009e4a3
xor edi, edi
jmp 0x18009e4af
mov edx, ebx
mov rcx, rsi
call fcn.1800596e0
mov edi, eax
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x18009e4be
call qword [0x18028cbf0]
test edi, edi
je 0x18009e577
cmp dword [0x18028cb60], 0
je 0x18009e56c
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e4e5
call qword [0x18028cbe0]
mov rcx, r14
call qword [0x18028cb98]
dec qword [0x180294eb8]
movsxd rcx, eax
sub qword [0x180294e70], rcx
mov rcx, r14
call qword [0x18028cb88]
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e51a
call qword [0x18028cbf0]
xor esi, esi
mov r14, rsi
mov rbp, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x44]
inc dword [rbp + 0x80]
mov dword [rbp + 0x3c], edi
mov rdi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x40]
mov qword [rax], r14
test r14, r14
je 0x18009e560
mov rax, qword [r14]
test byte [rax], 1
mov eax, 1
cmove r15d, eax
mov dword [rsp + 0x40], r15d
inc r12d
mov dword [r13], r12d
jmp 0x18009e0c2
mov rcx, r14
call qword [0x18028cb88]
jmp 0x18009e51a
mov rax, qword [r14]
mov byte [r12 + rax], 0
mov rax, qword [r14]
mov byte [r12 + rax + 1], 0
mov rax, qword [r14]
movzx ecx, byte [rax + 2]
movzx eax, byte [rax + 3]
shl ecx, 8
add ecx, eax
mov dword [r14 + 0xc], ecx
jmp 0x18009e51f
mov edi, 7
jmp 0x18009e51c
cmp dword [rsp + 0xc8], 0
mov eax, dword [r13]
mov dword [r13 + 4], esi
jne 0x18009e5f0
xor edi, edi
mov ebx, edi
test eax, eax
jle 0x18009e0e7
nop word [rax + rax]
movsxd rcx, ebx
shl rcx, 5
add rcx, 8
add rcx, r13
call fcn.18009f100
inc ebx
cmp ebx, dword [r13]
jl 0x18009e5d0
jmp 0x18009e0e7
cmp dword [rbp + 0x3c], 0
lea esi, [rax - 1]
mov dword [rsp + 0x44], esi
jne 0x18009e0e5
movsxd rdi, esi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], r13
nop
test rdi, rdi
js 0x18009e0e5
mov rax, rdi
shl rax, 5
add r13, rax
lea rcx, [r13 + 8]
call fcn.18009f100
test eax, eax
je 0x18009e623
xor eax, eax
mov dword [r13 + 0x14], eax
test rdi, rdi
jle 0x18009eadc
mov rbx, qword [r13 - 0x18]
test rbx, rbx
je 0x18009e6a2
cmp dword [0x18028cb60], eax
je 0x18009e699
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e662
call qword [0x18028cbe0]
mov rcx, rbx
call qword [0x18028cb98]
dec qword [0x180294eb8]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x180294e70], rdx
call qword [0x18028cb88]
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e6a2
call qword [0x18028cbf0]
jmp 0x18009e6a2
mov rcx, rbx
call qword [0x18028cb88]
xorps xmm0, xmm0
lea eax, [rsi - 1]
movups xmmword [r13 - 0x18], xmm0
movsxd r12, eax
movups xmmword [r13 - 8], xmm0
movsxd rdx, dword [r14 + 4]
movsxd rax, dword [r13 + 0x1c]
shl rdx, 6
add rdx, 0x20
add r12, rdx
xor edx, edx
shl r12, 0x1f
mov r15d, edx
add r12, rax
cmp dword [rbp + 0x3c], edx
jne 0x18009ead8
mov rdi, qword [rbp + 0x48]
lea r14, [rbp + 0x48]
mov ebx, edx
test rdi, rdi
je 0x18009e88f
mov qword [r14], rdx
mov rsi, qword [rdi + 0x20]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x18009e708
call qword [0x18028cbe0]
xor edx, edx
mov rax, qword [rdi + 0x18]
test rax, rax
jne 0x18009e716
lea ebx, [rax + 4]
jmp 0x18009e764
mov dword [rax + 0x34], edx
lea r8, [rsp + 0x58]
mov rdx, r12
mov rcx, rdi
call fcn.18005d1a0
mov ebx, eax
test eax, eax
je 0x18009e764
mov rbp, qword [rsp + 0x58]
xor eax, eax
mov r8d, eax
test rbp, rbp
lea rax, [0x180242e14]
mov r9, rbp
cmovne r8, rax
mov edx, ebx
mov rcx, rsi
call fcn.180110ef0
test rbp, rbp
je 0x18009e764
mov rdx, rbp
mov rcx, rsi
call fcn.18010d580
cmp byte [rsi + 0x67], r15b
jne 0x18009e774
test ebx, ebx
jne 0x18009e774
xor ebp, ebp
mov ebx, ebp
jmp 0x18009e782
mov edx, ebx
mov rcx, rsi
call fcn.1800596e0
mov ebx, eax
xor ebp, ebp
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x18009e791
call qword [0x18028cbf0]
mov qword [r14], rdi
test ebx, ebx
je 0x18009e88d
mov qword [r14], rbp
mov rsi, qword [rdi + 0x20]
mov rbp, qword [rdi + 0x18]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x18009e7b6
call qword [0x18028cbe0]
cmp rdi, qword [rsi + 0x1e0]
jae 0x18009e7fa
cmp rdi, qword [rsi + 0x1d0]
jb 0x18009e7de
mov rax, qword [rsi + 0x1c8]
mov qword [rdi], rax
mov qword [rsi + 0x1c8], rdi
jmp 0x18009e86b
cmp rdi, qword [rsi + 0x1d8]
jb 0x18009e7fa
mov rax, qword [rsi + 0x1b8]
mov qword [rdi], rax
mov qword [rsi + 0x1b8], rdi
jmp 0x18009e86b
cmp qword [rsi + 0x2e8], r15
je 0x18009e810
mov rdx, rdi
mov rcx, rsi
call fcn.1800db8f0
jmp 0x18009e86b
cmp dword [0x18028cb60], r15d
je 0x18009e862
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e82b
call qword [0x18028cbe0]
mov rcx, rdi
call qword [0x18028cb98]
dec qword [0x180294eb8]
movsxd rcx, eax
sub qword [0x180294e70], rcx
mov rcx, rdi
call qword [0x18028cb88]
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009e86b
call qword [0x18028cbf0]
jmp 0x18009e86b
mov rcx, rdi
call qword [0x18028cb88]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x18009e87a
call qword [0x18028cbf0]
mov rcx, rbp
call fcn.180002180
cmp ebx, 4
mov rdx, r15
cmove ebx, edx
jmp 0x18009e88f
xor edx, edx
cmp qword [r14], r15
jne 0x18009e8ca
test ebx, ebx
jne 0x18009e8ca
mov r8, qword [rsp + 0xc0]
lea r9, str.block
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], r12
mov rcx, qword [r8]
mov r8, qword [r8 + 8]
mov rdx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.180002130
mov ebx, eax
cmp ebx, 1
jne 0x18009e8d9
mov ebx, 0x10b
jmp 0x18009eab9
test ebx, ebx
jne 0x18009eab9
mov rbx, qword [r14]
test rbx, rbx
je 0x18009e8f3
cmp qword [rbx + 0x18], r15
je 0x18009e8f3
mov ebx, dword [rbx]
jmp 0x18009e8f7
xor eax, eax
mov ebx, eax
call fcn.180003c56
test eax, eax
jne 0x18009eaaf
movsxd r12, ebx
lea rcx, [r12 + 0x24]
call fcn.1801408c0
mov r15, rax
test rax, rax
je 0x18009eaaf
lea rsi, [rax + 0x10]
mov dword [rax + 8], ebx
mov qword [rax], rsi
mov rbp, qword [r14]
test rbp, rbp
jne 0x18009e95f
lea rax, [0x18024f174]
mov r9d, 0x18ec2
lea r8, str.misuse
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [rbp + 0x15]
call fcn.18000206d
lea ebx, [rbp + 0x15]
jmp 0x18009ea2b
mov rdi, qword [rbp + 0x20]
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x18009e972
call qword [0x18028cbe0]
mov r14, qword [rbp + 0x18]
test ebx, ebx
js 0x18009e9ea
cmp ebx, dword [rbp]
jg 0x18009e9ea
test r14, r14
jne 0x18009e98e
mov ebx, 4
mov dword [rdi + 0x50], ebx
jmp 0x18009e9f4
mov rcx, qword [rbp + 0x10]
mov r9, rsi
mov edx, dword [rbp + 4]
mov r8d, ebx
cmp byte [rcx], 0
jne 0x18009e9ad
xor eax, eax
mov dword [rsp + 0x20], eax
call fcn.1800548b0
jmp 0x18009e9b2
call fcn.180054e70
mov ebx, eax
cmp eax, 4
jne 0x18009e9cc
mov rcx, r14
call fcn.18016ccf0
xor eax, eax
mov qword [rbp + 0x18], rax
mov dword [rdi + 0x50], ebx
jmp 0x18009e9f4
mov dword [r14 + 0x34], ebx
mov dword [rdi + 0x50], ebx
test ebx, ebx
jne 0x18009e9f4
cmp qword [rdi + 0x180], 0
jne 0x18009e9f4
mov dword [rdi + 0x54], 0xffffffff
jmp 0x18009e9fe
mov eax, 1
mov ebx, eax
mov dword [rdi + 0x50], eax
mov edx, ebx
mov rcx, rdi
call fcn.180110dc0
cmp byte [rdi + 0x67], 0
jne 0x18009ea0c
test ebx, ebx
jne 0x18009ea0c
xor eax, eax
jmp 0x18009ea16
mov edx, ebx
mov rcx, rdi
call fcn.1800596e0
mov rcx, qword [rdi + 0x18]
mov ebx, eax
test rcx, rcx
je 0x18009ea27
call qword [0x18028cbf0]
test ebx, ebx
je 0x18009ea88
cmp dword [0x18028cb60], 0
je 0x18009ea7d
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009ea46
call qword [0x18028cbe0]
mov rcx, r15
call qword [0x18028cb98]
dec qword [0x180294eb8]
movsxd rcx, eax
sub qword [0x180294e70], rcx
mov rcx, r15
call qword [0x18028cb88]
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18009eab4
call qword [0x18028cbf0]
jmp 0x18009eab4
mov rcx, r15
call qword [0x18028cb88]
jmp 0x18009eab4
mov rax, qword [r15]
mov byte [r12 + rax], 0
mov rax, qword [r15]
mov byte [r12 + rax + 1], 0
mov rax, qword [r15]
movzx ecx, byte [rax + 2]
movzx eax, byte [rax + 3]
shl ecx, 8
add ecx, eax
mov dword [r15 + 0xc], ecx
jmp 0x18009eab9
mov ebx, 7
xor eax, eax
mov r15d, eax
mov rbp, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x50]
mov esi, dword [rsp + 0x44]
mov r14, qword [rsp + 0x60]
inc dword [rbp + 0x80]
mov dword [rbp + 0x3c], ebx
mov qword [r13 - 0x18], r15
mov r13, qword [rsp + 0x48]
dec esi
dec rdi
mov dword [rsp + 0x44], esi
cmp dword [rbp + 0x3c], 0
mov qword [rsp + 0x50], rdi
je 0x18009e610
jmp 0x18009e0e5
xor edi, edi
jmp 0x18009e0f7
mov rax, r13
add rsp, 0xa8
pop r13
pop rdi
ret