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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x140250100]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x14025dff8]
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 0x1400c05f3
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x1400c05f3
mov byte [rsp + 0x3b], 1
jmp 0x1400c05f8
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 0x1400c06f7
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 0x1400c06b0
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa8]
cmp qword [rsp + 0x80], rax
je 0x1400c06f7
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
mov ecx, dword [rsp + 0x94]
call fcn.1400b7ad0
movzx eax, al
test eax, eax
je 0x1400c06f5
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e60], 3
jmp 0x1400c069c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x1400c070c
mov byte [rsp + 0x3c], 1
jmp 0x1400c0711
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 0x1400c0805
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 0x1400c07be
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], rax
je 0x1400c0805
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x90]
call fcn.1400b7ad0
movzx eax, al
test eax, eax
je 0x1400c0803
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e60], 2
jmp 0x1400c07aa
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1fdc], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e80], 0
je 0x1400c0828
call fcn.1400c1260
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 0x1400c0865
call fcn.1400c2260
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 0x1400c08e5
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e70]
test eax, eax
je 0x1400c08e5
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
jne 0x1400c08e5
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e73]
test eax, eax
je 0x1400c08e5
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c08e5
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 0x1400c0912
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x1e18]
call fcn.1400bfdc0
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c095c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
cmp qword [rax + 0x3b8], 0
je 0x1400c095c
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e28], 0
jne 0x1400c095c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov qword [rax + 0x3b8], 0
call fcn.1400c35f0
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400c0973
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c09a4
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c09a4
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400c09a4
mov dword [rsp + 0x74], 1
jmp 0x1400c09ac
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 0x1400c09ea
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e20], 0
je 0x1400c09ea
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
je 0x1400c0a03
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400c0a03
mov dword [rsp + 0x78], 0
jmp 0x1400c0a0b
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.1400c2970
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 0x1400c0d9a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
jne 0x1400c0d9a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400c0d9a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c0d9a
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400c0d9a
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c0ae3
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.1400b7af0
movzx eax, al
test eax, eax
jne 0x1400c0b09
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c0b02
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.1400b7af0
movzx eax, al
test eax, eax
jne 0x1400c0b09
mov byte [rsp + 0x3d], 0
jmp 0x1400c0b0e
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x1400c0b6b
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c0b42
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20c
call fcn.1400b7b80
movzx eax, al
test eax, eax
jne 0x1400c0b64
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c0b6b
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27c
call fcn.1400b7b80
movzx eax, al
test eax, eax
je 0x1400c0b6b
mov byte [rsp + 0x3e], 1
jmp 0x1400c0b70
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c0bae
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.1400b7af0
movzx eax, al
test eax, eax
jne 0x1400c0bd4
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.1400b7af0
movzx eax, al
test eax, eax
jne 0x1400c0bd4
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c0bcd
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.1400b7af0
movzx eax, al
test eax, eax
jne 0x1400c0bd4
mov byte [rsp + 0x3f], 0
jmp 0x1400c0bd9
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400c0c4f
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400c0c26
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20d
call fcn.1400b7b80
movzx eax, al
test eax, eax
jne 0x1400c0c48
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x273
call fcn.1400b7b80
movzx eax, al
test eax, eax
jne 0x1400c0c48
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c0c4f
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27b
call fcn.1400b7b80
movzx eax, al
test eax, eax
je 0x1400c0c4f
mov byte [rsp + 0x40], 1
jmp 0x1400c0c54
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 0x1400c0c99
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1400c0c99
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 0x1400c0cbf
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400c0ced
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400c0ced
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 0x1400c0d13
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400c0d3b
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x1400c0d25
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400c0d3b
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 0x1400c0d61
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400c0d9a
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x1400c0d73
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400c0d9a
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.1400be920
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c0dcd
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x1400c0dcd
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 [0x14023d73c]
jbe 0x1400c0e17
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.1400c9b00
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x1e54], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x1e54]
ucomiss xmm0, dword [0x14023d73c]
jp 0x1400c0e3e
jne 0x1400c0e3e
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e50], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e58], 0
je 0x1400c0ea4
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.1400c1580
nop
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1ec0], 0xffffffff
jne 0x1400c0ecd
call fcn.1400c2040
nop
call fcn.1400bfff0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1e70], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400c11bc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400c11bc
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400c11bc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.14009fa50
mulss xmm0, dword [0x14023d93c]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x14023d7d8]
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 0x1400c1071
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x17a]
test eax, eax
je 0x1400c1071
cmp dword [rsp + 0x48], 0xffffffff
je 0x1400c1071
cmp dword [rsp + 0x48], 0
je 0x1400c0fb3
cmp dword [rsp + 0x48], 1
jne 0x1400c100b
cmp dword [rsp + 0x48], 0
jne 0x1400c0fca
movss xmm0, dword [0x14023d9ac]
movss dword [rsp + 0x7c], xmm0
jmp 0x1400c0fd8
movss xmm0, dword [0x14023d844]
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.14009ca90
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bcf30
nop
cmp dword [rsp + 0x48], 2
je 0x1400c1019
cmp dword [rsp + 0x48], 3
jne 0x1400c1071
cmp dword [rsp + 0x48], 2
jne 0x1400c1030
movss xmm0, dword [0x14023d9ac]
movss dword [rsp + 0x64], xmm0
jmp 0x1400c103e
movss xmm0, dword [0x14023d844]
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.14009ca90
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bcf70
nop
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400c11bc
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0xc0]
call fcn.1400b7110
mov ecx, 0x281
call fcn.1400b7ad0
movzx eax, al
test eax, eax
je 0x1400c10c5
movss xmm0, dword [0x14023d770]
movss dword [rsp + 0x6c], xmm0
jmp 0x1400c1100
mov ecx, 0x282
call fcn.1400b7ad0
movzx eax, al
test eax, eax
je 0x1400c10e6
movss xmm0, dword [0x14023d8d8]
movss dword [rsp + 0x68], xmm0
jmp 0x1400c10f4
movss xmm0, dword [0x14023d844]
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 [0x14023d73c]
jp 0x1400c1120
je 0x1400c116c
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xc8]
test eax, eax
je 0x1400c116c
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.14009ca90
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bcf30
nop
movss xmm0, dword [rsp + 0xc4]
ucomiss xmm0, dword [0x14023d73c]
jp 0x1400c1180
je 0x1400c11bc
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.14009ca90
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400bcf70
nop
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400c11ef
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x1400c11ef
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 0x1400c122b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x1400c122b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x1400c122b
lea rcx, [rsp + 0xb8]
call fcn.1400c01f0
mov rcx, rax
call fcn.1400b8260
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1eec], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.140140e90
add rsp, 0x118
ret