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

Disassembly:
mov qword [rsp + 0x10], rdx
push rdi
push r15
sub rsp, 0x78
cmp dword [rcx + 0x148], 0
mov r15, rdx
mov rdi, rcx
jne 0x18003b1b5
xor al, al
add rsp, 0x78
pop r15
pop rdi
ret
call fcn.18001ae30
mov edx, dword [rdi + 0x148]
xor r8d, r8d
mov r9, qword [rax]
shl rdx, 2
mov rcx, rax
call qword [r9]
mov qword [rdi + 0x180], rax
test rax, rax
je 0x18003b1ab
mov r8d, dword [rdi + 0x148]
mov edx, 0xff
mov rcx, rax
shl r8, 2
mov qword [rsp + 0x68], rbp
call fcn.18003ece0
xor ebp, ebp
mov rcx, rdi
mov dword [rdi + 0x188], ebp
call fcn.18003a050
test al, al
je 0x18003b249
mov rcx, rdi
call fcn.180038c80
test al, al
je 0x18003b249
mov rcx, rdi
call fcn.180039490
test al, al
je 0x18003b249
mov rcx, rdi
call fcn.1800395e0
test al, al
je 0x18003b249
mov rcx, rdi
call fcn.180039aa0
test al, al
je 0x18003b249
mov rcx, rdi
call fcn.18003aef0
test al, al
jne 0x18003b258
xor al, al
mov rbp, qword [rsp + 0x68]
add rsp, 0x78
pop r15
pop rdi
ret
mov eax, dword [rdi + 0x1c]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0x20], eax
mov eax, dword [rdi + 0xf4]
mov qword [rsp + 0x58], r12
mov dword [rsp + 0x24], eax
mov rax, qword [rdi + 8]
mov qword [rsp + 0x50], r13
mov qword [r15 + 0x10], rax
mov r8, qword [rdi + 0x20]
or esi, 0xffffffff
mov qword [r15 + 0x18], r8
mov rax, qword [rdi + 0xe0]
mov qword [rsp + 0x48], r14
mov qword [r15 + 0x20], rax
mov r13, qword [rdi + 0x110]
mov qword [rsp + 0x28], r8
mov qword [r15 + 0x28], r13
mov rax, qword [rdi + 0x38]
mov r12d, ebp
mov qword [r15 + 0x48], rax
mov rax, qword [rdi + 0x80]
mov r14d, ebp
mov qword [r15 + 0x60], rax
mov rax, qword [rdi + 0x50]
mov r9d, ebp
mov qword [r15 + 0x50], rax
mov rax, qword [rdi + 0x98]
mov dword [rsp + 0xa0], ebp
mov qword [r15 + 0x68], rax
movzx eax, byte [rdi + 0x1ad]
mov r10d, ebp
mov byte [r15 + 0x90], al
mov rax, qword [rdi + 0x68]
mov dword [rsp + 0xa8], ebp
mov qword [r15 + 0x58], rax
mov rax, qword [rdi + 0xb0]
mov qword [r15 + 0x70], rax
mov rax, qword [rdi + 0xc8]
mov qword [r15 + 0x78], rax
mov rax, qword [rdi + 0xf8]
mov qword [r15 + 0x88], rax
mov ecx, dword [rdi + 0x10c]
movabs rax, 0xcccccccccccccccd
mul rcx
shr rdx, 2
mov eax, ebp
mov dword [rsp + 0x90], eax
test edx, edx
je 0x18003b4ce
mov edx, edx
add r13, 0xc
mov qword [rsp + 0x30], rdx
nop dword [rax]
mov r15d, dword [r13 - 0xc]
cmp r15d, esi
je 0x18003b478
cmp esi, 0xffffffff
je 0x18003b475
mov eax, dword [rdi + 0x120]
cmp dword [rdi + 0x124], eax
jne 0x18003b395
lea rcx, [rdi + 0x120]
mov edx, 1
call fcn.18001aef0
mov ecx, dword [rdi + 0x124]
mov rax, qword [rdi + 0x128]
mov dword [rax + rcx*4], esi
inc dword [rdi + 0x124]
mov eax, dword [rdi + 0x124]
cmp eax, dword [rdi + 0x120]
jne 0x18003b3ca
lea rcx, [rdi + 0x120]
mov edx, 1
call fcn.18001aef0
mov ecx, dword [rdi + 0x124]
mov rax, qword [rdi + 0x128]
mov dword [rax + rcx*4], r12d
inc dword [rdi + 0x124]
mov eax, dword [rdi + 0x124]
cmp eax, dword [rdi + 0x120]
jne 0x18003b400
lea rcx, [rdi + 0x120]
mov edx, 1
call fcn.18001aef0
mov ecx, dword [rdi + 0x124]
mov rax, qword [rdi + 0x128]
mov dword [rax + rcx*4], r14d
inc dword [rdi + 0x124]
mov eax, dword [rdi + 0x124]
cmp eax, dword [rdi + 0x120]
jne 0x18003b436
lea rcx, [rdi + 0x120]
mov edx, 1
call fcn.18001aef0
mov ecx, dword [rdi + 0x124]
mov rax, qword [rdi + 0x128]
mov edx, dword [rsp + 0x90]
mov r8, qword [rsp + 0x28]
mov r9d, dword [rsp + 0xa0]
mov r10d, dword [rsp + 0xa8]
mov dword [rax + rcx*4], edx
inc dword [rdi + 0x124]
mov rdx, qword [rsp + 0x30]
mov eax, ebp
mov r12d, ebp
mov r14d, ebp
mov esi, r15d
mov ecx, dword [r8]
inc eax
add r8, 4
mov dword [rsp + 0x90], eax
mov eax, dword [r13]
add r9d, ecx
add r10d, eax
add r14d, eax
mov eax, dword [rsp + 0x90]
add r12d, ecx
add r13, 0x14
dec rdx
mov dword [rsp + 0xa0], r9d
mov dword [rsp + 0xa8], r10d
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], rdx
jne 0x18003b360
mov r15, qword [rsp + 0x98]
mov eax, dword [rdi + 0x120]
mov r13, qword [rsp + 0x50]
cmp dword [rdi + 0x124], eax
jne 0x18003b4f2
lea rcx, [rdi + 0x120]
mov edx, 1
call fcn.18001aef0
mov ecx, dword [rdi + 0x124]
mov rax, qword [rdi + 0x128]
mov dword [rax + rcx*4], esi
inc dword [rdi + 0x124]
mov eax, dword [rdi + 0x124]
cmp eax, dword [rdi + 0x120]
jne 0x18003b527
lea rcx, [rdi + 0x120]
mov edx, 1
call fcn.18001aef0
mov ecx, dword [rdi + 0x124]
mov rax, qword [rdi + 0x128]
mov dword [rax + rcx*4], r12d
inc dword [rdi + 0x124]
mov eax, dword [rdi + 0x124]
mov r12, qword [rsp + 0x58]
cmp eax, dword [rdi + 0x120]
jne 0x18003b562
lea rcx, [rdi + 0x120]
mov edx, 1
call fcn.18001aef0
mov ecx, dword [rdi + 0x124]
mov rax, qword [rdi + 0x128]
mov dword [rax + rcx*4], r14d
inc dword [rdi + 0x124]
mov eax, dword [rdi + 0x124]
mov r14, qword [rsp + 0x48]
cmp eax, dword [rdi + 0x120]
jne 0x18003b59d
lea rcx, [rdi + 0x120]
mov edx, 1
call fcn.18001aef0
mov rax, qword [rdi + 0x128]
mov ecx, dword [rdi + 0x124]
mov edx, dword [rsp + 0x90]
mov dword [rax + rcx*4], edx
inc dword [rdi + 0x124]
mov eax, dword [rdi + 0x124]
mov rbx, qword [r15 + 0x88]
shr eax, 2
mov dword [r15 + 0x98], eax
mov rax, qword [rdi + 0x128]
mov qword [r15 + 0xa0], rax
mov eax, dword [rsp + 0xa0]
mov dword [r15], eax
mov eax, dword [rdi + 0x138]
mov dword [r15 + 4], eax
mov eax, dword [rsp + 0x20]
mov dword [r15 + 8], eax
mov eax, dword [rsp + 0xa8]
mov dword [r15 + 0x44], eax
mov eax, dword [rdi + 0x13c]
mov dword [r15 + 0x38], eax
mov eax, dword [rdi + 0x140]
mov dword [r15 + 0x3c], eax
mov eax, dword [rdi + 0x144]
mov dword [r15 + 0x40], eax
mov eax, dword [rsp + 0x24]
mov dword [r15 + 0x80], eax
test rbx, rbx
je 0x18003b6de
call fcn.18001ae30
mov edx, dword [rdi + 0x148]
xor r8d, r8d
mov r9, qword [rax]
shl rdx, 2
mov rcx, rax
call qword [r9]
mov rsi, rax
test rax, rax
je 0x18003b74b
mov edx, ebp
cmp dword [rdi + 0x188], edx
jbe 0x18003b68d
mov r8, rbp
nop dword [rax]
mov rax, qword [rdi + 0x180]
add r8, 4
mov ecx, dword [rax + r8 - 4]
mov dword [rsi + rcx*4], edx
inc edx
cmp edx, dword [rdi + 0x188]
jb 0x18003b670
mov r8d, ebp
cmp dword [rdi + 0x1a8], ebp
jbe 0x18003b6cc
nop dword [rax + rax]
mov edx, dword [rbx]
add rbx, 4
test edx, edx
je 0x18003b6c0
nop word [rax + rax]
mov eax, dword [rbx]
add rbx, 4
dec edx
mov ecx, dword [rsi + rax*4]
mov dword [rbx - 4], ecx
jne 0x18003b6b0
inc r8d
cmp r8d, dword [rdi + 0x1a8]
jb 0x18003b6a0
call fcn.18001ae30
mov rdx, rsi
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x18]
mov r8b, 1
mov r9d, ebp
cmp dword [rdi + 0x148], ebp
jbe 0x18003b745
mov r10, qword [rdi + 0x180]
mov rdx, rbp
nop word [rax + rax]
mov eax, dword [r10 + rdx]
movzx r8d, r8b
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x170]
add rcx, rcx
mov ecx, dword [rax + rcx*8 + 0x2c]
mov dword [r10 + rdx], ecx
mov r10, qword [rdi + 0x180]
cmp dword [r10 + rdx], r9d
cmovne r8d, ebp
inc r9d
add rdx, 4
cmp r9d, dword [rdi + 0x148]
jb 0x18003b700
test r8b, r8b
jne 0x18003b745
mov rbp, r10
mov qword [r15 + 0x30], rbp
mov al, 1
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x78
pop r15
pop rdi
ret