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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x70
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x68], rsi
mov rsi, rcx
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x58], r12
mov r12d, edx
test rcx, rcx
je 0x18003265d
call qword [0x1801729a0]
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x180032675
inc dword [rcx + 0x14]
cmp byte [rcx + 0x12], 0
jne 0x180032675
call fcn.180023f10
mov rax, qword [rsi]
test rax, rax
je 0x18003268c
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x18003268c
call qword [0x1801729a0]
mov ebx, dword [rsi + 0x30]
test ebx, ebx
je 0x1800326a1
cmp ebx, 5
je 0x1800326a1
cmp ebx, 6
jne 0x180032f1b
cmp qword [rsi], 0
mov r9, qword [rsi + 0x28]
mov qword [rsp + 0x88], rbp
mov rax, qword [r9 + 8]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x50], r13
mov rcx, qword [rax]
mov rax, qword [rsi + 8]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x38], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x40], r15
mov r13, qword [rcx]
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x30], r13
je 0x1800326fc
mov rax, qword [r9 + 8]
cmp byte [rax + 0x24], 2
jne 0x1800326fc
mov ebx, 5
jmp 0x18003272f
xor ebx, ebx
test r9, r9
je 0x18003270c
movzx eax, byte [r9 + 0x10]
test eax, eax
jne 0x18003272f
cmp byte [r9 + 0x11], bl
jne 0x180032718
cmp byte [r9 + 0x10], bl
jne 0x180032727
xor r8d, r8d
xor edx, edx
mov rcx, r9
call fcn.180027610
mov ebx, eax
mov dword [rsp + 0x20], 1
cmp dword [rsi + 0x14], 0
mov edi, 7
jne 0x180032764
test ebx, ebx
jne 0x1800327e2
mov rax, qword [rsi + 0x28]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rax + 8]
mov edx, dword [rcx + 0x34]
mov rcx, qword [rsi + 8]
call fcn.180026ef0
cmp eax, edi
jne 0x180032768
mov ebx, edi
jmp 0x1800327e2
test ebx, ebx
jne 0x1800327e2
cmp dword [rsi + 0x14], 0
jne 0x1800327e2
mov r9, qword [rsi + 8]
lea r8, [rsi + 0x10]
cmp byte [r9 + 0x11], 0
jne 0x1800327c8
movzx eax, byte [r9 + 0x10]
test al, al
je 0x1800327c8
cmp al, 1
je 0x1800327c8
mov r10, qword [r9 + 8]
test r8, r8
je 0x1800327a3
mov rax, qword [r10 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x28]
bswap eax
mov dword [r8], eax
mov rax, qword [r9]
mov rcx, qword [r10]
mov edx, dword [rax + 0x308]
cmp edx, dword [rcx + 0x80]
jle 0x1800327c4
cmp byte [rcx + 0xa], 0
je 0x1800327c4
call fcn.18001faf0
jmp 0x1800327d5
xor ebx, ebx
jmp 0x1800327d7
mov edx, 2
mov rcx, r9
call fcn.180027610
mov ebx, eax
test ebx, ebx
jne 0x1800327e2
mov dword [rsi + 0x14], 1
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
mov rax, qword [rsi + 8]
mov rax, qword [rax + 8]
mov edx, dword [rcx + 0x34]
mov r8d, dword [rax + 0x34]
mov rax, qword [rax]
mov dword [rsp + 0x90], edx
movzx r15d, byte [rax + 9]
mov dword [rsp + 0x98], r8d
test ebx, ebx
jne 0x180032831
cmp r15d, 5
je 0x180032826
cmp byte [r13 + 0x10], bl
jne 0x180032826
cmp byte [r13 + 0x14], bl
je 0x180032831
mov eax, 8
cmp edx, r8d
cmovne ebx, eax
mov r14d, dword [rcx + 0x40]
xor ebp, ebp
test r12d, r12d
js 0x180032841
cmp ebp, r12d
jge 0x1800328b2
mov edi, dword [rsi + 0x18]
cmp edi, r14d
ja 0x1800328b2
test ebx, ebx
jne 0x1800328f8
mov rax, qword [rsi + 0x28]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x180172918]
div dword [rcx + 0x34]
inc eax
cmp edi, eax
je 0x1800328ab
mov rax, qword [rsp + 0x38]
lea r9d, [rbx + 2]
lea r8, [rsp + 0x28]
mov rcx, rax
mov edx, edi
call qword [rax + 0x110]
mov ebx, eax
test eax, eax
jne 0x1800328ab
mov rax, qword [rsp + 0x28]
xor r9d, r9d
mov edx, edi
mov r8, qword [rax + 8]
mov rcx, rsi
call fcn.180032480
mov rcx, qword [rsp + 0x28]
mov ebx, eax
call fcn.18001ede0
inc dword [rsi + 0x18]
inc ebp
jmp 0x180032837
test ebx, ebx
jne 0x1800328f8
mov ecx, dword [rsi + 0x18]
mov eax, r14d
mov dword [rsi + 0x38], r14d
sub eax, ecx
inc eax
mov dword [rsi + 0x34], eax
cmp ecx, r14d
ja 0x180032901
cmp dword [rsi + 0x3c], ebx
jne 0x180032dd8
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x70]
mov qword [rsi + 0x40], rax
mov qword [rdx + 0x70], rsi
mov dword [rsi + 0x3c], 1
jmp 0x180032dd8
cmp ebx, 0x65
jne 0x180032dd8
test r14d, r14d
jne 0x18003295d
mov rdi, qword [rsi + 8]
cmp byte [rdi + 0x11], r14b
je 0x180032921
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], r14b
jne 0x180032921
mov rcx, rdi
call fcn.180023f10
mov rax, qword [rdi + 8]
mov dword [rax + 0x40], 0
mov rcx, qword [rdi + 8]
call fcn.180027530
cmp byte [rdi + 0x11], 0
mov ebx, eax
je 0x18003294a
dec dword [rdi + 0x14]
jne 0x18003294a
mov rcx, rdi
call fcn.180023ee0
mov r14d, 1
test ebx, ebx
je 0x18003295d
cmp ebx, 0x65
jne 0x180032a11
mov rdi, qword [rsi + 8]
mov r12d, dword [rsi + 0x10]
mov rbx, qword [rdi + 8]
inc r12d
cmp byte [rdi + 0x11], 0
je 0x180032983
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x180032983
mov rcx, rdi
call fcn.180023f10
mov rax, qword [rbx + 0x18]
mov rbp, qword [rax + 0x70]
mov r13, qword [rax + 0x50]
test byte [rbp + 0x34], 4
mov rdx, qword [rbp + 0x28]
je 0x1800329c8
mov eax, dword [rbp + 0x30]
cmp dword [rdx + 0x20], eax
jb 0x1800329c8
cmp dword [rdx + 0x80], 0
je 0x1800329c4
mov rcx, rbp
call fcn.18001a490
test eax, eax
je 0x1800329c0
mov rcx, rbp
call fcn.18001da50
jmp 0x1800329ec
xor ebx, ebx
jmp 0x1800329ee
xor ebx, ebx
jmp 0x1800329f2
mov ebx, dword [rdx + 0x30]
test ebx, ebx
jne 0x1800329f9
mov eax, dword [rdx + 0xc8]
mov rcx, rbp
cmp dword [rdx + 0xb8], eax
jbe 0x1800329e7
call fcn.18001f2b0
jmp 0x1800329ec
call fcn.18001f1f0
mov ebx, eax
test ebx, ebx
jne 0x1800329f9
bswap r12d
mov dword [r13 + 0x28], r12d
cmp byte [rdi + 0x11], 0
je 0x180032a0c
dec dword [rdi + 0x14]
jne 0x180032a0c
mov rcx, rdi
call fcn.180023ee0
mov r13, qword [rsp + 0x30]
test ebx, ebx
jne 0x180032dd8
mov rcx, qword [rsi]
test rcx, rcx
je 0x180032a26
call fcn.1800658a0
cmp r15d, 5
jne 0x180032a43
mov rcx, qword [rsi + 8]
lea edx, [r15 - 3]
call fcn.180032080
mov ebx, eax
test eax, eax
jne 0x180032dd8
mov ebp, dword [rsp + 0x98]
movsxd r8, dword [rsp + 0x90]
cmp r8d, ebp
jge 0x180032a86
mov eax, ebp
cdq
idiv r8d
mov ecx, eax
lea eax, [rax + r14 - 1]
cdq
idiv ecx
xor edx, edx
mov edi, eax
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 8]
mov eax, dword [0x180172918]
div dword [rcx + 0x34]
inc eax
cmp edi, eax
jne 0x180032a92
dec edi
jmp 0x180032a92
mov eax, r8d
cdq
idiv ebp
mov edi, eax
imul edi, r14d
cmp r8d, ebp
jge 0x180032ca3
mov r15, qword [rsp + 0x30]
movsxd r14, r14d
mov r13, r8
mov r12, qword [r15 + 0x48]
mov ebp, dword [r15 + 0x20]
imul r14, r8
cmp edi, ebp
ja 0x180032b07
mov rax, qword [rsi + 8]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x180172918]
div dword [rcx + 0x34]
inc eax
cmp edi, eax
je 0x180032aff
lea r8, [rsp + 0x30]
xor r9d, r9d
mov edx, edi
mov rcx, r15
call qword [r15 + 0x110]
mov ebx, eax
test eax, eax
jne 0x180032aff
mov rcx, qword [rsp + 0x30]
call fcn.18001f560
mov rcx, qword [rsp + 0x30]
mov ebx, eax
call fcn.18001ede0
inc edi
test ebx, ebx
je 0x180032ab2
jmp 0x180032b1b
test ebx, ebx
jne 0x180032b1b
lea r8d, [rbx + 1]
xor edx, edx
mov rcx, r15
call fcn.18001f760
mov ebx, eax
mov edx, dword [0x180172918]
mov r8d, dword [rsp + 0x98]
mov rbp, r14
lea eax, [rdx + r8]
movsxd rcx, eax
mov eax, dword [rsp + 0x90]
cmp rcx, r14
cmovl rbp, rcx
add eax, edx
movsxd rdi, eax
test ebx, ebx
jne 0x180032dd8
nop
cmp rdi, rbp
jge 0x180032c1e
mov rax, rdi
lea r8, [rsp + 0x98]
xor r9d, r9d
cqo
mov qword [rsp + 0x98], 0
idiv r13
lea edx, [rax + 1]
mov rax, qword [rsp + 0x38]
mov rcx, rax
call qword [rax + 0x110]
mov ebx, eax
test eax, eax
jne 0x180032bb3
mov rax, qword [rsp + 0x98]
mov r10, qword [r12]
mov r8d, dword [rsp + 0x90]
mov rdx, qword [rax + 8]
mov r9, rdi
mov rcx, r12
call qword [r10 + 0x18]
mov ebx, eax
mov r8, qword [rsp + 0x98]
test r8, r8
je 0x180032c0e
test byte [r8 + 0x34], 0x20
je 0x180032c06
mov r10, qword [r8 + 0x28]
dec dword [r10 + 0x98]
mov rax, qword [r10 + 0xa8]
mov qword [r8 + 0x20], rax
mov rcx, qword [r10 + 0x48]
mov qword [r10 + 0xa8], r8
mov edx, dword [r8 + 0x30]
mov r9, qword [rcx]
mov r8, qword [r8 + 8]
dec edx
imul rdx, qword [r10 + 0xc8]
call qword [r9 + 0x90]
jmp 0x180032c0e
mov rcx, r8
call fcn.180018590
add rdi, r13
test ebx, ebx
je 0x180032b50
jmp 0x180032dd8
test ebx, ebx
jne 0x180032dd8
mov rax, qword [r12]
lea rdx, [rsp + 0x90]
mov rcx, r12
call qword [rax + 0x30]
mov ebx, eax
test eax, eax
jne 0x180032c57
cmp qword [rsp + 0x90], r14
jle 0x180032c57
mov rax, qword [r12]
mov rdx, r14
mov rcx, r12
call qword [rax + 0x20]
mov ebx, eax
test ebx, ebx
jne 0x180032dd8
mov rcx, qword [r15 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x180032c81
lea edx, [rbx + 0x15]
xor r8d, r8d
call qword [rax + 0x50]
mov ebx, eax
cmp eax, 0xc
je 0x180032c81
test eax, eax
jne 0x180032cb6
jmp 0x180032c83
xor ebx, ebx
cmp byte [r15 + 0xb], 0
jne 0x180032cb6
movzx edx, byte [r15 + 0xe]
mov rcx, qword [r15 + 0x48]
test edx, edx
je 0x180032c9f
mov rax, qword [rcx]
call qword [rax + 0x28]
jmp 0x180032cb4
xor ebx, ebx
jmp 0x180032cb6
xor r8d, r8d
xor edx, edx
mov rcx, r13
mov dword [r13 + 0x20], edi
call fcn.18001f760
mov ebx, eax
test ebx, ebx
jne 0x180032dd8
mov rdi, qword [rsi + 8]
cmp byte [rdi + 0x10], bl
je 0x180032dd3
cmp byte [rdi + 0x11], bl
je 0x180032ce0
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], bl
jne 0x180032ce0
mov rcx, rdi
call fcn.180023f10
cmp byte [rdi + 0x10], 2
jne 0x180032db8
mov r13, qword [rdi + 8]
mov rcx, qword [r13]
call fcn.18001f930
mov ebx, eax
test eax, eax
je 0x180032d1d
cmp byte [rdi + 0x11], 0
je 0x180032dd8
dec dword [rdi + 0x14]
jne 0x180032dd8
mov rcx, rdi
call fcn.180023ee0
jmp 0x180032dd8
dec dword [rdi + 0x1c]
mov r12, qword [r13 + 0x60]
mov byte [r13 + 0x24], 1
test r12, r12
je 0x180032db0
cmp dword [r12 + 8], 0
je 0x180032d55
lea rbx, [r12 + 0x10]
mov ebp, 0x3e
mov rcx, qword [rbx]
call fcn.1800180c0
add rbx, 8
dec rbp
jne 0x180032d44
cmp dword [0x180172920], 0
je 0x180032da7
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x180032d70
call qword [0x1801729a0]
mov rcx, r12
call qword [0x180172958]
dec qword [0x180182138]
mov rcx, r12
movsxd rdx, eax
sub qword [0x1801820f0], rdx
call qword [0x180172948]
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x180032db0
call qword [0x1801729b0]
jmp 0x180032db0
mov rcx, r12
call qword [0x180172948]
mov qword [r13 + 0x60], 0
mov rcx, rdi
call fcn.180028680
cmp byte [rdi + 0x11], 0
je 0x180032dd3
dec dword [rdi + 0x14]
jne 0x180032dd3
mov rcx, rdi
call fcn.180023ee0
mov ebx, 0x65
cmp dword [rsp + 0x20], 0
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
je 0x180032ef8
mov rcx, qword [rsi + 0x28]
xor edx, edx
call fcn.1800285d0
mov rdi, qword [rsi + 0x28]
cmp byte [rdi + 0x10], 0
je 0x180032ef8
cmp byte [rdi + 0x11], 0
je 0x180032e1d
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x180032e1d
mov rcx, rdi
call fcn.180023f10
cmp byte [rdi + 0x10], 2
jne 0x180032edd
mov r13, qword [rdi + 8]
mov rcx, qword [r13]
call fcn.18001f930
test eax, eax
jne 0x180032ee5
dec dword [rdi + 0x1c]
mov r12, qword [r13 + 0x60]
mov byte [r13 + 0x24], 1
test r12, r12
je 0x180032ed5
cmp dword [r12 + 8], eax
je 0x180032e7a
lea rbp, [r12 + 0x10]
lea esi, [rax + 0x3e]
mov rcx, qword [rbp]
call fcn.1800180c0
add rbp, 8
dec rsi
jne 0x180032e60
mov rsi, qword [rsp + 0x80]
cmp dword [0x180172920], 0
je 0x180032ecc
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x180032e95
call qword [0x1801729a0]
mov rcx, r12
call qword [0x180172958]
dec qword [0x180182138]
mov rcx, r12
movsxd rdx, eax
sub qword [0x1801820f0], rdx
call qword [0x180172948]
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x180032ed5
call qword [0x1801729b0]
jmp 0x180032ed5
mov rcx, r12
call qword [0x180172948]
mov qword [r13 + 0x60], 0
mov rcx, rdi
call fcn.180028680
cmp byte [rdi + 0x11], 0
je 0x180032ef8
dec dword [rdi + 0x14]
jne 0x180032ef8
mov rcx, rdi
call fcn.180023ee0
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x88]
cmp ebx, 0xc0a
mov eax, 7
cmove ebx, eax
mov dword [rsi + 0x30], ebx
mov rax, qword [rsi]
mov r12, qword [rsp + 0x58]
test rax, rax
je 0x180032f37
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x180032f37
call qword [0x1801729b0]
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x180032f4b
dec dword [rcx + 0x14]
jne 0x180032f4b
call fcn.180023ee0
mov rcx, qword [rsi + 0x20]
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x180032f63
call qword [0x1801729b0]
mov eax, ebx
add rsp, 0x70
pop rbx
ret