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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x14030a100]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x1405b73b8]
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 0x1400bc073
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x1400bc073
mov byte [rsp + 0x3b], 1
jmp 0x1400bc078
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 0x1400bc177
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 0x1400bc130
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa8]
cmp qword [rsp + 0x80], rax
je 0x1400bc177
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
mov ecx, dword [rsp + 0x94]
call fcn.1400b3c40
movzx eax, al
test eax, eax
je 0x1400bc175
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e60], 3
jmp 0x1400bc11c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x1400bc18c
mov byte [rsp + 0x3c], 1
jmp 0x1400bc191
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 0x1400bc285
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 0x1400bc23e
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], rax
je 0x1400bc285
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x90]
call fcn.1400b3c40
movzx eax, al
test eax, eax
je 0x1400bc283
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e60], 2
jmp 0x1400bc22a
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1fdc], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e80], 0
je 0x1400bc2a8
call fcn.1400bcce0
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 0x1400bc2e5
call fcn.1400bdce0
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 0x1400bc365
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e70]
test eax, eax
je 0x1400bc365
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
jne 0x1400bc365
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e73]
test eax, eax
je 0x1400bc365
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400bc365
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 0x1400bc392
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x1e18]
call fcn.1400bb840
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400bc3dc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
cmp qword [rax + 0x3b8], 0
je 0x1400bc3dc
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e28], 0
jne 0x1400bc3dc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov qword [rax + 0x3b8], 0
call fcn.1400bf070
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400bc3f3
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400bc424
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400bc424
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400bc424
mov dword [rsp + 0x74], 1
jmp 0x1400bc42c
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 0x1400bc46a
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e20], 0
je 0x1400bc46a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
je 0x1400bc483
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400bc483
mov dword [rsp + 0x78], 0
jmp 0x1400bc48b
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.1400be3f0
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 0x1400bc81a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1e72]
test eax, eax
jne 0x1400bc81a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400bc81a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400bc81a
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400bc81a
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400bc563
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.1400b3c60
movzx eax, al
test eax, eax
jne 0x1400bc589
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400bc582
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.1400b3c60
movzx eax, al
test eax, eax
jne 0x1400bc589
mov byte [rsp + 0x3d], 0
jmp 0x1400bc58e
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x1400bc5eb
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400bc5c2
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20c
call fcn.1400b3cf0
movzx eax, al
test eax, eax
jne 0x1400bc5e4
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400bc5eb
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27c
call fcn.1400b3cf0
movzx eax, al
test eax, eax
je 0x1400bc5eb
mov byte [rsp + 0x3e], 1
jmp 0x1400bc5f0
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400bc62e
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.1400b3c60
movzx eax, al
test eax, eax
jne 0x1400bc654
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.1400b3c60
movzx eax, al
test eax, eax
jne 0x1400bc654
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400bc64d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.1400b3c60
movzx eax, al
test eax, eax
jne 0x1400bc654
mov byte [rsp + 0x3f], 0
jmp 0x1400bc659
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400bc6cf
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400bc6a6
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20d
call fcn.1400b3cf0
movzx eax, al
test eax, eax
jne 0x1400bc6c8
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x273
call fcn.1400b3cf0
movzx eax, al
test eax, eax
jne 0x1400bc6c8
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400bc6cf
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27b
call fcn.1400b3cf0
movzx eax, al
test eax, eax
je 0x1400bc6cf
mov byte [rsp + 0x40], 1
jmp 0x1400bc6d4
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 0x1400bc719
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1400bc719
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 0x1400bc73f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400bc76d
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400bc76d
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 0x1400bc793
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400bc7bb
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x1400bc7a5
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400bc7bb
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 0x1400bc7e1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x1e20]
cmp dword [rax + 0x1364], ecx
jne 0x1400bc81a
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x1400bc7f3
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400bc81a
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.1400ba3a0
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400bc84d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x1400bc84d
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 [0x1402f7bec]
jbe 0x1400bc897
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.1400c55a0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x1e54], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x1e54]
ucomiss xmm0, dword [0x1402f7bec]
jp 0x1400bc8be
jne 0x1400bc8be
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1e50], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1e58], 0
je 0x1400bc924
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.1400bd000
nop
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x1ec0], 0xffffffff
jne 0x1400bc94d
call fcn.1400bdac0
nop
call fcn.1400bba70
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x1e70], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1e18], 0
je 0x1400bcc3c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400bcc3c
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x1ff8], 0
jne 0x1400bcc3c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x1e18]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.14009bb10
mulss xmm0, dword [0x1402f7ddc]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x1402f7c88]
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 0x1400bcaf1
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x17a]
test eax, eax
je 0x1400bcaf1
cmp dword [rsp + 0x48], 0xffffffff
je 0x1400bcaf1
cmp dword [rsp + 0x48], 0
je 0x1400bca33
cmp dword [rsp + 0x48], 1
jne 0x1400bca8b
cmp dword [rsp + 0x48], 0
jne 0x1400bca4a
movss xmm0, dword [0x1402f7e54]
movss dword [rsp + 0x7c], xmm0
jmp 0x1400bca58
movss xmm0, dword [0x1402f7cf4]
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.140098c10
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400b89b0
nop
cmp dword [rsp + 0x48], 2
je 0x1400bca99
cmp dword [rsp + 0x48], 3
jne 0x1400bcaf1
cmp dword [rsp + 0x48], 2
jne 0x1400bcab0
movss xmm0, dword [0x1402f7e54]
movss dword [rsp + 0x64], xmm0
jmp 0x1400bcabe
movss xmm0, dword [0x1402f7cf4]
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.140098c10
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400b89f0
nop
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400bcc3c
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0xc0]
call fcn.1400b3280
mov ecx, 0x281
call fcn.1400b3c40
movzx eax, al
test eax, eax
je 0x1400bcb45
movss xmm0, dword [0x1402f7c20]
movss dword [rsp + 0x6c], xmm0
jmp 0x1400bcb80
mov ecx, 0x282
call fcn.1400b3c40
movzx eax, al
test eax, eax
je 0x1400bcb66
movss xmm0, dword [0x1402f7d88]
movss dword [rsp + 0x68], xmm0
jmp 0x1400bcb74
movss xmm0, dword [0x1402f7cf4]
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 [0x1402f7bec]
jp 0x1400bcba0
je 0x1400bcbec
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xc8]
test eax, eax
je 0x1400bcbec
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.140098c10
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400b89b0
nop
movss xmm0, dword [rsp + 0xc4]
ucomiss xmm0, dword [0x1402f7bec]
jp 0x1400bcc00
je 0x1400bcc3c
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.140098c10
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.1400b89f0
nop
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400bcc6f
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x1400bcc6f
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 0x1400bccab
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x1400bccab
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x1400bccab
lea rcx, [rsp + 0xb8]
call fcn.1400bbc70
mov rcx, rax
call fcn.1400b43d0
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1eec], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.14013d5b0
add rsp, 0x118
ret