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

Disassembly:
mov qword [rsp + 0x18], r8
push rdi
push r12
push r14
push r15
sub rsp, 0x328
mov r15, r8
mov r14d, ecx
test edx, edx
js 0x14010d84c
movsxd r12, edx
lea rdi, [0x14052fba0]
imul r12, r12, 0x578
cmp dword [r12 + rdi + 4], 0
je 0x14010d84c
mov edx, dword [0x140540d18]
test ecx, ecx
jne 0x14010cb35
lea r14d, [rcx + 1]
test edx, edx
jle 0x14010cb35
mov rax, qword [0x14052fb90]
mov r8d, dword [r12 + rdi + 0x14]
add rax, 0x24
cmp dword [rax], r8d
je 0x14010cb31
inc ecx
add rax, 0x40
cmp ecx, edx
jl 0x14010cb20
jmp 0x14010cb35
lea r14d, [rcx + 1]
mov qword [rsp + 0x350], rbx
dec r14d
movaps xmmword [rsp + 0x300], xmm6
cmp r14d, edx
movaps xmmword [rsp + 0x2f0], xmm7
jl 0x14010cf2f
mov eax, dword [r12 + rdi + 0xf0]
sub r14d, edx
cmp r14d, eax
jl 0x14010ccb9
sub r14d, eax
cmp r14d, dword [r12 + rdi + 0x358]
jl 0x14010cba6
mov rcx, r15
call fcn.14024ee30
lea rcx, [r15 + 0x44]
mov dword [r15 + 0x40], 0x42700000
xorps xmm1, xmm1
movaps xmm3, xmm1
movaps xmm2, xmm1
call fcn.140250780
mov eax, 1
jmp 0x14010d80c
lea rcx, [rsp + 0xa0]
call fcn.14024ee30
movsxd rbx, r14d
lea rcx, [rsp + 0xa0]
imul rbx, rbx, 0x34
add rbx, r12
movss xmm1, dword [rbx + rdi + 0x384]
call fcn.14024f3a0
movss xmm1, dword [rbx + rdi + 0x380]
lea rcx, [rsp + 0xa0]
call fcn.14024f2c0
lea rcx, [rsp + 0xa0]
movss xmm3, dword [rbx + rdi + 0x37c]
movss xmm2, dword [rbx + rdi + 0x378]
movss xmm1, dword [rbx + rdi + 0x374]
call fcn.14024f800
lea rcx, [rsp + 0x1b0]
call fcn.14024ee30
lea rcx, [rsp + 0x1b0]
movss xmm1, dword [r12 + rdi + 0x34c]
call fcn.14024f560
lea rcx, [rsp + 0x1b0]
movss xmm1, dword [r12 + rdi + 0x350]
call fcn.14024f640
lea rcx, [rsp + 0x1b0]
movss xmm1, dword [r12 + rdi + 0x354]
call fcn.14024f720
lea rdx, [r12 + rdi + 0xa4]
lea r8, [rsp + 0x1b0]
lea rcx, [rsp + 0x1b0]
call fcn.14024ee80
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0xa0]
call fcn.14024ee80
lea rdx, [rsp + 0xa0]
mov rcx, r15
call fcn.14024f090
mov eax, dword [rbx + rdi + 0x38c]
jmp 0x14010cf00
lea rcx, [rsp + 0xa0]
call fcn.14024ee30
movsxd rbx, r14d
lea rcx, [rsp + 0xa0]
imul rbx, rbx, 0x3c
add rbx, r12
movss xmm1, dword [rbx + rdi + 0x120]
call fcn.14024f3a0
movss xmm1, dword [rbx + rdi + 0x11c]
lea rcx, [rsp + 0xa0]
call fcn.14024f2c0
lea rcx, [rsp + 0xa0]
movss xmm3, dword [rbx + rdi + 0x118]
movss xmm2, dword [rbx + rdi + 0x114]
movss xmm1, dword [rbx + rdi + 0x110]
call fcn.14024f800
mov ecx, dword [rbx + rdi + 0x10c]
test ecx, ecx
je 0x14010cd50
cmp ecx, 1
jne 0x14010cd6a
lea rdx, [r12 + rdi + 0x64]
lea r8, [rsp + 0xa0]
lea rcx, [rsp + 0xa0]
call fcn.14024ee80
jmp 0x14010cd6a
lea rdx, [r12 + rdi + 0x24]
lea r8, [rsp + 0xa0]
lea rcx, [rsp + 0xa0]
call fcn.14024ee80
cmp dword [rbx + rdi + 0x12c], 0
je 0x14010cee9
xorps xmm7, xmm7
lea rcx, [rsp + 0x58]
movaps xmm3, xmm7
movaps xmm2, xmm7
movaps xmm1, xmm7
call fcn.140250780
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x58]
call fcn.14024f820
lea rcx, [rsp + 0x68]
movss xmm6, dword [0x140339228]
movaps xmm2, xmm7
movaps xmm1, xmm7
movaps xmm3, xmm6
call fcn.140250780
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x68]
call fcn.14024f8c0
lea rcx, [rsp + 0x90]
movaps xmm3, xmm7
movaps xmm2, xmm6
movaps xmm1, xmm7
call fcn.140250780
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x78]
call fcn.140250580
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x78]
call fcn.1402506a0
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x90]
call fcn.140250580
lea rcx, [rsp + 0xa0]
call fcn.14024ee30
lea rcx, [rsp + 0xa0]
movss xmm1, dword [rsp + 0x80]
movss xmm0, dword [rsp + 0x7c]
movss xmm5, dword [rsp + 0x78]
movss xmm3, dword [rsp + 0x60]
movss xmm2, dword [rsp + 0x5c]
movss dword [rsp + 0xc0], xmm1
movss xmm1, dword [rsp + 0x94]
movss dword [rsp + 0xb0], xmm0
movss xmm0, dword [rsp + 0x90]
movss dword [rsp + 0xb4], xmm1
movss xmm1, dword [rsp + 0x68]
movss dword [rsp + 0xa4], xmm0
movss xmm0, dword [rsp + 0x98]
movss dword [rsp + 0xa8], xmm1
movss xmm1, dword [rsp + 0x70]
movss dword [rsp + 0xc4], xmm0
movss xmm0, dword [rsp + 0x6c]
movss dword [rsp + 0xc8], xmm1
movss xmm1, dword [rsp + 0x58]
movss dword [rsp + 0xa0], xmm5
movss dword [rsp + 0xb8], xmm0
call fcn.14024f800
lea rdx, [rsp + 0xa0]
mov rcx, r15
call fcn.14024f090
mov eax, dword [rbx + rdi + 0x128]
mov dword [r15 + 0x40], eax
mov eax, dword [r12 + rdi + 0xe4]
mov dword [r15 + 0x44], eax
mov eax, dword [r12 + rdi + 0xe8]
mov dword [r15 + 0x48], eax
mov eax, dword [r12 + rdi + 0xec]
mov dword [r15 + 0x4c], eax
xor eax, eax
jmp 0x14010d80c
mov qword [rsp + 0x320], rbp
lea rax, [r12 + rdi + 0x24]
mov qword [rsp + 0x318], rsi
mov qword [rsp + 0x310], r13
lea r8, [r12 + rdi + 0x564]
lea rcx, [rsp + 0x48]
movaps xmmword [rsp + 0x2d0], xmm9
movaps xmmword [rsp + 0x2b0], xmm11
mov rdx, rax
mov qword [rsp + 0x68], rax
call fcn.14024f8c0
lea r8, [r12 + rdi + 8]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.140250720
mov rbx, qword [0x14052fb90]
xor edi, edi
movss xmm11, dword [0x1403393d0]
movsxd r13, r14d
mov dword [rsp + 0x358], 0
mov dword [rsp + 0x40], edi
mov rax, r13
shl rax, 6
mov qword [rsp + 0x78], rax
cmp dword [rax + rbx + 0x28], edi
mov esi, dword [rax + rbx + 0x38]
mov dword [rsp + 0x368], esi
jle 0x14010d838
xorps xmm9, xmm9
movss xmm7, dword [0x140339228]
mov r15, qword [rsp + 0x68]
movaps xmmword [rsp + 0x2e0], xmm8
movaps xmmword [rsp + 0x2c0], xmm10
movaps xmmword [rsp + 0x2a0], xmm12
shl r13, 6
xor ebp, ebp
movss xmm10, dword [0x140339240]
movsd xmm12, qword [0x140339400]
movss xmm8, dword [0x140339440]
movaps xmmword [rsp + 0x290], xmm13
movaps xmmword [rsp + 0x280], xmm14
movaps xmmword [rsp + 0x270], xmm15
movss xmm15, dword [0x140339550]
movss xmm13, dword [0x1403392e0]
movsd xmm14, qword [0x140339538]
mov rcx, qword [r13 + rbx + 0x30]
cmp dword [rcx + rbp + 0x58], 0
je 0x14010d0c5
movss xmm0, dword [rcx + rbp + 0x60]
comiss xmm0, dword [rcx + rbp + 0x5c]
jbe 0x14010d0a0
movss xmm0, dword [rcx + rbp + 0x5c]
lea rax, [0x14052fba0]
movss xmm1, dword [r12 + rax + 0x570]
comiss xmm0, xmm1
ja 0x14010d467
comiss xmm1, dword [rcx + rbp + 0x60]
jbe 0x14010d0c5
mov edx, dword [rsp + 0x358]
jmp 0x14010d477
lea rax, [0x14052fba0]
movss xmm1, dword [r12 + rax + 0x570]
comiss xmm1, xmm0
jbe 0x14010d0c5
movss xmm0, dword [rcx + rbp + 0x5c]
comiss xmm0, xmm1
ja 0x14010d470
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x88]
mov r9d, r14d
mov dword [rsp + 0x20], edi
call fcn.14010c3a0
test eax, eax
jne 0x14010d443
comiss xmm11, dword [rsp + 0x88]
jbe 0x14010d443
mov rbx, qword [0x14052fb90]
mov rax, qword [r13 + rbx + 0x30]
mov ecx, dword [rax + rbp]
dec ecx
cmp ecx, 2
ja 0x14010d30e
lea rax, [0x14052fba0]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x1f0]
movss xmm5, dword [r12 + rax + 0x18]
movss xmm4, dword [r12 + rax + 0x1c]
movss xmm3, dword [r12 + rax + 0x20]
mulss xmm5, xmm10
mulss xmm4, xmm10
mulss xmm3, xmm10
movss dword [rsp + 0x10c], xmm5
movss dword [rsp + 0x11c], xmm4
movss dword [rsp + 0x124], xmm5
movaps xmm2, xmm5
movaps xmm1, xmm4
movaps xmm0, xmm3
xorps xmm2, xmm13
xorps xmm1, xmm13
xorps xmm0, xmm13
movss dword [rsp + 0x128], xmm4
movss dword [rsp + 0x138], xmm3
movss dword [rsp + 0x13c], xmm5
movss dword [rsp + 0x100], xmm2
movss dword [rsp + 0x104], xmm1
movss dword [rsp + 0x108], xmm0
movss dword [rsp + 0x110], xmm1
movss dword [rsp + 0x114], xmm0
movss dword [rsp + 0x118], xmm2
movss dword [rsp + 0x120], xmm0
movss dword [rsp + 0x12c], xmm0
movss dword [rsp + 0x130], xmm2
movss dword [rsp + 0x134], xmm1
movss dword [rsp + 0x140], xmm1
movss dword [rsp + 0x148], xmm2
movss dword [rsp + 0x144], xmm3
movss dword [rsp + 0x14c], xmm4
movss dword [rsp + 0x150], xmm3
movss dword [rsp + 0x154], xmm5
movss dword [rsp + 0x158], xmm4
movss dword [rsp + 0x15c], xmm3
call fcn.14024f1f0
xor edi, edi
lea rsi, [rsp + 0x108]
nop
movsxd rax, edi
mov rdx, r15
lea rcx, [rax + rax*2]
lea rbx, [rsp + rcx*4 + 0x100]
mov r8, rbx
mov rcx, rbx
call fcn.14024f820
lea rdx, [rsp + 0x1f0]
mov r8, rbx
mov rcx, rbx
call fcn.14024f820
mov rbx, qword [0x14052fb90]
mov rax, qword [r13 + rbx + 0x30]
movss xmm0, dword [rax + rbp + 0x3c]
mulss xmm0, xmm10
unpcklps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm12
call sub.MSVCR90.dll_tan
movss xmm1, dword [rsi - 8]
divss xmm1, dword [rsi]
unpcklps xmm1, xmm1
cvtps2pd xmm2, xmm1
movss xmm1, dword [rsi - 4]
divss xmm1, dword [rsi]
divsd xmm2, xmm0
cvtsd2ss xmm4, xmm2
comiss xmm4, xmm8
unpcklps xmm1, xmm1
cvtps2pd xmm2, xmm1
divsd xmm2, xmm0
cvtsd2ss xmm3, xmm2
jbe 0x14010d2eb
comiss xmm7, xmm4
jbe 0x14010d2eb
comiss xmm3, xmm8
jbe 0x14010d2eb
comiss xmm7, xmm3
ja 0x14010d2fa
inc edi
add rsi, 0xc
cmp edi, 8
jl 0x14010d250
cmp edi, 8
je 0x14010d453
mov edi, dword [rsp + 0x40]
mov esi, dword [rsp + 0x368]
mov rax, qword [r13 + rbx + 0x30]
cmp dword [rax + rbp + 0x58], 0
jne 0x14010d3f2
lea rcx, [rsp + 0x30]
movaps xmm3, xmm9
movaps xmm2, xmm9
movaps xmm1, xmm9
call fcn.140250780
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x30]
call fcn.14024f820
lea rcx, [rsp + 0xe0]
movaps xmm3, xmm7
movaps xmm2, xmm9
movaps xmm1, xmm9
call fcn.140250780
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xe0]
call fcn.14024f8c0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xf0]
call fcn.140250750
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0xf0]
call fcn.1402506a0
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x8c]
call fcn.1402505f0
movd xmm0, dword [rsp + 0x8c]
cvtps2pd xmm0, xmm0
call sub.MSVCR90.dll_acos
mulsd xmm0, xmm14
cvtsd2ss xmm1, xmm0
comiss xmm1, xmm15
movss dword [rsp + 0x8c], xmm1
ja 0x14010d443
movss xmm11, dword [rsp + 0x88]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x160]
mov esi, edi
mov dword [rsp + 0x368], edi
call fcn.14024f090
mov rbx, qword [0x14052fb90]
mov edx, 1
mov rax, qword [r13 + rbx + 0x30]
mov dword [rsp + 0x358], edx
movss xmm0, dword [rax + rbp + 0x3c]
movss dword [rsp + 0x1a0], xmm0
jmp 0x14010d477
mov rbx, qword [0x14052fb90]
mov edx, dword [rsp + 0x358]
jmp 0x14010d477
mov edi, dword [rsp + 0x40]
mov esi, dword [rsp + 0x368]
mov edx, dword [rsp + 0x358]
jmp 0x14010d477
mov edx, dword [rsp + 0x358]
jmp 0x14010d477
mov edx, dword [rsp + 0x358]
inc edi
add rbp, 0x74
cmp edi, dword [r13 + rbx + 0x28]
mov dword [rsp + 0x40], edi
jl 0x14010d054
movaps xmm15, xmmword [rsp + 0x270]
movaps xmm14, xmmword [rsp + 0x280]
movaps xmm13, xmmword [rsp + 0x290]
mov r15, qword [rsp + 0x360]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm10, xmmword [rsp + 0x2c0]
movaps xmm8, xmmword [rsp + 0x2e0]
test edx, edx
je 0x14010d833
movsxd rdi, esi
mov rsi, qword [rsp + 0x78]
mov rax, qword [rsi + rbx + 0x30]
imul rdi, rdi, 0x74
cmp dword [rdi + rax], 0
jne 0x14010d692
lea rcx, [rsp + 0x30]
movaps xmm3, xmm9
movaps xmm2, xmm9
movaps xmm1, xmm9
call fcn.140250780
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x30]
call fcn.14024f820
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x30]
movaps xmm3, xmm9
lea rcx, [rsp + 0x160]
call fcn.14024fd20
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x160]
call fcn.14024f170
lea rcx, [rsp + 0x160]
movss xmm3, dword [rsp + 0x38]
movss xmm2, dword [rsp + 0x34]
movss xmm1, dword [rsp + 0x30]
call fcn.14024f800
mov rbx, qword [0x14052fb90]
cmp dword [rsi + rbx + 0x24], 0
jne 0x14010d69b
mov edx, dword [0x140540d14]
mov rcx, qword [0x14052fb98]
lea rbp, [0x14052fba0]
movss xmm3, dword [r12 + rbp + 0x574]
movss xmm2, dword [r12 + rbp + 0x570]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.14010bcb0
lea r8, [r12 + rbp + 0xe4]
movss xmm6, dword [rsp + 0x4c]
subss xmm6, dword [rsp + 0x5c]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x90]
call fcn.14024f950
mov edx, dword [0x140540d14]
mov rcx, qword [0x14052fb98]
movd xmm0, dword [rsp + 0x98]
movd xmm5, dword [r12 + rbp + 0x570]
movss xmm3, dword [r12 + rbp + 0x574]
cvtps2pd xmm0, xmm0
cvtps2pd xmm5, xmm5
lea rax, [rsp + 0x48]
mulsd xmm0, qword [0x140339520]
mov qword [rsp + 0x20], rax
subsd xmm5, xmm0
cvtsd2ss xmm2, xmm5
call fcn.14010bcb0
movss xmm5, dword [rsp + 0x4c]
lea r8, [rsp + 0x48]
addss xmm5, xmm6
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x160]
movaps xmm3, xmm9
movss dword [rsp + 0x4c], xmm5
call fcn.14024fd20
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x160]
call fcn.14024f170
lea rcx, [rsp + 0x160]
movss xmm3, dword [rsp + 0x38]
movss xmm2, dword [rsp + 0x34]
movss xmm1, dword [rsp + 0x30]
call fcn.14024f800
mov rbx, qword [0x14052fb90]
jmp 0x14010d6a2
lea rbp, [0x14052fba0]
jmp 0x14010d6a2
lea rbp, [0x14052fba0]
add rbx, rsi
mov rax, qword [rbx + 0x30]
cmp dword [rax + rdi], 0
jne 0x14010d7a2
cmp dword [rax + rdi + 0x64], 0
je 0x14010d7a2
movss xmm6, dword [r12 + rbp + 0x1c]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x230]
addss xmm6, dword [r12 + rbp + 0x18]
addss xmm6, dword [r12 + rbp + 0x20]
divss xmm6, dword [0x14037ad14]
call fcn.14024f1f0
lea r8, [r12 + rbp + 8]
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x58]
call fcn.14024f820
movss xmm5, dword [rsp + 0x60]
movsd xmm0, qword [0x1403394f8]
unpcklps xmm5, xmm5
cvtps2pd xmm1, xmm5
comisd xmm0, xmm1
jbe 0x14010d729
movss xmm5, dword [0x140339278]
mov rax, qword [0x14052fb90]
lea rbx, [rsi + rax]
mov rax, qword [rsi + rax + 0x30]
movss xmm0, dword [rdi + rax + 0x68]
mulss xmm0, dword [0x14033925c]
mulss xmm0, xmm5
divss xmm6, xmm0
unpcklps xmm6, xmm6
cvtps2pd xmm0, xmm6
call sub.MSVCR90.dll_atan
mulsd xmm0, qword [0x140339490]
cvtsd2ss xmm1, xmm0
movss dword [rsp + 0x1a0], xmm1
mov rax, qword [rbx + 0x30]
movss xmm0, dword [rdi + rax + 0x6c]
comiss xmm0, xmm1
jbe 0x14010d78a
movaps xmm1, xmm0
movss dword [rsp + 0x1a0], xmm1
mov rax, qword [rbx + 0x30]
movss xmm0, dword [rdi + rax + 0x70]
comiss xmm1, xmm0
jbe 0x14010d7a2
movss dword [rsp + 0x1a0], xmm0
mov eax, dword [rsp + 0x368]
lea rdx, [rsp + 0x160]
mov rcx, r15
mov dword [rbx + 0x38], eax
call fcn.14024f090
lea rcx, [r15 + 0x44]
movss xmm5, dword [rsp + 0x1a0]
movaps xmm3, xmm9
movaps xmm2, xmm9
movss dword [r15 + 0x40], xmm5
movaps xmm1, xmm9
call fcn.140250780
xor eax, eax
movaps xmm9, xmmword [rsp + 0x2d0]
mov rbp, qword [rsp + 0x320]
mov rsi, qword [rsp + 0x318]
mov r13, qword [rsp + 0x310]
movaps xmm11, xmmword [rsp + 0x2b0]
movaps xmm6, xmmword [rsp + 0x300]
mov rbx, qword [rsp + 0x350]
movaps xmm7, xmmword [rsp + 0x2f0]
add rsp, 0x328
pop r15
pop r14
pop r12
pop rdi
ret
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + rbx + 0x30]
mov rcx, r15
call fcn.14010c9f0
mov eax, 1
jmp 0x14010d7e2
test ecx, ecx
je 0x14010d853
dec r14d
cmp r14d, dword [0x140540d18]
jl 0x14010d892
mov rcx, r8
call fcn.14024ee30
lea rcx, [r15 + 0x44]
mov dword [r15 + 0x40], 0x42700000
xorps xmm1, xmm1
movaps xmm3, xmm1
movaps xmm2, xmm1
call fcn.140250780
mov eax, 1
add rsp, 0x328
pop r15
pop r14
pop r12
pop rdi
ret
mov rdx, qword [0x14052fb90]
movsxd rax, r14d
mov rcx, r8
shl rax, 6
mov rdx, qword [rax + rdx + 0x30]
call fcn.14010c9f0
xor eax, eax
add rsp, 0x328
pop r15
pop r14
pop r12
pop rdi
ret