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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x48
xor r12d, r12d
mov rbx, rcx
mov edi, r12d
cmp byte [rcx + 0x13], r12b
je 0x1800249b6
mov eax, dword [rcx + 0x2c]
test eax, eax
jne 0x180024e54
mov r13d, 1
cmp qword [rcx + 0x118], r12
jne 0x180024d8e
cmp byte [rcx + 0x14], r12b
jne 0x180024d8e
mov edx, r13d
call fcn.180023ca8
mov edi, eax
test eax, eax
jne 0x180024e44
cmp byte [rbx + 0x15], r13b
ja 0x180024bb9
mov rax, qword [rbx + 0x50]
mov r14d, r12d
mov rsi, qword [rbx]
mov dword [rbp + 0x50], r13d
mov r15, qword [rax]
test r15, r15
jne 0x180024a2d
mov rdx, qword [rbx + 0xd8]
lea r9, [rbp + 0x50]
xor r8d, r8d
mov rcx, rsi
call qword [rsi + 0x38]
mov edi, eax
test eax, eax
jne 0x180024ba8
cmp dword [rbp + 0x50], r12d
je 0x180024ba8
mov rcx, qword [rbx + 0x48]
lea rdx, [rbp + 0x58]
mov dword [rbp + 0x58], r12d
mov rax, qword [rcx]
call qword [rax + 0x48]
mov edi, eax
test eax, eax
jne 0x180024ba8
cmp dword [rbp + 0x58], r12d
jne 0x180024ba8
lea rdx, [rbp + 0x48]
mov rcx, rbx
call fcn.180023884
mov edi, eax
test eax, eax
jne 0x180024ba8
test r15, r15
jne 0x180024b63
cmp dword [rbp + 0x48], r12d
jne 0x180024b32
mov rax, qword [0x1801235d0]
test rax, rax
je 0x180024a8a
call rax
mov edx, 2
mov rcx, rbx
call fcn.180022220
test eax, eax
jne 0x180024abc
mov rdx, qword [rbx + 0xd8]
xor r8d, r8d
mov rcx, rsi
call qword [rsi + 0x30]
cmp byte [rbx + 8], r12b
jne 0x180024abc
mov edx, r13d
mov rcx, rbx
call fcn.1800221e4
mov rax, qword [0x1801235d8]
test rax, rax
je 0x180024aca
call rax
cmp byte [rbx + 0x10], r12b
jne 0x180024d1b
cmp byte [rbx + 0x1b], r12b
je 0x180024d1b
lea rdx, [rbp + 0x48]
mov dword [rbp + 0x48], r12d
mov rcx, rbx
call fcn.180023884
mov edi, eax
test eax, eax
jne 0x180024e44
cmp dword [rbp + 0x48], r12d
jbe 0x180024cd2
mov rcx, qword [rbx + 0x48]
lea r9d, [rdi + 0x18]
lea r8d, [rdi + 0x10]
lea rdx, [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edi, eax
test eax, eax
je 0x180024ce1
cmp eax, 0x20a
jne 0x180024e44
jmp 0x180024ce1
mov r8, qword [rbx + 0x50]
lea rax, [rbp + 0x60]
mov rdx, qword [rbx + 0xd8]
mov r9d, 0x801
mov rcx, rsi
mov dword [rbp + 0x60], r9d
mov qword [rsp + 0x20], rax
call qword [rsi + 0x28]
mov edi, eax
test eax, eax
je 0x180024b63
cmp eax, 0xe
je 0x180024bb9
jmp 0x180024ba8
mov rcx, qword [rbx + 0x50]
lea rdx, [rbp + 0x48]
mov byte [rbp + 0x48], r12b
xor r9d, r9d
mov r8d, r13d
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp eax, 0x20a
mov edi, eax
cmove edi, r12d
test r15, r15
jne 0x180024ba0
mov rsi, qword [rbx + 0x50]
mov rax, qword [rsi]
test rax, rax
je 0x180024ba0
mov rcx, rsi
call qword [rax + 8]
mov qword [rsi], r12
cmp byte [rbp + 0x48], r12b
setne r14b
test edi, edi
jne 0x180024e44
test r14d, r14d
je 0x180024aca
cmp byte [rbx + 0x12], r12b
je 0x180024bc9
mov edi, 0x308
jmp 0x180024e44
mov edx, 4
mov rcx, rbx
call fcn.180022220
mov edi, eax
test eax, eax
jne 0x180024e44
mov rax, qword [rbx + 0x50]
cmp qword [rax], r12
jne 0x180024c54
mov rsi, qword [rbx]
lea r9, [rbp + 0x50]
mov rdx, qword [rbx + 0xd8]
xor r8d, r8d
mov rcx, rsi
call qword [rsi + 0x38]
mov edi, eax
test eax, eax
jne 0x180024c54
cmp dword [rbp + 0x50], r12d
je 0x180024c54
mov r8, qword [rbx + 0x50]
lea rax, [rbp + 0x48]
mov rdx, qword [rbx + 0xd8]
mov r9d, 0x802
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x48], r12d
call qword [rsi + 0x28]
mov edi, eax
test eax, eax
jne 0x180024c54
test byte [rbp + 0x48], r13b
je 0x180024c54
mov rsi, qword [rbx + 0x50]
lea edi, [rax + 0xe]
mov rax, qword [rsi]
test rax, rax
je 0x180024c54
mov rcx, rsi
call qword [rax + 8]
mov qword [rsi], r12
mov rcx, qword [rbx + 0x50]
mov rax, qword [rcx]
test rax, rax
je 0x180024c9b
cmp byte [rbx + 0xb], r12b
jne 0x180024c74
mov edx, 2
call qword [rax + 0x28]
mov edi, eax
test eax, eax
jne 0x180024c84
mov rcx, qword [rbx + 0x50]
lea rdx, [rbx + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov edi, eax
test edi, edi
jne 0x180024cb4
mov edx, r13d
mov rcx, rbx
call fcn.180023250
mov edi, eax
mov byte [rbx + 0x14], r12b
jmp 0x180024cac
cmp byte [rbx + 8], r12b
jne 0x180024cac
mov edx, r13d
mov rcx, rbx
call fcn.1800221e4
test edi, edi
je 0x180024aca
movzx eax, dil
cmp eax, 0xd
je 0x180024cc6
cmp eax, 0xa
jne 0x180024e40
mov dword [rbx + 0x2c], edi
mov byte [rbx + 0x14], 6
jmp 0x180024e40
xor edx, edx
lea rcx, [rbp - 0x18]
lea r8d, [rdx + 0x10]
call fcn.1800ab840
lea rcx, [rbx + 0x88]
mov r8d, 0x10
lea rdx, [rbp - 0x18]
call fcn.1800ab550
test eax, eax
je 0x180024d1b
mov rcx, rbx
call fcn.1800226fc
cmp byte [rbx + 0x1a], r12b
je 0x180024d1b
mov rcx, qword [rbx + 0x48]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x90]
mov edi, r12d
cmp byte [rbx + 0x10], r12b
jne 0x180024d8e
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.180023884
mov edi, eax
test eax, eax
jne 0x180024d8e
mov rax, qword [rbx]
xor r8d, r8d
mov rcx, rax
mov rdx, qword [rbx + 0x120]
cmp dword [rbp + 0x50], r12d
jne 0x180024d62
call qword [rax + 0x30]
mov edi, eax
cmp eax, 0x170a
mov eax, r12d
cmove edi, r12d
mov dword [rbp + 0x48], eax
jmp 0x180024d6e
lea r9, [rbp + 0x48]
call qword [rax + 0x38]
mov edi, eax
mov eax, dword [rbp + 0x48]
test edi, edi
jne 0x180024d8e
test eax, eax
je 0x180024d84
xor edx, edx
mov rcx, rbx
call fcn.180025fc8
mov edi, eax
jmp 0x180024d8e
cmp byte [rbx + 9], 5
jne 0x180024d8e
mov byte [rbx + 9], r12b
mov rsi, qword [rbx + 0x118]
test rsi, rsi
je 0x180024e28
mov rcx, rsi
mov dword [rbp + 0x48], r12d
call fcn.180027c50
or r15d, 0xffffffff
cmp word [rsi + 0x3c], r12w
jl 0x180024dd8
cmp byte [rsi + 0x3f], r12b
jne 0x180024dd3
mov rcx, qword [rsi + 8]
lea r9d, [r15 + 6]
movsx edx, word [rsi + 0x3c]
mov r8d, r13d
add edx, 3
mov rax, qword [rcx]
call qword [rax + 0x70]
mov word [rsi + 0x3c], r15w
mov r14, qword [rbx + 0x118]
mov esi, r12d
add esi, r13d
lea rdx, [rbp + 0x48]
mov r9d, esi
xor r8d, r8d
mov rcx, r14
call fcn.180027844
mov edi, eax
cmp eax, r15d
je 0x180024de2
test eax, eax
jne 0x180024e08
cmp dword [rbp + 0x48], r12d
je 0x180024e28
mov rcx, rbx
call fcn.1800226fc
cmp byte [rbx + 0x1a], r12b
je 0x180024e28
mov rcx, qword [rbx + 0x48]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x90]
cmp byte [rbx + 0x14], r12b
jne 0x180024e40
test edi, edi
jne 0x180024e44
lea rdx, [rbx + 0x1c]
mov rcx, rbx
call fcn.180023884
mov edi, eax
test edi, edi
je 0x180024e4e
mov rcx, rbx
call fcn.18002282c
jmp 0x180024e52
mov byte [rbx + 0x14], r13b
mov eax, edi
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret