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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x1402f1100]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x1402fecc8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
add rax, 8
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xc5], 0
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x1400c2d53
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x1400c2d53
mov byte [rsp + 0x3b], 1
jmp 0x1400c2d58
mov byte [rsp + 0x3b], 0
movzx eax, byte [rsp + 0x3b]
mov byte [rsp + 0x38], al
mov dword [rsp + 0xe8], 0x27a
mov dword [rsp + 0xec], 0x279
mov dword [rsp + 0xf0], 0x27b
mov dword [rsp + 0xf4], 0x27c
mov dword [rsp + 0xf8], 0x27e
mov dword [rsp + 0xfc], 0x27d
mov dword [rsp + 0x100], 0x27f
mov dword [rsp + 0x104], 0x280
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c2e57
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x98]
add rax, 0x20
mov qword [rsp + 0xa8], rax
jmp 0x1400c2e10
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa8]
cmp qword [rsp + 0x80], rax
je 0x1400c2e57
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
mov ecx, dword [rsp + 0x94]
call fcn.1400ba290
movzx eax, al
test eax, eax
je 0x1400c2e55
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e60], 3
jmp 0x1400c2dfc
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x1400c2e6c
mov byte [rsp + 0x3c], 1
jmp 0x1400c2e71
mov byte [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x3c]
mov byte [rsp + 0x39], al
mov dword [rsp + 0xc8], 0x20c
mov dword [rsp + 0xcc], 0x20d
mov dword [rsp + 0xd0], 0x20e
mov dword [rsp + 0xd4], 0x202
mov dword [rsp + 0xd8], 0x201
mov dword [rsp + 0xdc], 0x203
mov dword [rsp + 0xe0], 0x204
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c2f65
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xa0]
add rax, 0x1c
mov qword [rsp + 0xb0], rax
jmp 0x1400c2f1e
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], rax
je 0x1400c2f65
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x90]
call fcn.1400ba290
movzx eax, al
test eax, eax
je 0x1400c2f63
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e60], 2
jmp 0x1400c2f0a
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1fdc], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e80], 0
je 0x1400c2f88
call fcn.1400c39c0
nop
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1e75], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1e76], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e80], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1eb0]
test eax, eax
je 0x1400c2fc5
call fcn.1400c49c0
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1ef4], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1eb1], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1eb0], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e71]
test eax, eax
je 0x1400c3045
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e70]
test eax, eax
je 0x1400c3045
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
jne 0x1400c3045
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e73]
test eax, eax
je 0x1400c3045
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c3045
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1e71], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c3072
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x1e18]
call fcn.1400c2520
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c30bc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
cmp qword [rax + 0x3b8], 0
je 0x1400c30bc
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e28], 0
jne 0x1400c30bc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov qword [rax + 0x3b8], 0
call fcn.1400c5d50
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400c30d3
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c3104
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c3104
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400c3104
mov dword [rsp + 0x74], 1
jmp 0x1400c310c
mov dword [rsp + 0x74], 0
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x74]
mov byte [rax + 0xc7], cl
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xc7]
test eax, eax
je 0x1400c314a
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e20], 0
je 0x1400c314a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
je 0x1400c3163
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400c3163
mov dword [rsp + 0x78], 0
jmp 0x1400c316b
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.1400c50d0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e34], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e30], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e2c], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e38], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e20], 0
je 0x1400c34fa
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
jne 0x1400c34fa
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400c34fa
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c34fa
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400c34fa
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c3243
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.1400ba2b0
movzx eax, al
test eax, eax
jne 0x1400c3269
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c3262
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.1400ba2b0
movzx eax, al
test eax, eax
jne 0x1400c3269
mov byte [rsp + 0x3d], 0
jmp 0x1400c326e
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x1400c32cb
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c32a2
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20c
call fcn.1400ba340
movzx eax, al
test eax, eax
jne 0x1400c32c4
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c32cb
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27c
call fcn.1400ba340
movzx eax, al
test eax, eax
je 0x1400c32cb
mov byte [rsp + 0x3e], 1
jmp 0x1400c32d0
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c330e
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.1400ba2b0
movzx eax, al
test eax, eax
jne 0x1400c3334
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.1400ba2b0
movzx eax, al
test eax, eax
jne 0x1400c3334
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c332d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.1400ba2b0
movzx eax, al
test eax, eax
jne 0x1400c3334
mov byte [rsp + 0x3f], 0
jmp 0x1400c3339
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400c33af
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c3386
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20d
call fcn.1400ba340
movzx eax, al
test eax, eax
jne 0x1400c33a8
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x273
call fcn.1400ba340
movzx eax, al
test eax, eax
jne 0x1400c33a8
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c33af
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27b
call fcn.1400ba340
movzx eax, al
test eax, eax
je 0x1400c33af
mov byte [rsp + 0x40], 1
jmp 0x1400c33b4
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1364], 0
jne 0x1400c33f9
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1400c33f9
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
mov dword [rax + 0x1e2c], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e38], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1364], 0
je 0x1400c341f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400c344d
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400c344d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
mov dword [rax + 0x1e2c], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e38], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1364], 0
je 0x1400c3473
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400c349b
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x1400c3485
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400c349b
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
mov dword [rax + 0x1e30], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1364], 0
je 0x1400c34c1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400c34fa
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x1400c34d3
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400c34fa
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
mov dword [rax + 0x1e34], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x1e20]
call fcn.1400c1080
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c352d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x1400c352d
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1e72], 1
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x1e54]
comiss xmm0, dword [0x1402de7ac]
jbe 0x1400c3577
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x1e54]
subss xmm0, dword [rcx + 0x10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.1400cc0e0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x1e54], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x1e54]
ucomiss xmm0, dword [0x1402de7ac]
jp 0x1400c359e
jne 0x1400c359e
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e50], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e58], 0
je 0x1400c3604
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e58]
mov dword [rax + 0x1e34], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e34]
mov dword [rax + 0x1e30], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e30]
mov dword [rax + 0x1e2c], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e5c]
mov dword [rax + 0x1e38], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e58], 0
call fcn.1400c3ce0
nop
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1ec0], 0xffffffff
jne 0x1400c362d
call fcn.1400c47a0
nop
call fcn.1400c2750
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1e70], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c391c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400c391c
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400c391c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.1400a2210
mulss xmm0, dword [0x1402de9b0]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x1402de848]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x1ec0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x174]
test eax, eax
jne 0x1400c37d1
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x17a]
test eax, eax
je 0x1400c37d1
cmp dword [rsp + 0x48], 0xffffffff
je 0x1400c37d1
cmp dword [rsp + 0x48], 0
je 0x1400c3713
cmp dword [rsp + 0x48], 1
jne 0x1400c376b
cmp dword [rsp + 0x48], 0
jne 0x1400c372a
movss xmm0, dword [0x1402dea2c]
movss dword [rsp + 0x7c], xmm0
jmp 0x1400c3738
movss xmm0, dword [0x1402de8b4]
movss dword [rsp + 0x7c], xmm0
movss xmm0, dword [rsp + 0x7c]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x98]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14009f250
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bf690
nop
cmp dword [rsp + 0x48], 2
je 0x1400c3779
cmp dword [rsp + 0x48], 3
jne 0x1400c37d1
cmp dword [rsp + 0x48], 2
jne 0x1400c3790
movss xmm0, dword [0x1402dea2c]
movss dword [rsp + 0x64], xmm0
jmp 0x1400c379e
movss xmm0, dword [0x1402de8b4]
movss dword [rsp + 0x64], xmm0
movss xmm0, dword [rsp + 0x64]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x9c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14009f250
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bf6d0
nop
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c391c
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0xc0]
call fcn.1400b98d0
mov ecx, 0x281
call fcn.1400ba290
movzx eax, al
test eax, eax
je 0x1400c3825
movss xmm0, dword [0x1402de7e0]
movss dword [rsp + 0x6c], xmm0
jmp 0x1400c3860
mov ecx, 0x282
call fcn.1400ba290
movzx eax, al
test eax, eax
je 0x1400c3846
movss xmm0, dword [0x1402de950]
movss dword [rsp + 0x68], xmm0
jmp 0x1400c3854
movss xmm0, dword [0x1402de8b4]
movss dword [rsp + 0x68], xmm0
movss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0x6c], xmm0
movss xmm0, dword [rsp + 0x6c]
movss dword [rsp + 0x70], xmm0
movss xmm0, dword [rsp + 0xc0]
ucomiss xmm0, dword [0x1402de7ac]
jp 0x1400c3880
je 0x1400c38cc
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xc8]
test eax, eax
je 0x1400c38cc
movss xmm0, dword [rsp + 0xc0]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x98]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14009f250
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bf690
nop
movss xmm0, dword [rsp + 0xc4]
ucomiss xmm0, dword [0x1402de7ac]
jp 0x1400c38e0
je 0x1400c391c
movss xmm0, dword [rsp + 0xc4]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x9c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14009f250
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bf6d0
nop
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400c394f
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x1400c394f
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1e72], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x1e73], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x1400c398b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x1400c398b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x1400c398b
lea rcx, [rsp + 0xb8]
call fcn.1400c2950
mov rcx, rax
call fcn.1400baa20
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1eec], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.140143260
add rsp, 0x118
ret