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

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x20
mov r8, qword [rcx]
mov rsi, rdx
or dword [rdx + 0x10], 1
mov rdi, rcx
test byte [rdx + 8], 1
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], r14
je 0x14005d553
mov rax, qword [rdx + 8]
and rax, 0xfffffffffffffffe
mov rdx, qword [rax + 0x18]
jmp 0x14005d55b
mov rdx, qword [rdx + 8]
and rdx, 0xfffffffffffffffe
mov rcx, qword [rsi + 0xb0]
lea rbx, [0x14015f388]
cmp rcx, rbx
jne 0x14005d57c
lea rcx, [rsi + 0xb0]
call fcn.140002150
jmp 0x14005d597
cmp rcx, r8
je 0x14005d597
cmp qword [r8 + 0x18], 0x10
mov rdx, r8
jb 0x14005d58e
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
call fcn.1400058e0
mov r8, qword [rdi + 8]
cmp qword [r8 + 0x10], 0
je 0x14005d5f7
or dword [rsi + 0x10], 2
test byte [rsi + 8], 1
je 0x14005d5ba
mov rax, qword [rsi + 8]
and rax, 0xfffffffffffffffe
mov rdx, qword [rax + 0x18]
jmp 0x14005d5c2
mov rdx, qword [rsi + 8]
and rdx, 0xfffffffffffffffe
mov rcx, qword [rsi + 0xb8]
cmp rcx, rbx
jne 0x14005d5dc
lea rcx, [rsi + 0xb8]
call fcn.140002150
jmp 0x14005d5f7
cmp rcx, r8
je 0x14005d5f7
cmp qword [r8 + 0x18], 0x10
mov rdx, r8
jb 0x14005d5ee
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
call fcn.1400058e0
cmp dword [rdi + 0x3c], 3
jne 0x14005d612
mov ecx, 3
call fcn.14006f110
mov rdx, rax
mov rcx, rsi
call fcn.140075750
xor r14d, r14d
mov qword [rsp + 0x58], r15
mov ebp, r14d
cmp dword [rdi + 0x20], r14d
jle 0x14005d65e
mov edx, ebp
mov rcx, rdi
call fcn.1400748b0
lea rcx, [rsi + 0x18]
mov rbx, qword [rax]
call fcn.14003b6b0
cmp rax, rbx
je 0x14005d657
cmp qword [rbx + 0x18], 0x10
mov rdx, rbx
jb 0x14005d64b
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.1400058e0
inc ebp
cmp ebp, dword [rdi + 0x20]
jl 0x14005d623
mov ebx, r14d
cmp dword [rdi + 0x24], ebx
jle 0x14005d698
mov r15, r14
nop dword [rax]
mov rax, qword [rdi + 0x58]
lea rdx, [rsp + 0x40]
mov ecx, dword [r15 + rax]
mov dword [rsp + 0x40], ecx
lea rcx, [rsi + 0x90]
call fcn.14003b5f0
inc ebx
lea r15, [r15 + 4]
cmp ebx, dword [rdi + 0x24]
jl 0x14005d670
mov ebx, r14d
cmp dword [rdi + 0x28], ebx
jle 0x14005d6cb
mov r15, r14
mov rax, qword [rdi + 0x60]
lea rdx, [rsp + 0x40]
mov ecx, dword [r15 + rax]
mov dword [rsp + 0x40], ecx
lea rcx, [rsi + 0xa0]
call fcn.14003b5f0
inc ebx
lea r15, [r15 + 4]
cmp ebx, dword [rdi + 0x28]
jl 0x14005d6a3
mov r15, qword [rsp + 0x58]
mov ebx, r14d
cmp dword [rdi + 0x2c], ebx
jle 0x14005d707
nop dword [rax + rax]
lea rcx, [rsi + 0x30]
call fcn.140052f20
movsxd rcx, ebx
mov rdx, rax
lea rcx, [rcx + rcx*8]
shl rcx, 4
add rcx, qword [rdi + 0x68]
call fcn.14005c800
inc ebx
cmp ebx, dword [rdi + 0x2c]
jl 0x14005d6e0
mov ebx, r14d
cmp dword [rdi + 0x30], ebx
jle 0x14005d737
nop
lea rcx, [rsi + 0x48]
call fcn.140052f90
movsxd rcx, ebx
mov rdx, rax
lea rcx, [rcx + rcx*4]
shl rcx, 4
add rcx, qword [rdi + 0x70]
call fcn.14005ccf0
inc ebx
cmp ebx, dword [rdi + 0x30]
jl 0x14005d710
mov ebp, r14d
cmp dword [rdi + 0x34], r14d
jle 0x14005d7b3
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x14005d765
movsxd rdx, dword [rsi + 0x68]
mov eax, dword [rcx]
cmp edx, eax
jge 0x14005d760
mov r8, qword [rcx + rdx*8 + 8]
lea eax, [rdx + 1]
mov dword [rsi + 0x68], eax
jmp 0x14005d795
cmp eax, dword [rsi + 0x6c]
jne 0x14005d773
mov edx, dword [rsi + 0x6c]
lea rcx, [rsi + 0x60]
inc edx
call fcn.14003bf00
mov rax, qword [rsi + 0x70]
inc dword [rax]
mov rcx, qword [rsi + 0x60]
call fcn.140090e80
movsxd rcx, dword [rsi + 0x68]
mov r8, rax
mov rax, qword [rsi + 0x70]
mov qword [rax + rcx*8 + 8], r8
inc dword [rsi + 0x68]
movsxd rax, ebp
mov rdx, r8
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rdi + 0x78]
call fcn.14005dbe0
inc ebp
cmp ebp, dword [rdi + 0x34]
jl 0x14005d740
mov rbp, qword [rsp + 0x48]
cmp dword [rdi + 0x38], r14d
jle 0x14005d7eb
nop
lea rcx, [rsi + 0x78]
call fcn.140053000
movsxd rcx, r14d
mov rdx, rax
imul rcx, rcx, 0x98
add rcx, qword [rdi + 0x80]
call fcn.14005d020
inc r14d
cmp r14d, dword [rdi + 0x38]
jl 0x14005d7c0
mov rbx, qword [rdi + 0x88]
call fcn.1400a6e10
mov r14, qword [rsp + 0x50]
cmp rbx, rax
je 0x14005d854
mov rbx, qword [rdi + 0x88]
or dword [rsi + 0x10], 8
cmp qword [rsi + 0xc8], 0
jne 0x14005d83e
test byte [rsi + 8], 1
je 0x14005d82a
mov rax, qword [rsi + 8]
and rax, 0xfffffffffffffffe
mov rcx, qword [rax + 0x18]
jmp 0x14005d832
mov rcx, qword [rsi + 8]
and rcx, 0xfffffffffffffffe
call fcn.140090840
mov qword [rsi + 0xc8], rax
mov rcx, qword [rsi + 0xc8]
mov rdx, rbx
add rsp, 0x20
pop rdi
pop rsi
pop rbx
jmp 0x140099e20
add rsp, 0x20
pop rdi
pop rsi
pop rbx
ret
cmp rdx, rcx
je 0x140099e4f
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rdx
mov rbx, rcx
call fcn.140098e10
mov rdx, rdi
mov rcx, rbx
call fcn.14009ed70
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret