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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x78
cmp byte [rcx + 0x13], 0
mov rsi, rcx
je 0x180024b74
cmp dword [rcx + 0x30], 0xffffffff
jne 0x1800248cd
cmp dword [rcx + 0x118], 2
jne 0x180024834
mov rcx, qword [rcx + 0x78]
mov eax, dword [rcx + 0x3c]
xor edi, edi
mov dword [rbp + 0x28], eax
test eax, eax
jle 0x180025042
lea rax, [rcx + 0x38]
mov qword [rbp + 0x38], rax
nop dword [rax]
mov edx, edi
mov rcx, rax
call fcn.180063af0
cmp dword [rsi + 0x118], 2
mov rbx, rax
jne 0x18002486a
mov rbx, qword [rax + 0x70]
mov rcx, rbx
call fcn.180024800
add rbx, 0x100
mov rcx, rbx
mov qword [rbp + 0x30], rbx
call fcn.18003fcd0
test al, al
jne 0x1800248b9
mov rcx, rbx
call fcn.18003fcc0
mov rcx, qword [rbp + 0x30]
xor edx, edx
mov ebx, eax
call fcn.18003fcb0
lea rcx, [rsi + 0x100]
mov rdx, rax
mov r8d, ebx
call fcn.1800402b0
mov rcx, qword [rbp + 0x30]
call fcn.180040920
mov rax, qword [rbp + 0x38]
inc edi
cmp edi, dword [rbp + 0x28]
jl 0x180024850
add rsp, 0x78
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor edi, edi
cmp dword [rcx + 0x118], 2
jne 0x180024b00
test byte [rcx + 0x88], 8
je 0x180024b00
cmp dword [rcx + 0x11c], 3
jne 0x180024b00
cmp dword [rcx + 0x54], edi
jne 0x180024b00
lea ecx, [rdi + 0x60]
call fcn.1800472c0
mov rbx, rax
lea rax, [0x180083060]
test rbx, rbx
je 0x180024951
lea rcx, [rbx + 0x30]
xor edx, edx
mov dword [rbx + 8], edi
mov qword [rbx], rax
mov dword [rbx + 0x10], 2
mov dword [rbx + 0x14], 0xb
mov byte [rbx + 0x18], dil
mov word [rbx + 0x20], di
mov dword [rbx + 0x24], edi
mov byte [rbx + 0x28], dil
call fcn.180040150
lea rcx, [rbx + 0x48]
xor edx, edx
call fcn.180040150
jmp 0x180024954
mov rbx, rdi
mov dword [rbx + 0x14], 1
mov eax, dword [rsi + 0x30]
lea rdx, [rbp - 0x40]
mov rcx, rsi
mov dword [rbx + 0x1c], eax
call fcn.180023910
mov rcx, qword [rsi + 0x20]
lea rdx, [rbp - 0x28]
mov r8, rax
call fcn.180022560
lea rcx, [rbx + 0x30]
mov rdx, rax
call fcn.180040230
lea rcx, [rbp - 0x28]
call fcn.18003fca0
lea rcx, [rbp - 0x40]
call fcn.180043fd0
lea rcx, [rsi + 0x50]
or r8d, 0xffffffff
mov rdx, rbx
mov byte [rbx + 0x18], 4
call fcn.180063c50
lea rcx, [rsi + 0xe8]
call fcn.18003fcd0
test al, al
jne 0x180024af4
lea rdx, [rsi + 0xe8]
lea rcx, [rbp - 0x28]
call fcn.180040180
lea rcx, [rbp - 0x28]
call fcn.18003fcc0
lea rcx, [rbp - 0x28]
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov dword [rbp + 0x30], eax
call fcn.18003fcc0
mov ecx, eax
and ecx, 0x80003fff
mov dword [rbp + 0x38], ecx
jge 0x180024a0e
dec ecx
or ecx, 0xffffc000
inc ecx
mov dword [rbp + 0x38], ecx
mov edx, dword [rbp + 0x30]
mov eax, edi
mov dword [rbp + 0x28], eax
test edx, edx
js 0x180024aeb
cmp eax, edx
jne 0x180024a2a
test ecx, ecx
je 0x180024aeb
mov rcx, rbx
call fcn.180022a80
mov ecx, 0x60
call fcn.1800472c0
mov rbx, rax
test rax, rax
je 0x180024a86
mov dword [rax + 8], edi
lea rax, [0x180083060]
lea rcx, [rbx + 0x30]
xor edx, edx
mov dword [rbx + 0x10], 2
mov dword [rbx + 0x14], 0xb
mov qword [rbx], rax
mov byte [rbx + 0x18], dil
mov word [rbx + 0x20], di
mov dword [rbx + 0x24], edi
mov byte [rbx + 0x28], dil
call fcn.180040150
lea rcx, [rbx + 0x48]
xor edx, edx
call fcn.180040150
jmp 0x180024a89
mov rbx, rdi
mov dword [rbx + 0x14], edi
mov eax, dword [rsi + 0x30]
mov r8d, 0x4000
mov dword [rbx + 0x1c], eax
mov eax, dword [rbp + 0x30]
lea rdx, [rbp - 0x40]
cmp dword [rbp + 0x28], eax
lea rcx, [rbp - 0x28]
cmove r8d, dword [rbp + 0x38]
call fcn.1800403d0
lea rcx, [rbx + 0x30]
mov rdx, rax
call fcn.180040230
lea rcx, [rbp - 0x40]
call fcn.18003fca0
lea rcx, [rsi + 0x50]
or r8d, 0xffffffff
mov rdx, rbx
call fcn.180063c50
mov eax, dword [rbp + 0x28]
mov edx, dword [rbp + 0x30]
mov ecx, dword [rbp + 0x38]
inc eax
mov dword [rbp + 0x28], eax
cmp eax, edx
jle 0x180024a20
lea rcx, [rbp - 0x28]
call fcn.18003fca0
or byte [rbx + 0x18], 1
mov rcx, rbx
call fcn.180022a80
mov eax, dword [rsi + 0x54]
mov dword [rbp + 0x28], eax
test eax, eax
jle 0x180025042
lea rax, [rsi + 0x50]
mov edx, edi
mov rcx, rax
call fcn.180063af0
lea rbx, [rax + 0x48]
mov rcx, rbx
mov qword [rbp + 0x30], rbx
call fcn.18003fcd0
test al, al
jne 0x180024b60
mov rcx, rbx
call fcn.18003fcc0
mov rcx, qword [rbp + 0x30]
xor edx, edx
mov ebx, eax
call fcn.18003fcb0
lea rcx, [rsi + 0x100]
mov rdx, rax
mov r8d, ebx
call fcn.1800402b0
mov rcx, qword [rbp + 0x30]
call fcn.180040920
inc edi
lea rax, [rsi + 0x50]
cmp edi, dword [rbp + 0x28]
jl 0x180024b12
add rsp, 0x78
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdi, [rcx + 0xe8]
mov rcx, rdi
mov qword [rbp - 0x48], rdi
call fcn.18003fcc0
test eax, eax
je 0x180024bdb
cmp byte [rsi + 0x1f0], 0
jne 0x180024bdb
lea rcx, [rbp - 0x40]
mov edx, 0xb
call fcn.180031230
mov rcx, rdi
mov rbx, qword [rax]
call fcn.18003fcc0
lea rcx, [rbp - 0x58]
mov edx, eax
xor r8d, r8d
call fcn.1800458c0
mov rdx, rbx
mov rcx, rsi
mov r8, qword [rax]
call fcn.180023850
lea rcx, [rbp - 0x58]
call fcn.180040e20
lea rcx, [rbp - 0x40]
call fcn.180040e20
lea rdi, [rsi + 0x100]
mov rcx, rdi
mov qword [rbp - 0x58], rdi
call fcn.180040920
cmp dword [rsi + 0x118], 1
jne 0x180024cbe
mov rcx, qword [rsi + 0x138]
mov edx, 0x7fffffff
call fcn.180040f10
mov rdx, qword [rsi + 0x138]
mov rcx, rdi
mov r8d, eax
call fcn.1800402b0
lea rdx, [rbp + 0x30]
mov r8d, 1
mov rcx, rax
mov byte [rbp + 0x30], 0x20
call fcn.1800402b0
mov rcx, qword [rsi + 0x148]
mov edx, 0x7fffffff
mov rbx, rax
call fcn.180040f10
mov rdx, qword [rsi + 0x148]
mov r8d, eax
mov rcx, rbx
call fcn.1800402b0
lea rdx, [rbp + 0x38]
mov r8d, 1
mov rcx, rax
mov byte [rbp + 0x38], 0x20
call fcn.1800402b0
lea rcx, [rbp - 0x40]
mov edx, 9
mov rdi, rax
call fcn.180031200
mov edx, 0x7fffffff
mov rcx, qword [rax]
mov rbx, rax
call fcn.180040f10
mov rdx, qword [rbx]
mov rcx, rdi
mov r8d, eax
mov byte [rbp + 0x40], 0x31
call fcn.1800402b0
lea rdx, [rbp + 0x40]
mov r8d, 1
mov rcx, rax
call fcn.1800402b0
lea rcx, [rbp - 0x40]
jmp 0x180024d92
lea rcx, [rbp - 0x40]
mov edx, 9
call fcn.180031200
mov edx, 0x7fffffff
mov rcx, qword [rax]
mov rbx, rax
call fcn.180040f10
mov rdx, qword [rbx]
mov rcx, rdi
mov r8d, eax
call fcn.1800402b0
lea rdx, [rbp + 0x30]
mov r8d, 1
mov rcx, rax
mov byte [rbp + 0x30], 0x31
call fcn.1800402b0
lea rdx, [rbp + 0x38]
mov r8d, 1
mov rcx, rax
mov byte [rbp + 0x38], 0x20
call fcn.1800402b0
mov edx, dword [rsi + 0x158]
lea rcx, [rbp - 0x28]
xor r8d, r8d
mov rdi, rax
call fcn.1800458c0
mov edx, 0x7fffffff
mov rcx, qword [rax]
mov rbx, rax
call fcn.180040f10
mov rdx, qword [rbx]
mov rcx, rdi
mov r8d, eax
call fcn.1800402b0
lea rdx, [rbp + 0x40]
mov r8d, 1
mov rcx, rax
mov byte [rbp + 0x40], 0x20
call fcn.1800402b0
mov rcx, qword [rsi + 0x160]
mov edx, 0x7fffffff
mov rbx, rax
call fcn.180040f10
mov rdx, qword [rsi + 0x160]
mov r8d, eax
mov rcx, rbx
call fcn.1800402b0
lea rcx, [rbp - 0x40]
call fcn.180040e20
lea rcx, [rbp - 0x28]
call fcn.180040e20
mov eax, 0xa0d
lea rdx, [rbp + 0x30]
lea rcx, [rsi + 0x100]
mov r8d, 2
mov word [rbp + 0x30], ax
call fcn.1800402b0
lea rax, [rsi + 0xb8]
xor edi, edi
mov qword [rbp + 0x38], rax
cmp dword [rax], edi
jle 0x180024e21
mov rsi, qword [rbp - 0x58]
nop dword [rax + rax]
mov edx, edi
mov rcx, rax
call fcn.180041310
mov edx, 0x7fffffff
mov rcx, qword [rax]
mov rbx, rax
call fcn.180040f10
mov rdx, qword [rbx]
mov rcx, rsi
mov r8d, eax
call fcn.1800402b0
mov eax, 0xa0d
lea rdx, [rbp + 0x30]
mov r8d, 2
mov rcx, rsi
mov word [rbp + 0x30], ax
call fcn.1800402b0
mov rax, qword [rbp + 0x38]
inc edi
cmp edi, dword [rax]
jl 0x180024dd0
mov rsi, qword [rbp + 0x28]
mov eax, 0xa0d
lea rdi, [rsi + 0x100]
lea rdx, [rbp + 0x28]
mov rcx, rdi
mov r8d, 2
mov word [rbp + 0x28], ax
call fcn.1800402b0
cmp byte [rsi + 0x1f0], 0
je 0x18002501c
lea rcx, [rsi + 0xe8]
call fcn.18003fcc0
lea rcx, [rsi + 0xe8]
cdq
sub eax, edx
sar eax, 1
mov edi, eax
call fcn.18003fcc0
lea rcx, [rbp - 0x28]
mov esi, eax
xor r8d, r8d
mov edx, edi
sub esi, edi
call fcn.180045a50
mov edx, 0x7fffffff
mov rcx, qword [rax]
mov rbx, rax
call fcn.180040f10
mov rdx, qword [rbx]
mov rbx, qword [rbp - 0x58]
mov rcx, rbx
mov r8d, eax
call fcn.1800402b0
lea rcx, [rbp - 0x28]
call fcn.180040e20
mov eax, 0xa0d
lea rdx, [rbp + 0x28]
mov r8d, 2
mov rcx, rbx
mov word [rbp + 0x28], ax
call fcn.1800402b0
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp - 0x28]
mov r8d, edi
call fcn.1800403d0
mov rcx, rax
mov rbx, rax
call fcn.18003fcc0
xor edx, edx
mov rcx, rbx
mov edi, eax
call fcn.18003fcb0
mov r8d, edi
mov rdi, qword [rbp - 0x58]
mov rdx, rax
mov rcx, rdi
call fcn.1800402b0
lea rcx, [rbp - 0x28]
call fcn.18003fca0
mov eax, 0xa0d
lea rdx, [rbp + 0x28]
mov r8d, 2
mov rcx, rdi
mov word [rbp + 0x28], ax
call fcn.1800402b0
lea rcx, [rbp - 0x28]
xor r8d, r8d
mov edx, esi
call fcn.180045a50
mov edx, 0x7fffffff
mov rcx, qword [rax]
mov rbx, rax
call fcn.180040f10
mov rdx, qword [rbx]
mov rcx, rdi
mov r8d, eax
call fcn.1800402b0
lea rcx, [rbp - 0x28]
call fcn.180040e20
mov eax, 0xa0d
lea rdx, [rbp + 0x28]
mov r8d, 2
mov rcx, rdi
mov word [rbp + 0x28], ax
call fcn.1800402b0
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp - 0x28]
mov r8d, esi
call fcn.1800403d0
mov rbx, rax
mov rcx, rax
call fcn.18003fcc0
xor edx, edx
mov rcx, rbx
mov edi, eax
call fcn.18003fcb0
mov rbx, qword [rbp - 0x58]
mov rcx, rbx
mov rdx, rax
mov r8d, edi
call fcn.1800402b0
lea rcx, [rbp - 0x28]
call fcn.18003fca0
lea rdx, [rbp + 0x28]
mov edi, 0xa0d
mov r8d, 2
mov rcx, rbx
mov word [rbp + 0x28], di
call fcn.1800402b0
lea rdx, [rbp + 0x28]
mov r8d, 1
mov rcx, rbx
mov byte [rbp + 0x28], 0x30
call fcn.1800402b0
lea rdx, [rbp + 0x28]
mov r8d, 2
mov rcx, rbx
mov word [rbp + 0x28], di
call fcn.1800402b0
lea rdx, [rbp + 0x28]
mov r8d, 2
mov rcx, rbx
mov word [rbp + 0x28], di
call fcn.1800402b0
add rsp, 0x78
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rsi, qword [rbp - 0x48]
mov rcx, rsi
call fcn.18003fcc0
xor edx, edx
mov rcx, rsi
mov ebx, eax
call fcn.18003fcb0
mov r8d, ebx
mov rdx, rax
mov rcx, rdi
call fcn.1800402b0
add rsp, 0x78
pop rdi
pop rsi
pop rbx
pop rbp
ret