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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x1401ce9d8]
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 0x140071461
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x140071461
mov byte [rsp + 0x3b], 1
jmp 0x140071466
mov byte [rsp + 0x3b], 0
movzx eax, byte [rsp + 0x3b]
mov byte [rsp + 0x38], al
mov dword [rsp + 0xd0], 0x27a
mov dword [rsp + 0xd4], 0x279
mov dword [rsp + 0xd8], 0x27b
mov dword [rsp + 0xdc], 0x27c
mov dword [rsp + 0xe0], 0x27e
mov dword [rsp + 0xe4], 0x27d
mov dword [rsp + 0xe8], 0x27f
mov dword [rsp + 0xec], 0x280
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140071565
lea rax, [rsp + 0xd0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa0]
add rax, 0x20
mov qword [rsp + 0xf0], rax
jmp 0x14007151e
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xf0]
cmp qword [rsp + 0x80], rax
je 0x140071565
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x9c], eax
mov ecx, dword [rsp + 0x9c]
call fcn.1400677c0
movzx eax, al
test eax, eax
je 0x140071563
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b64], 3
jmp 0x14007150a
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x14007157a
mov byte [rsp + 0x3c], 1
jmp 0x14007157f
mov byte [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x3c]
mov byte [rsp + 0x39], al
mov dword [rsp + 0xb0], 0x20c
mov dword [rsp + 0xb4], 0x20d
mov dword [rsp + 0xb8], 0x20e
mov dword [rsp + 0xbc], 0x202
mov dword [rsp + 0xc0], 0x201
mov dword [rsp + 0xc4], 0x203
mov dword [rsp + 0xc8], 0x204
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140071673
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xa8]
add rax, 0x1c
mov qword [rsp + 0xf8], rax
jmp 0x14007162c
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xf8]
cmp qword [rsp + 0x88], rax
je 0x140071673
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x98], eax
mov ecx, dword [rsp + 0x98]
call fcn.1400677c0
movzx eax, al
test eax, eax
je 0x140071671
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b64], 2
jmp 0x140071618
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b50], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b88], 0
je 0x140071695
call fcn.1400720b0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b7d], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b7e], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b88], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc0]
test eax, eax
je 0x1400716d1
call fcn.140073010
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c04], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc1], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc0], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b79]
test eax, eax
je 0x140071751
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b78]
test eax, eax
je 0x140071751
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b7a]
test eax, eax
jne 0x140071751
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b7b]
test eax, eax
je 0x140071751
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x140071751
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b79], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x14007177d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4b18]
call fcn.140070be0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x1400717c7
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
cmp qword [rax + 0x3b0], 0
je 0x1400717c7
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b68], 0
jne 0x1400717c7
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov qword [rax + 0x3b0], 0
call fcn.1400742b0
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1400717de
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14007180f
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x14007180f
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14007180f
mov dword [rsp + 0x74], 1
jmp 0x140071817
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 0x140071855
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b20], 0
je 0x140071855
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b7a]
test eax, eax
je 0x14007186e
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d10], 0
jne 0x14007186e
mov dword [rsp + 0x78], 0
jmp 0x140071876
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.140073660
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b40], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b3c], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b38], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b44], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b20], 0
je 0x140071c04
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b7a]
test eax, eax
jne 0x140071c04
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d10], 0
jne 0x140071c04
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x140071c04
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x140071c04
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14007194e
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.1400677e0
movzx eax, al
test eax, eax
jne 0x140071974
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14007196d
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.1400677e0
movzx eax, al
test eax, eax
jne 0x140071974
mov byte [rsp + 0x3d], 0
jmp 0x140071979
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x1400719d6
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400719ad
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140067870
movzx eax, al
test eax, eax
jne 0x1400719cf
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400719d6
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.140067870
movzx eax, al
test eax, eax
je 0x1400719d6
mov byte [rsp + 0x3e], 1
jmp 0x1400719db
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140071a19
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.1400677e0
movzx eax, al
test eax, eax
jne 0x140071a3f
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.1400677e0
movzx eax, al
test eax, eax
jne 0x140071a3f
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140071a38
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.1400677e0
movzx eax, al
test eax, eax
jne 0x140071a3f
mov byte [rsp + 0x3f], 0
jmp 0x140071a44
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x140071aba
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140071a91
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140067870
movzx eax, al
test eax, eax
jne 0x140071ab3
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140067870
movzx eax, al
test eax, eax
jne 0x140071ab3
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140071aba
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140067870
movzx eax, al
test eax, eax
je 0x140071aba
mov byte [rsp + 0x40], 1
jmp 0x140071abf
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4064], 0
jne 0x140071b04
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x140071b04
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
mov dword [rax + 0x4b38], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b44], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4064], 0
je 0x140071b2a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
cmp dword [rax + 0x4064], ecx
jne 0x140071b58
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x140071b58
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
mov dword [rax + 0x4b38], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b44], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4064], 0
je 0x140071b7e
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
cmp dword [rax + 0x4064], ecx
jne 0x140071ba6
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x140071b90
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x140071ba6
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
mov dword [rax + 0x4b3c], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4064], 0
je 0x140071bcc
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
cmp dword [rax + 0x4064], ecx
jne 0x140071c04
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x140071bde
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x140071c04
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
mov dword [rax + 0x4b40], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x4b20]
call fcn.14006f760
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x140071c37
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x140071c37
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b7a], 1
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b4c]
comiss xmm0, dword [0x1401974a0]
jbe 0x140071c81
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x4b4c]
subss xmm0, dword [rcx + 0x10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.14007ad10
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4b4c], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b4c]
ucomiss xmm0, dword [0x1401974a0]
jp 0x140071ca8
jne 0x140071ca8
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b48], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b5c], 0
je 0x140071d0e
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b5c]
mov dword [rax + 0x4b40], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b40]
mov dword [rax + 0x4b3c], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b3c]
mov dword [rax + 0x4b38], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b60]
mov dword [rax + 0x4b44], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b5c], 0
call fcn.140072370
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4bd0], 0xffffffff
jne 0x140071d35
call fcn.140072df0
call fcn.140070e00
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b78], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x140072020
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x140072020
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d10], 0
jne 0x140072020
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.140050190
mulss xmm0, dword [0x1401976f0]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x140197564]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x4bd0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x16c]
test eax, eax
jne 0x140071ed7
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x172]
test eax, eax
je 0x140071ed7
cmp dword [rsp + 0x48], 0xffffffff
je 0x140071ed7
cmp dword [rsp + 0x48], 0
je 0x140071e1b
cmp dword [rsp + 0x48], 1
jne 0x140071e72
cmp dword [rsp + 0x48], 0
jne 0x140071e32
movss xmm0, dword [0x14019778c]
movss dword [rsp + 0x7c], xmm0
jmp 0x140071e40
movss xmm0, dword [0x140197604]
movss dword [rsp + 0x7c], xmm0
movss xmm0, dword [rsp + 0x7c]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x8c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14004d340
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14006d8b0
cmp dword [rsp + 0x48], 2
je 0x140071e80
cmp dword [rsp + 0x48], 3
jne 0x140071ed7
cmp dword [rsp + 0x48], 2
jne 0x140071e97
movss xmm0, dword [0x14019778c]
movss dword [rsp + 0x64], xmm0
jmp 0x140071ea5
movss xmm0, dword [0x140197604]
movss dword [rsp + 0x64], xmm0
movss xmm0, dword [rsp + 0x64]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x90]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14004d340
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14006d8f0
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140072020
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0x90]
call fcn.140066e90
mov ecx, 0x281
call fcn.1400677c0
movzx eax, al
test eax, eax
je 0x140071f2b
movss xmm0, dword [0x1401974f0]
movss dword [rsp + 0x6c], xmm0
jmp 0x140071f66
mov ecx, 0x282
call fcn.1400677c0
movzx eax, al
test eax, eax
je 0x140071f4c
movss xmm0, dword [0x140197694]
movss dword [rsp + 0x68], xmm0
jmp 0x140071f5a
movss xmm0, dword [0x140197604]
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 + 0x90]
ucomiss xmm0, dword [0x1401974a0]
jp 0x140071f86
je 0x140071fd1
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xbc]
test eax, eax
je 0x140071fd1
movss xmm0, dword [rsp + 0x90]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x8c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14004d340
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14006d8b0
movss xmm0, dword [rsp + 0x94]
ucomiss xmm0, dword [0x1401974a0]
jp 0x140071fe5
je 0x140072020
movss xmm0, dword [rsp + 0x94]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x90]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14004d340
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14006d8f0
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x140072053
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x140072053
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b7a], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x4b7b], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x14007208e
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x14007208e
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x14007208e
lea rcx, [rsp + 0x100]
call fcn.140071000
mov rcx, rax
call fcn.140067f90
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bfc], 0
add rsp, 0x118
ret