Function at 0x180024a9c
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 0x180024aca
mov eax, dword [rcx + 0x2c]
test eax, eax
jne 0x180024f68
mov r13d, 1
cmp qword [rcx + 0x118], r12
jne 0x180024ea2
cmp byte [rcx + 0x14], r12b
jne 0x180024ea2
mov edx, r13d
call fcn.180023dbc
mov edi, eax
test eax, eax
jne 0x180024f58
cmp byte [rbx + 0x15], r13b
ja 0x180024ccd
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 0x180024b41
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 0x180024cbc
cmp dword [rbp + 0x50], r12d
je 0x180024cbc
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 0x180024cbc
cmp dword [rbp + 0x58], r12d
jne 0x180024cbc
lea rdx, [rbp + 0x48]
mov rcx, rbx
call fcn.180023998
mov edi, eax
test eax, eax
jne 0x180024cbc
test r15, r15
jne 0x180024c77
cmp dword [rbp + 0x48], r12d
jne 0x180024c46
mov rax, qword [0x1801235d0]
test rax, rax
je 0x180024b9e
call rax
mov edx, 2
mov rcx, rbx
call fcn.180022340
test eax, eax
jne 0x180024bd0
mov rdx, qword [rbx + 0xd8]
xor r8d, r8d
mov rcx, rsi
call qword [rsi + 0x30]
cmp byte [rbx + 8], r12b
jne 0x180024bd0
mov edx, r13d
mov rcx, rbx
call fcn.180022304
mov rax, qword [0x1801235d8]
test rax, rax
je 0x180024bde
call rax
cmp byte [rbx + 0x10], r12b
jne 0x180024e2f
cmp byte [rbx + 0x1b], r12b
je 0x180024e2f
lea rdx, [rbp + 0x48]
mov dword [rbp + 0x48], r12d
mov rcx, rbx
call fcn.180023998
mov edi, eax
test eax, eax
jne 0x180024f58
cmp dword [rbp + 0x48], r12d
jbe 0x180024de6
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 0x180024df5
cmp eax, 0x20a
jne 0x180024f58
jmp 0x180024df5
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 0x180024c77
cmp eax, 0xe
je 0x180024ccd
jmp 0x180024cbc
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 0x180024cb4
mov rsi, qword [rbx + 0x50]
mov rax, qword [rsi]
test rax, rax
je 0x180024cb4
mov rcx, rsi
call qword [rax + 8]
mov qword [rsi], r12
cmp byte [rbp + 0x48], r12b
setne r14b
test edi, edi
jne 0x180024f58
test r14d, r14d
je 0x180024bde
cmp byte [rbx + 0x12], r12b
je 0x180024cdd
mov edi, 0x308
jmp 0x180024f58
mov edx, 4
mov rcx, rbx
call fcn.180022340
mov edi, eax
test eax, eax
jne 0x180024f58
mov rax, qword [rbx + 0x50]
cmp qword [rax], r12
jne 0x180024d68
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 0x180024d68
cmp dword [rbp + 0x50], r12d
je 0x180024d68
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 0x180024d68
test byte [rbp + 0x48], r13b
je 0x180024d68
mov rsi, qword [rbx + 0x50]
lea edi, [rax + 0xe]
mov rax, qword [rsi]
test rax, rax
je 0x180024d68
mov rcx, rsi
call qword [rax + 8]
mov qword [rsi], r12
mov rcx, qword [rbx + 0x50]
mov rax, qword [rcx]
test rax, rax
je 0x180024daf
cmp byte [rbx + 0xb], r12b
jne 0x180024d88
mov edx, 2
call qword [rax + 0x28]
mov edi, eax
test eax, eax
jne 0x180024d98
mov rcx, qword [rbx + 0x50]
lea rdx, [rbx + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov edi, eax
test edi, edi
jne 0x180024dc8
mov edx, r13d
mov rcx, rbx
call fcn.180023370
mov edi, eax
mov byte [rbx + 0x14], r12b
jmp 0x180024dc0
cmp byte [rbx + 8], r12b
jne 0x180024dc0
mov edx, r13d
mov rcx, rbx
call fcn.180022304
test edi, edi
je 0x180024bde
movzx eax, dil
cmp eax, 0xd
je 0x180024dda
cmp eax, 0xa
jne 0x180024f54
mov dword [rbx + 0x2c], edi
mov byte [rbx + 0x14], 6
jmp 0x180024f54
xor edx, edx
lea rcx, [rbp - 0x18]
lea r8d, [rdx + 0x10]
call fcn.1800ab9f0
lea rcx, [rbx + 0x88]
mov r8d, 0x10
lea rdx, [rbp - 0x18]
call fcn.1800ab700
test eax, eax
je 0x180024e2f
mov rcx, rbx
call fcn.18002281c
cmp byte [rbx + 0x1a], r12b
je 0x180024e2f
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 0x180024ea2
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.180023998
mov edi, eax
test eax, eax
jne 0x180024ea2
mov rax, qword [rbx]
xor r8d, r8d
mov rcx, rax
mov rdx, qword [rbx + 0x120]
cmp dword [rbp + 0x50], r12d
jne 0x180024e76
call qword [rax + 0x30]
mov edi, eax
cmp eax, 0x170a
mov eax, r12d
cmove edi, r12d
mov dword [rbp + 0x48], eax
jmp 0x180024e82
lea r9, [rbp + 0x48]
call qword [rax + 0x38]
mov edi, eax
mov eax, dword [rbp + 0x48]
test edi, edi
jne 0x180024ea2
test eax, eax
je 0x180024e98
xor edx, edx
mov rcx, rbx
call fcn.1800260dc
mov edi, eax
jmp 0x180024ea2
cmp byte [rbx + 9], 5
jne 0x180024ea2
mov byte [rbx + 9], r12b
mov rsi, qword [rbx + 0x118]
test rsi, rsi
je 0x180024f3c
mov rcx, rsi
mov dword [rbp + 0x48], r12d
call fcn.180027d64
or r15d, 0xffffffff
cmp word [rsi + 0x3c], r12w
jl 0x180024eec
cmp byte [rsi + 0x3f], r12b
jne 0x180024ee7
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.180027958
mov edi, eax
cmp eax, r15d
je 0x180024ef6
test eax, eax
jne 0x180024f1c
cmp dword [rbp + 0x48], r12d
je 0x180024f3c
mov rcx, rbx
call fcn.18002281c
cmp byte [rbx + 0x1a], r12b
je 0x180024f3c
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 0x180024f54
test edi, edi
jne 0x180024f58
lea rdx, [rbx + 0x1c]
mov rcx, rbx
call fcn.180023998
mov edi, eax
test edi, edi
je 0x180024f62
mov rcx, rbx
call fcn.18002294c
jmp 0x180024f66
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