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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r13
push r14
sub rsp, 0xa0
mov r14, r8
mov r13, rdx
mov rdi, rcx
test rcx, rcx
je 0x180002d87
test rdx, rdx
je 0x180002d87
mov qword [rax + 0x10], rbx
mov qword [rax - 0x20], rbp
mov ebp, dword [rdx + 0x24]
mov qword [rax - 0x28], rsi
mov esi, dword [rdx + 0x20]
xor edx, edx
cmp dx, word [rcx]
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r15
mov dword [rsp + 0xd8], edx
jge 0x180002d4b
mov rcx, rdx
mov qword [rsp + 0x70], rdx
nop word [rax + rax]
mov rax, qword [rdi + 0x18]
movsx rax, word [rcx + rax]
mov dword [rsp + 0x54], eax
test eax, eax
js 0x180002d7d
mov r9, rax
mov rax, qword [rdi + 8]
mov ecx, esi
lea r12, [rax + r9*8]
mov r8d, edx
mov rdx, qword [rdi + 8]
mov rax, qword [rax + r8*8]
lea rbx, [rdx + r8*8]
mov qword [rsp + 0x20], rax
mov r11d, dword [rsp + 0x24]
mov r10d, eax
shl r11d, cl
shl r10d, cl
sub r11d, ebp
sub r10d, ebp
mov dword [rsp + 0x24], r11d
mov dword [rsp + 0x20], r10d
mov rax, qword [rdx + r9*8]
mov qword [rsp + 0x30], rax
mov r15d, eax
mov eax, dword [rsp + 0x34]
shl eax, cl
shl r15d, cl
mov rcx, qword [rdi + 0x10]
sub eax, ebp
sub r15d, ebp
lea rdi, [rcx + r8]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
movsx eax, byte [rdi]
mov dword [rsp + 0x30], r15d
and eax, 3
cmp eax, 2
je 0x180002d7d
test eax, eax
jne 0x180002aff
movzx eax, byte [rcx + r9]
and al, 3
cmp al, 1
jne 0x180002adb
mov rax, qword [rsp + 0x30]
sub r12, 8
mov qword [rsp + 0x20], rax
jmp 0x180002af8
lea eax, [r15 + r10]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x50]
add eax, r11d
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x24], eax
sub rbx, 8
dec rdi
lea rcx, [rsp + 0x20]
mov rdx, r14
call qword [r13]
test eax, eax
jne 0x180002bc9
cmp rbx, r12
jae 0x180002cfc
nop dword [rax]
movsx ecx, byte [rdi + 1]
inc rdi
add rbx, 8
and ecx, 3
je 0x180002c2a
cmp ecx, 1
je 0x180002bfe
lea rax, [rbx + 8]
cmp rax, r12
ja 0x180002d7d
movzx eax, byte [rdi + 1]
and al, 3
cmp al, 2
jne 0x180002d7d
mov eax, dword [rbx]
add rbx, 0x10
mov ecx, esi
shl eax, cl
add rdi, 2
sub eax, ebp
mov dword [rsp + 0x40], eax
mov eax, dword [rbx - 0xc]
shl eax, cl
sub eax, ebp
mov dword [rsp + 0x44], eax
mov eax, dword [rbx - 8]
shl eax, cl
sub eax, ebp
mov dword [rsp + 0x48], eax
mov eax, dword [rbx - 4]
shl eax, cl
sub eax, ebp
mov dword [rsp + 0x4c], eax
cmp rbx, r12
ja 0x180002d52
mov eax, dword [rbx]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
shl eax, cl
mov r9, r14
sub eax, ebp
mov dword [rsp + 0x58], eax
mov eax, dword [rbx + 4]
shl eax, cl
lea rcx, [rsp + 0x40]
sub eax, ebp
mov dword [rsp + 0x5c], eax
call qword [r13 + 0x18]
test eax, eax
je 0x180002cf3
mov r12, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xc8]
mov r15, qword [rsp + 0x80]
add rsp, 0xa0
pop r14
pop r13
pop rdi
ret
mov eax, dword [rbx]
mov ecx, esi
mov rdx, r14
shl eax, cl
sub eax, ebp
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 4]
shl eax, cl
lea rcx, [rsp + 0x68]
sub eax, ebp
mov dword [rsp + 0x6c], eax
call qword [r13 + 8]
test eax, eax
jne 0x180002bc9
jmp 0x180002cf3
mov r10d, dword [rbx]
mov ecx, esi
shl r10d, cl
sub r10d, ebp
mov dword [rsp + 0x28], r10d
mov eax, dword [rbx + 4]
shl eax, cl
sub eax, ebp
mov dword [rsp + 0x2c], eax
mov r8, qword [rsp + 0x28]
nop word [rax + rax]
cmp rbx, r12
jae 0x180002d6a
mov eax, dword [rbx + 8]
mov r9d, dword [rbx + 0xc]
movsx edx, byte [rdi + 1]
add rbx, 8
inc rdi
mov ecx, esi
shl eax, cl
shl r9d, cl
and edx, 3
sub eax, ebp
sub r9d, ebp
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], r9d
cmp edx, 1
je 0x180002cda
test edx, edx
jne 0x180002d7d
add eax, r10d
shr r8, 0x20
lea rcx, [rsp + 0x28]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x60], eax
lea eax, [r9 + r8]
mov r8, r14
cdq
sub eax, edx
lea rdx, [rsp + 0x60]
sar eax, 1
mov dword [rsp + 0x64], eax
call qword [r13 + 0x10]
test eax, eax
jne 0x180002bc9
mov r8, qword [rsp + 0x38]
mov qword [rsp + 0x28], r8
mov r10d, dword [rsp + 0x28]
jmp 0x180002c50
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x28]
mov r8, r14
call qword [r13 + 0x10]
test eax, eax
jne 0x180002bc9
cmp rbx, r12
jb 0x180002b20
lea rcx, [rsp + 0x20]
mov rdx, r14
call qword [r13 + 8]
test eax, eax
jne 0x180002bc9
mov r8d, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0xc0]
mov edx, dword [rsp + 0x54]
movsx eax, word [rdi]
inc r8d
add rcx, 2
inc edx
cmp r8d, eax
mov dword [rsp + 0xd8], r8d
mov qword [rsp + 0x70], rcx
jl 0x180002a20
xor eax, eax
jmp 0x180002bc9
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x40]
mov r9, r14
call qword [r13 + 0x18]
jmp 0x180002d08
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x28]
mov r8, r14
call qword [r13 + 0x10]
jmp 0x180002d08
mov eax, 0x14
jmp 0x180002bc9
mov eax, 6
add rsp, 0xa0
pop r14
pop r13
pop rdi
ret