Function at 0x1400c3220
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 [0x1402fecb8]
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 0x1400c3283
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x1400c3283
mov byte [rsp + 0x3b], 1
jmp 0x1400c3288
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 0x1400c3387
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 0x1400c3340
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa8]
cmp qword [rsp + 0x80], rax
je 0x1400c3387
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
mov ecx, dword [rsp + 0x94]
call fcn.1400ba7c0
movzx eax, al
test eax, eax
je 0x1400c3385
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e60], 3
jmp 0x1400c332c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x1400c339c
mov byte [rsp + 0x3c], 1
jmp 0x1400c33a1
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 0x1400c3495
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 0x1400c344e
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], rax
je 0x1400c3495
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x90]
call fcn.1400ba7c0
movzx eax, al
test eax, eax
je 0x1400c3493
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e60], 2
jmp 0x1400c343a
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1fdc], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e80], 0
je 0x1400c34b8
call fcn.1400c3ef0
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 0x1400c34f5
call fcn.1400c4ef0
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 0x1400c3575
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e70]
test eax, eax
je 0x1400c3575
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
jne 0x1400c3575
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e73]
test eax, eax
je 0x1400c3575
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c3575
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 0x1400c35a2
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x1e18]
call fcn.1400c2a50
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c35ec
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
cmp qword [rax + 0x3b8], 0
je 0x1400c35ec
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e28], 0
jne 0x1400c35ec
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov qword [rax + 0x3b8], 0
call fcn.1400c6280
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400c3603
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c3634
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c3634
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400c3634
mov dword [rsp + 0x74], 1
jmp 0x1400c363c
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 0x1400c367a
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e20], 0
je 0x1400c367a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
je 0x1400c3693
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400c3693
mov dword [rsp + 0x78], 0
jmp 0x1400c369b
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.1400c5600
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 0x1400c3a2a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
jne 0x1400c3a2a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400c3a2a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c3a2a
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400c3a2a
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c3773
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.1400ba7e0
movzx eax, al
test eax, eax
jne 0x1400c3799
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c3792
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.1400ba7e0
movzx eax, al
test eax, eax
jne 0x1400c3799
mov byte [rsp + 0x3d], 0
jmp 0x1400c379e
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x1400c37fb
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c37d2
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20c
call fcn.1400ba870
movzx eax, al
test eax, eax
jne 0x1400c37f4
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c37fb
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27c
call fcn.1400ba870
movzx eax, al
test eax, eax
je 0x1400c37fb
mov byte [rsp + 0x3e], 1
jmp 0x1400c3800
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c383e
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.1400ba7e0
movzx eax, al
test eax, eax
jne 0x1400c3864
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.1400ba7e0
movzx eax, al
test eax, eax
jne 0x1400c3864
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c385d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.1400ba7e0
movzx eax, al
test eax, eax
jne 0x1400c3864
mov byte [rsp + 0x3f], 0
jmp 0x1400c3869
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400c38df
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c38b6
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20d
call fcn.1400ba870
movzx eax, al
test eax, eax
jne 0x1400c38d8
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x273
call fcn.1400ba870
movzx eax, al
test eax, eax
jne 0x1400c38d8
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c38df
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27b
call fcn.1400ba870
movzx eax, al
test eax, eax
je 0x1400c38df
mov byte [rsp + 0x40], 1
jmp 0x1400c38e4
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 0x1400c3929
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1400c3929
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 0x1400c394f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400c397d
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400c397d
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 0x1400c39a3
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400c39cb
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x1400c39b5
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400c39cb
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 0x1400c39f1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400c3a2a
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x1400c3a03
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400c3a2a
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.1400c15b0
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c3a5d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x1400c3a5d
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 [0x1402de82c]
jbe 0x1400c3aa7
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.1400cc610
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x1e54], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x1e54]
ucomiss xmm0, dword [0x1402de82c]
jp 0x1400c3ace
jne 0x1400c3ace
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e50], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e58], 0
je 0x1400c3b34
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.1400c4210
nop
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1ec0], 0xffffffff
jne 0x1400c3b5d
call fcn.1400c4cd0
nop
call fcn.1400c2c80
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1e70], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c3e4c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400c3e4c
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400c3e4c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.1400a2740
mulss xmm0, dword [0x1402dea30]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x1402de8c8]
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 0x1400c3d01
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x17a]
test eax, eax
je 0x1400c3d01
cmp dword [rsp + 0x48], 0xffffffff
je 0x1400c3d01
cmp dword [rsp + 0x48], 0
je 0x1400c3c43
cmp dword [rsp + 0x48], 1
jne 0x1400c3c9b
cmp dword [rsp + 0x48], 0
jne 0x1400c3c5a
movss xmm0, dword [0x1402deaac]
movss dword [rsp + 0x7c], xmm0
jmp 0x1400c3c68
movss xmm0, dword [0x1402de934]
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.14009f780
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bfbc0
nop
cmp dword [rsp + 0x48], 2
je 0x1400c3ca9
cmp dword [rsp + 0x48], 3
jne 0x1400c3d01
cmp dword [rsp + 0x48], 2
jne 0x1400c3cc0
movss xmm0, dword [0x1402deaac]
movss dword [rsp + 0x64], xmm0
jmp 0x1400c3cce
movss xmm0, dword [0x1402de934]
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.14009f780
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bfc00
nop
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c3e4c
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0xc0]
call fcn.1400b9e00
mov ecx, 0x281
call fcn.1400ba7c0
movzx eax, al
test eax, eax
je 0x1400c3d55
movss xmm0, dword [0x1402de860]
movss dword [rsp + 0x6c], xmm0
jmp 0x1400c3d90
mov ecx, 0x282
call fcn.1400ba7c0
movzx eax, al
test eax, eax
je 0x1400c3d76
movss xmm0, dword [0x1402de9d0]
movss dword [rsp + 0x68], xmm0
jmp 0x1400c3d84
movss xmm0, dword [0x1402de934]
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 [0x1402de82c]
jp 0x1400c3db0
je 0x1400c3dfc
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xc8]
test eax, eax
je 0x1400c3dfc
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.14009f780
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bfbc0
nop
movss xmm0, dword [rsp + 0xc4]
ucomiss xmm0, dword [0x1402de82c]
jp 0x1400c3e10
je 0x1400c3e4c
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.14009f780
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bfc00
nop
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400c3e7f
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x1400c3e7f
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 0x1400c3ebb
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x1400c3ebb
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x1400c3ebb
lea rcx, [rsp + 0xb8]
call fcn.1400c2e80
mov rcx, rax
call fcn.1400baf50
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1eec], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.140143790
add rsp, 0x118
ret