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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
xor r14d, r14d
mov r13, rdx
mov rsi, rcx
mov r12, r14
mov ebp, r14d
cmp dword [rcx + 0x98], r14d
jbe 0x1800365ab
mov rbx, r14
nop
mov rdi, qword [rsi + 0x90]
cmp dword [rbx + rdi + 0xc], 0x600000
jae 0x18003638c
cmp dword [rbx + rdi + 8], r14d
je 0x180036435
test byte [rbx + rdi], 1
jne 0x180036435
mov eax, dword [rbx + rdi + 4]
lea ecx, [rax + rbp]
mov dword [rsp + 0x70], ecx
test eax, eax
jne 0x1800363be
cmp dword [rsi + 0x24], 2
jne 0x1800363be
mov eax, dword [rbx + rdi + 0x14]
xor eax, dword [rbx + rdi + 0x10]
xor eax, 0x4c495520
add ecx, eax
mov dword [rsp + 0x70], ecx
mov rax, qword [rsi + 0x40]
movsxd rcx, dword [rsi + 0x3c]
lea rdx, [rsp + 0x70]
mov rcx, qword [rax + rcx*8 - 8]
mov r9d, 0xfff
xor r8d, r8d
mov rcx, qword [rcx]
mov qword [rsp + 0x20], r14
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
je 0x180036435
cmp eax, 0xffff
jne 0x180036417
cmp dword [rbx + rdi + 0xc], 0xa00000
ja 0x180036403
cmp dword [rbx + rdi + 8], r14d
je 0x180036435
mov eax, 0xe0031000
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [rbx + rdi + 0xc]
mov dword [rsp + 0x80], eax
mov eax, dword [rbx + rdi + 8]
mov dword [rsp + 0x84], eax
add r12, qword [rsp + 0x80]
inc ebp
add rbx, 0x20
cmp ebp, dword [rsi + 0x98]
jb 0x180036370
test r12, r12
je 0x1800365ab
test r13, r13
je 0x18003646a
mov rax, qword [r13]
mov rdx, r12
mov rcx, r13
call qword [rax + 0x28]
test eax, eax
jne 0x1800365ad
mov qword [rsp + 0x88], r14
mov ebp, r14d
cmp dword [rsi + 0x98], r14d
jbe 0x1800365ab
mov rbx, r14
nop word [rax + rax]
mov rdi, qword [rsi + 0x90]
cmp dword [rbx + rdi + 0xc], 0x600000
jae 0x1800364ac
cmp dword [rbx + rdi + 8], r14d
je 0x180036599
test byte [rbx + rdi], 1
jne 0x180036599
mov eax, dword [rbx + rdi + 4]
lea ecx, [rax + rbp]
mov dword [rsp + 0x70], ecx
test eax, eax
jne 0x1800364de
cmp dword [rsi + 0x24], 2
jne 0x1800364de
mov eax, dword [rbx + rdi + 0x14]
xor eax, dword [rbx + rdi + 0x10]
xor eax, 0x4c495520
add ecx, eax
mov dword [rsp + 0x70], ecx
mov rax, qword [rsi + 0x40]
movsxd rcx, dword [rsi + 0x3c]
lea rdx, [rsp + 0x70]
mov rcx, qword [rax + rcx*8 - 8]
mov r9d, 0xfff
xor r8d, r8d
mov rcx, qword [rcx]
mov qword [rsp + 0x20], r14
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
je 0x180036599
cmp eax, 0xffff
jne 0x180036531
cmp dword [rbx + rdi + 0xc], 0xa00000
ja 0x180036403
cmp dword [rbx + rdi + 8], r14d
jne 0x180036403
jmp 0x180036599
mov eax, dword [rbx + rdi + 0xc]
lea r8, [rsp + 0x88]
mov r9, r13
mov dword [rsp + 0x80], eax
mov eax, dword [rbx + rdi + 8]
mov edx, ebp
mov rcx, rsi
mov dword [rsp + 0x20], r14d
mov dword [rsp + 0x84], eax
call fcn.1800366e0
cmp eax, 0x80004004
je 0x1800365f8
cmp eax, 0xffff
jne 0x180036587
cmp qword [rsp + 0x80], 0xa00000
ja 0x180036403
jmp 0x180036599
cmp eax, 0xfffe
je 0x1800365e4
cmp eax, 0xfffd
je 0x1800365d0
test eax, eax
js 0x1800365bc
inc ebp
add rbx, 0x20
cmp ebp, dword [rsi + 0x98]
jb 0x180036490
xor eax, eax
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 0xe0031203
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 0xe0031300
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 0xe0031204
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 0x80004004
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret