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

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x48
mov r15, qword [rcx]
xor esi, esi
mov ebp, edx
mov edi, esi
mov rdx, rcx
cmp dword [r15 + 0x280], esi
je 0x14002f9cf
mov eax, dword [rcx + 0x40]
test eax, eax
je 0x14002f9cf
mov qword [rsp + 0x30], r13
lea r13d, [rax - 1]
mov eax, esi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x80], eax
cmp dword [r15 + 0x28], eax
jle 0x14002f8bc
mov ecx, esi
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x88], rcx
nop dword [rax + rax]
mov rbx, qword [r15 + 0x20]
mov rbx, qword [rcx + rbx + 8]
test rbx, rbx
je 0x14002f893
cmp ebp, 2
jne 0x14002f803
cmp byte [rbx + 0x10], 2
mov ebp, esi
jne 0x14002f7ff
mov r14, qword [rbx + 8]
cmp byte [rbx + 0x11], sil
je 0x14002f7aa
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], sil
jne 0x14002f7aa
mov rcx, rbx
call fcn.14001ca20
mov rcx, qword [r14]
mov r8d, r13d
mov edx, 2
call fcn.140019190
mov ebp, eax
test eax, eax
jne 0x14002f7eb
test r13d, r13d
jns 0x14002f7d0
test byte [r14 + 0x26], 8
je 0x14002f7d0
mov dword [r14 + 0x3c], esi
mov rcx, r14
call fcn.14001f9e0
mov ebp, eax
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x1c]
bswap eax
mov dword [r14 + 0x3c], eax
cmp byte [rbx + 0x11], sil
je 0x14002f7ff
sub dword [rbx + 0x14], 1
jne 0x14002f7ff
mov rcx, rbx
call fcn.14001c9f0
test ebp, ebp
jne 0x14002f87b
cmp byte [rbx + 0x10], 2
mov ebp, esi
jne 0x14002f87b
mov r14, qword [rbx + 8]
cmp byte [rbx + 0x11], sil
je 0x14002f826
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], sil
jne 0x14002f826
mov rcx, rbx
call fcn.14001ca20
mov rcx, qword [r14]
mov r8d, r13d
mov edx, 1
call fcn.140019190
mov ebp, eax
test eax, eax
jne 0x14002f867
test r13d, r13d
jns 0x14002f84c
test byte [r14 + 0x26], 8
je 0x14002f84c
mov dword [r14 + 0x3c], esi
mov rcx, r14
call fcn.14001f9e0
mov ebp, eax
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x1c]
bswap eax
mov dword [r14 + 0x3c], eax
cmp byte [rbx + 0x11], sil
je 0x14002f87b
sub dword [rbx + 0x14], 1
jne 0x14002f87b
mov rcx, rbx
call fcn.14001c9f0
mov eax, dword [rsp + 0x80]
test edi, edi
mov rcx, qword [rsp + 0x88]
cmove edi, ebp
mov ebp, dword [rsp + 0x78]
inc eax
add rcx, 0x20
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x88], rcx
cmp eax, dword [r15 + 0x28]
jl 0x14002f770
mov r12, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x70]
dec dword [r15 + 0x280]
mov dword [rdx + 0x40], esi
test edi, edi
jne 0x14002f999
cmp ebp, 2
jne 0x14002f939
mov edi, esi
cmp qword [r15 + 0x1d8], rsi
je 0x14002f935
mov ebx, esi
mov r14, rsi
cmp ebx, dword [r15 + 0x1b4]
jge 0x14002f930
mov rax, qword [r15 + 0x1d8]
mov rdx, qword [r14 + rax]
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
mov r8, qword [rax]
test rcx, rcx
je 0x14002f926
cmp dword [r8], 2
jl 0x14002f926
mov rax, qword [r8 + 0xb0]
test rax, rax
je 0x14002f926
cmp dword [rdx + 0x20], r13d
jle 0x14002f926
mov edx, r13d
call rax
mov edi, eax
inc ebx
add r14, 8
test edi, edi
je 0x14002f8e3
mov rdx, qword [rsp + 0x70]
test edi, edi
jne 0x14002f99e
mov edi, esi
cmp qword [r15 + 0x1d8], rsi
je 0x14002f994
mov rbx, rsi
cmp esi, dword [r15 + 0x1b4]
jge 0x14002f994
mov rax, qword [r15 + 0x1d8]
mov rdx, qword [rbx + rax]
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
mov r8, qword [rax]
test rcx, rcx
je 0x14002f98a
cmp dword [r8], 2
jl 0x14002f98a
mov rax, qword [r8 + 0xa8]
test rax, rax
je 0x14002f98a
cmp dword [rdx + 0x20], r13d
jle 0x14002f98a
mov edx, r13d
call rax
mov edi, eax
inc esi
add rbx, 8
test edi, edi
je 0x14002f947
mov rdx, qword [rsp + 0x70]
cmp ebp, 2
jne 0x14002f9b4
mov rcx, qword [rdx + 0x58]
mov qword [r15 + 0x288], rcx
mov rcx, qword [rdx + 0x60]
mov qword [r15 + 0x290], rcx
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
add rsp, 0x48
pop r15
pop rdi
pop rsi
pop rbp
ret
mov eax, esi
add rsp, 0x48
pop r15
pop rdi
pop rsi
pop rbp
ret