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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
cmp byte [rcx + 0x10], 5
mov rbx, rcx
jne 0x10009401d
mov rcx, qword [rcx]
mov r8, qword [rbx + 8]
mov r12d, 1
mov edx, dword [rcx + 0x88]
mov r9d, dword [r8 + 0x88]
mov eax, edx
shr eax, 1
cmp r9d, eax
je 0x100093be6
cmp r9d, r12d
jne 0x10009401d
cmp edx, r12d
jne 0x10009401d
mov r10d, dword [rcx + 0x8c]
mov r9d, dword [r8 + 0x8c]
mov eax, r10d
shr eax, 1
cmp r9d, eax
je 0x100093c10
cmp r9d, r12d
jne 0x10009401d
cmp r10d, r12d
jne 0x10009401d
cmp dword [r8 + 0x90], r12d
jne 0x10009401d
cmp dword [rcx + 0x90], r12d
jne 0x10009401d
mov r8d, 0xfffffffe
cmp edx, r12d
jbe 0x100093c50
test r12b, dl
je 0x100093c50
and dword [rcx + 0x88], r8d
mov rcx, qword [rbx]
mov eax, dword [rcx + 0x98]
sub dword [rcx + 0x94], eax
mov rax, qword [rbx]
cmp dword [rax + 0x8c], r12d
jbe 0x100093c63
and dword [rax + 0x8c], r8d
xor r13d, r13d
bt dword [rbx + 0x10], 0x13
jb 0x100093df6
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
mov ecx, dword [rdx + 8]
cmp ecx, dword [rax + 8]
jne 0x100093df6
mov r8d, dword [rdx + 0x88]
cmp r8d, 2
jb 0x100093df6
mov r9d, dword [rdx + 0x8c]
cmp r9d, 2
jb 0x100093df6
cmp dword [rax + 0x14], r13d
jne 0x100093df6
cmp dword [rdx + 0x14], r13d
jne 0x100093df6
cmp ecx, 0x1d
jg 0x100093da2
je 0x100093d98
sub ecx, 0x14
je 0x100093df6
sub ecx, r12d
je 0x100093d74
sub ecx, r12d
je 0x100093d50
sub ecx, r12d
je 0x100093d43
sub ecx, r12d
je 0x100093d36
sub ecx, r12d
je 0x100093d29
sub ecx, r12d
je 0x100093d1c
sub ecx, r12d
je 0x100093d0f
cmp ecx, r12d
jne 0x100093df6
mov rcx, rbx
call fcn.100096d4c
jmp 0x100093dea
mov rcx, rbx
call fcn.100096c08
jmp 0x100093dea
mov rcx, rbx
call fcn.100096ab0
jmp 0x100093dea
mov rcx, rbx
call fcn.100096958
jmp 0x100093dea
mov rcx, rbx
call fcn.10009682c
jmp 0x100093dea
mov rcx, rbx
call fcn.1000966d8
jmp 0x100093dea
mov rcx, qword [rax + 0x28]
mov eax, dword [rax + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [rdx + 0x80]
mov rdx, qword [rdx + 0x28]
mov dword [rsp + 0x20], eax
call qword [0x1000b02d8]
jmp 0x100093dea
mov rcx, qword [rax + 0x28]
mov eax, dword [rax + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [rdx + 0x80]
mov rdx, qword [rdx + 0x28]
mov dword [rsp + 0x20], eax
call qword [0x1000aff08]
jmp 0x100093dea
mov rcx, rbx
call fcn.100096e04
jmp 0x100093dea
sub ecx, 0x1e
je 0x100093de2
sub ecx, 2
je 0x100093d74
sub ecx, r12d
je 0x100093d50
sub ecx, 7
je 0x100093df6
sub ecx, r12d
je 0x100093df6
sub ecx, 9
je 0x100093d02
sub ecx, r12d
je 0x100093dd8
cmp ecx, r12d
jne 0x100093df6
mov rcx, rbx
call fcn.1000971e0
jmp 0x100093dea
mov rcx, rbx
call fcn.10009708c
jmp 0x100093dea
mov rcx, rbx
call fcn.100096f60
cmp eax, r13d
jl 0x100093df6
xor eax, eax
jmp 0x100094022
mov rax, qword [rbx + 8]
mov r14d, 0x10
lea rdi, [0x100003ac0]
mov ecx, dword [rax + 0x88]
mov rax, r14
lea rsi, [r14 - 0x11]
mul rcx
cmovo rax, rsi
mov rdx, rdi
mov rcx, rax
call fcn.10008460c
mov rbp, rax
cmp rax, r13
jne 0x100093e38
mov eax, 0x8007000e
jmp 0x100094022
mov rax, qword [rbx]
cmp dword [rax + 0x8c], r12d
jne 0x100093e67
mov ecx, dword [rax + 0x88]
mov rax, r14
mul rcx
mov rdx, rdi
cmovo rax, rsi
mov rcx, rax
call fcn.10008460c
mov rdi, rax
mov rsi, rax
jmp 0x100093e98
mov eax, dword [rax + 0x88]
lea ecx, [rax + rax]
mov rax, r14
mul rcx
mov rdx, rdi
cmovo rax, rsi
mov rcx, rax
call fcn.10008460c
mov rdi, rax
mov rax, qword [rbx]
mov esi, dword [rax + 0x88]
shl rsi, 4
add rsi, rdi
cmp rdi, r13
jne 0x100093ea7
mov rcx, rbp
call sub.msvcrt.dll_free
jmp 0x100093e2e
mov rax, qword [rbx]
cmp dword [rax + 0x88], r12d
jne 0x100093ebb
mov r14, rdi
mov r15, rsi
jmp 0x100093ec3
lea r14, [rdi + 0x10]
lea r15, [rsi + 0x10]
mov rax, qword [rbx + 8]
mov r12d, r13d
cmp dword [rax + 0x8c], r13d
jbe 0x100094008
mov rcx, qword [rbx]
lea r13d, [r12 + r12]
mov r9, rdi
mov rax, qword [rcx]
xor r8d, r8d
mov edx, r13d
call qword [rax + 8]
cmp rsi, rdi
je 0x100093f05
mov rcx, qword [rbx]
lea edx, [r13 + 1]
mov r9, rsi
mov rax, qword [rcx]
xor r8d, r8d
call qword [rax + 8]
mov rax, qword [rbx + 8]
xor r8d, r8d
cmp dword [rax + 0x88], r8d
jbe 0x100093fe1
mov rdx, rbp
lea ecx, [r8 + r8]
inc r8d
add rcx, rcx
movss xmm0, dword [rdi + rcx*8]
movss xmm1, dword [r14 + rcx*8 + 4]
movss xmm2, dword [r14 + rcx*8 + 8]
addss xmm0, dword [r14 + rcx*8]
addss xmm1, dword [rdi + rcx*8 + 4]
addss xmm2, dword [rdi + rcx*8 + 8]
addss xmm0, dword [rsi + rcx*8]
addss xmm1, dword [rsi + rcx*8 + 4]
addss xmm2, dword [rsi + rcx*8 + 8]
addss xmm0, dword [r15 + rcx*8]
movss xmm3, dword [r14 + rcx*8 + 0xc]
addss xmm1, dword [r15 + rcx*8 + 4]
mulss xmm0, dword [0x10002dca8]
mulss xmm1, dword [0x10002dca8]
addss xmm3, dword [rdi + rcx*8 + 0xc]
addss xmm2, dword [r15 + rcx*8 + 8]
movss dword [rsp + 0x30], xmm0
mulss xmm2, dword [0x10002dca8]
addss xmm3, dword [rsi + rcx*8 + 0xc]
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
addss xmm3, dword [r15 + rcx*8 + 0xc]
mulss xmm3, dword [0x10002dca8]
movss dword [rsp + 0x3c], xmm3
movdqu xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rdx], xmm0
mov rax, qword [rbx + 8]
add rdx, 0x10
cmp r8d, dword [rax + 0x88]
jb 0x100093f1c
mov rcx, qword [rbx + 8]
mov r9, rbp
xor r8d, r8d
mov rax, qword [rcx]
mov edx, r12d
call qword [rax + 0x10]
mov rax, qword [rbx + 8]
inc r12d
cmp r12d, dword [rax + 0x8c]
jb 0x100093ed7
mov rcx, rdi
call sub.msvcrt.dll_free
mov rcx, rbp
call sub.msvcrt.dll_free
jmp 0x100093def
mov eax, 0x80004005
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret