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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, rcx
cmp dword [rcx + 0x20], 0
setg byte [rsp + 0x2f]
mov ecx, dword [rcx + 0x2c]
xor eax, eax
mov dword [rsp + 0x40], ecx
test ecx, ecx
mov r15d, 0x81f
cmove r15, rax
setg byte [rsp + 0x30]
movsxd r13, dword [rdx + 8]
add r13, 0xf
mov r12d, r13d
sar r12d, 4
mov ebp, dword [rdx + 0xc]
add ebp, 0xf
sar ebp, 4
lea ecx, [r12*4 + 1]
lea eax, [rbp*4 + 1]
mov dword [rsp + 0x3c], ecx
imul eax, ecx
movsxd rcx, eax
and r13, 0xfffffffffffffff0
movsxd r14, r12d
lea r8, [r14*4 + 0x23]
mov eax, ebp
imul eax, r12d
mov dword [rsp + 0x44], eax
movsxd rbx, eax
shl rbx, 3
mov rax, r13
add rax, r13
movss xmm0, dword [0x1405a0f14]
ucomiss xmm0, dword [rsi + 4]
mov qword [rsp + 0x48], rdx
jae 0x1400714e6
cmp dword [rsi + 0x3c], 2
jl 0x1400714ec
shl r14, 2
jmp 0x1400714ef
xor r14d, r14d
mov qword [rsp + 0x60], rax
add rax, r15
add rax, r8
add rax, rbx
add rax, rcx
mov qword [rsp + 0x58], rcx
lea rcx, [r14 + rax]
add rcx, 0x5cd6
mov edx, 1
mov qword [rsp + 0x50], r8
call fcn.140072640
mov rdi, rax
test rax, rax
je 0x1400717c7
movzx eax, byte [rsp + 0x2f]
or al, byte [rsp + 0x30]
mov byte [rsp + 0x2f], al
mov qword [rsp + 0x30], rsi
lea rsi, [rdi + 0x5cb7]
and rsi, 0xffffffffffffffe0
mov r8d, 0x5c98
mov rcx, rdi
xor edx, edx
call fcn.140562a70
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + 0x48]
add rbx, rsi
mov r8, qword [rsp + 0x58]
lea rax, [rbx + r8]
mov rdx, qword [rsp + 0x50]
add rax, rdx
add rax, 0x1f
mov edx, 1
shl edx, cl
lea rcx, [r8 + rbx]
add rcx, 0x1f
and rcx, 0xffffffffffffffe0
or rcx, 4
mov r8, rax
and r8, 0xffffffffffffffe0
cmp dword [rsp + 0x40], 0
mov dword [rdi + 0x3c], edx
mov dword [rdi + 0x30], r12d
mov dword [rdi + 0x34], ebp
mov edx, dword [rsp + 0x3c]
mov dword [rdi + 0x38], edx
mov qword [rdi + 0x5c60], rsi
mov rsi, qword [rsp + 0x30]
movsxd rdx, edx
lea rdx, [rdx + rbx + 1]
mov qword [rdi + 0x5c68], rdx
mov edx, 0
cmovne rdx, r8
mov qword [rdi + 0x5c70], rcx
mov qword [rdi + 0x5c88], rdx
add r15, rax
and r15, 0xffffffffffffffe0
mov qword [rdi + 0x5c78], r15
movsxd rax, r13d
add rax, r15
mov qword [rdi + 0x5c80], rax
add r15, qword [rsp + 0x60]
test r14, r14
cmove r15, r14
mov qword [rdi + 0x5c90], r15
mov qword [rdi], rsi
mov eax, 2
cmp byte [rsp + 0x2f], 0
je 0x140071625
xor eax, eax
cmp dword [rsi + 0x28], 1
setne al
mov dword [rdi + 0x2c], eax
mov rax, qword [rsp + 0x48]
mov qword [rdi + 8], rax
mov dword [rdi + 0x218], 0
mov eax, 0x64
sub eax, dword [rsi + 0x4c]
mov edx, dword [rsi + 8]
mov dword [rdi + 0x5c40], edx
mov ecx, 3
cmp edx, 5
mov ebx, dword [rsp + 0x44]
jg 0x140071669
mov ecx, 2
je 0x140071669
xor ecx, ecx
cmp edx, 3
setge cl
mov dword [rdi + 0x5c44], ecx
imul eax, eax
shl eax, 0x10
mov edx, 0xd1b71759
imul rdx, rax
shr rdx, 0x2d
mov dword [rdi + 0x5c48], edx
mov eax, 0x3fc00000
xor edx, edx
idiv ebx
mov dword [rdi + 0x5c4c], eax
mov eax, dword [rsi + 0x54]
mov dword [rdi + 0x5c50], eax
mov eax, 1
cmp dword [rsi + 0x10], 0
jg 0x1400716bb
movss xmm0, dword [rsi + 0x14]
xorps xmm1, xmm1
xor eax, eax
ucomiss xmm0, xmm1
seta al
mov dword [rdi + 0x5c54], eax
cmp dword [rsi + 0x58], 0
jne 0x1400716dd
xor eax, eax
test ecx, ecx
setne al
mov dword [rdi + 0x5c58], eax
je 0x1400716dd
mov dword [rdi + 0x3c], 1
call fcn.1401061e0
mov rcx, rdi
call fcn.140109770
mov rax, qword [rdi]
mov eax, dword [rax + 0x18]
mov dword [rdi + 0x20], eax
xor ecx, ecx
cmp eax, 2
setge cl
mov dword [rdi + 0x24], ecx
mov dword [rdi + 0x28], 0
movaps xmm0, xmmword [0x1405a0f20]
movups xmmword [rdi + 0x10], xmm0
mov rax, qword [rdi + 0x5c68]
cmp dword [rdi + 0x30], 0
js 0x140071744
movsxd rdx, dword [rdi + 0x38]
mov rcx, rax
sub rcx, rdx
mov rdx, 0xffffffffffffffff
nop
mov byte [rcx + rdx], 0
inc rdx
movsxd r8, dword [rdi + 0x30]
shl r8, 2
cmp rdx, r8
jl 0x140071730
cmp dword [rdi + 0x34], 0
jle 0x14007176c
xor ecx, ecx
nop dword [rax]
movsxd rdx, dword [rdi + 0x38]
movsxd rcx, ecx
imul rdx, rcx
mov byte [rax + rdx - 1], 0
inc ecx
mov edx, dword [rdi + 0x34]
shl edx, 2
cmp ecx, edx
jl 0x140071750
mov rax, qword [rdi + 0x5c70]
mov dword [rax - 4], 0
call fcn.140109db0
mov rcx, rdi
call fcn.1401025c0
movss xmm0, dword [rsi + 4]
mulss xmm0, dword [0x1405a0f30]
divss xmm0, dword [0x140690900]
addss xmm0, dword [0x1406908dc]
shl ebx, 2
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
mulss xmm1, xmm0
cvttss2si edx, xmm1
mov rcx, rdi
add rcx, 0x1f0
call fcn.14010a040
jmp 0x1400717df
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x88], 0
jne 0x1400717df
mov dword [rax + 0x88], 1
mov rax, rdi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret