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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov edi, dword [rcx + 8]
mov rsi, rcx
movzx eax, byte [rdi + 0x29]
cmp eax, 5
ja case.default.0x18002e7bf
lea rcx, [0x180000000]
mov edx, dword [rcx + rax*4 + 0x2e9ec]
add rdx, rcx
jmp rdx
xor eax, eax
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x40], eax
mov eax, dword [rdi + 0x80]
test byte [rax + 4], 3
je 0x18002e7e6
mov edx, eax
mov rcx, rdi
call fcn.18002e610
mov eax, dword [rdi + 0x80]
mov edx, dword [rax + 0x2c]
test byte [rdx + 4], 3
je 0x18002e7f7
mov rcx, rdi
call fcn.18002e610
mov eax, dword [rdi + 0x8c]
add eax, 4
cmp eax, 0xfffffff6
jbe 0x18002e819
mov edx, dword [rdi + 0x88]
test byte [rdx + 4], 3
je 0x18002e819
mov rcx, rdi
call fcn.18002e610
mov rcx, rdi
call fcn.18002e6c0
mov byte [rdi + 0x29], 1
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp dword [rdi + 0x38], 0
je 0x18002e854
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1800301d0
mov byte [rdi + 0x29], 2
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp dword [rdi + 0xfc], 0
jne 0x18002e978
mov rdx, rsi
mov rcx, rdi
call fcn.18002e190
xor eax, eax
mov byte [rdi + 0x29], 3
mov dword [rdi + 0x2c], eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov ecx, dword [rdi + 0x2c]
mov r8d, 0xffffffff
mov rax, qword [rdi]
mov ebx, dword [rdi + 0x20]
lea rdx, [rax + rcx*4]
lea eax, [rcx + 1]
mov rcx, rdi
mov dword [rdi + 0x2c], eax
call fcn.18002ecc0
mov eax, dword [rdi + 8]
cmp dword [rdi + 0x2c], eax
jbe 0x18002e8c8
mov byte [rdi + 0x29], 4
mov eax, dword [rdi + 0x20]
sub eax, ebx
add dword [rdi + 0x4c], eax
mov eax, 0xa
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, dword [rdi + 0x34]
mov r8d, 0x28
mov ebx, dword [rdi + 0x20]
mov rcx, rdi
call fcn.18002ecc0
mov ecx, dword [rdi + 0x20]
mov dword [rdi + 0x34], eax
sub ecx, ebx
add dword [rdi + 0x4c], ecx
mov eax, eax
cmp dword [rax], 0
jne 0x18002e954
mov edx, dword [rdi + 8]
mov eax, edx
shr eax, 2
cmp dword [rdi + 0xc], eax
ja 0x18002e92a
cmp edx, 0x1ff
jbe 0x18002e92a
shr edx, 1
mov rcx, rsi
call fcn.180050b60
cmp dword [rdi + 0x44], 0
je 0x18002e94b
mov word [rdi + 0x29], 0x105
mov eax, 0x190
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor eax, eax
mov byte [rdi + 0x29], 0
mov dword [rdi + 0x48], eax
mov eax, 0x190
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp dword [rdi + 0x44], 0
je 0x18002e9b8
cmp dword [rdi + 0xfc], 0
je 0x18002e98d
mov eax, 0x7fffff00
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rcx, rsi
call fcn.18002e510
mov eax, dword [rdi + 0x4c]
cmp eax, 0x64
jbe 0x18002e9a3
add eax, 0xffffff9c
mov dword [rdi + 0x4c], eax
mov eax, 0x64
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp byte [rdi + 0x2a], 0
jne 0x18002e9d0
mov edx, dword [rdi + 0x100]
mov rcx, rsi
mov rdx, qword [rdx + 0x20]
call fcn.180054f30
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rsi, qword [rsp + 0x38]
mov dword [rdi + 0x48], eax
mov byte [rdi + 0x29], 0
add rsp, 0x20
pop rdi
ret