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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x140231200]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x140238320]
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 + 0xd5], 0
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x14006f583
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x14006f583
mov byte [rsp + 0x3b], 1
jmp 0x14006f588
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 0x14006f687
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 0x14006f640
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa8]
cmp qword [rsp + 0x80], rax
je 0x14006f687
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
mov ecx, dword [rsp + 0x94]
call fcn.140065470
movzx eax, al
test eax, eax
je 0x14006f685
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4be8], 3
jmp 0x14006f62c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x14006f69c
mov byte [rsp + 0x3c], 1
jmp 0x14006f6a1
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 0x14006f795
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 0x14006f74e
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], rax
je 0x14006f795
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x90]
call fcn.140065470
movzx eax, al
test eax, eax
je 0x14006f793
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4be8], 2
jmp 0x14006f73a
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4d64], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4d60], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4d68], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c08], 0
je 0x14006f7d5
call fcn.140070200
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bfd], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bfe], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c08], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c38]
test eax, eax
je 0x14006f811
call fcn.140071210
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c7c], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c39], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c38], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bf9]
test eax, eax
je 0x14006f891
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bf8]
test eax, eax
je 0x14006f891
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bfa]
test eax, eax
jne 0x14006f891
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bfb]
test eax, eax
je 0x14006f891
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4ba0], 0
je 0x14006f891
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bf9], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4ba0], 0
je 0x14006f8bd
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4ba0]
call fcn.14006ebf0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4ba0], 0
je 0x14006f907
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4ba0]
cmp qword [rax + 0x3b8], 0
je 0x14006f907
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4bb0], 0
jne 0x14006f907
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4ba0]
mov qword [rax + 0x3b8], 0
call fcn.1400725a0
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14006f91e
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14006f94f
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4ba0], 0
je 0x14006f94f
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4ba0]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14006f94f
mov dword [rsp + 0x74], 1
jmp 0x14006f957
mov dword [rsp + 0x74], 0
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x74]
mov byte [rax + 0xd7], cl
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xd7]
test eax, eax
je 0x14006f995
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4ba8], 0
je 0x14006f995
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bfa]
test eax, eax
je 0x14006f9ae
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d80], 0
jne 0x14006f9ae
mov dword [rsp + 0x78], 0
jmp 0x14006f9b6
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xd8], cl
call fcn.140071930
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bbc], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bb8], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bb4], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bc0], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4ba8], 0
je 0x14006fd44
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bfa]
test eax, eax
jne 0x14006fd44
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d80], 0
jne 0x14006fd44
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4ba0], 0
je 0x14006fd44
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4ba0]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14006fd44
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14006fa8e
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140065490
movzx eax, al
test eax, eax
jne 0x14006fab4
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14006faad
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.140065490
movzx eax, al
test eax, eax
jne 0x14006fab4
mov byte [rsp + 0x3d], 0
jmp 0x14006fab9
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x14006fb16
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14006faed
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20c
call fcn.140065520
movzx eax, al
test eax, eax
jne 0x14006fb0f
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14006fb16
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27c
call fcn.140065520
movzx eax, al
test eax, eax
je 0x14006fb16
mov byte [rsp + 0x3e], 1
jmp 0x14006fb1b
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14006fb59
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140065490
movzx eax, al
test eax, eax
jne 0x14006fb7f
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140065490
movzx eax, al
test eax, eax
jne 0x14006fb7f
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14006fb78
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140065490
movzx eax, al
test eax, eax
jne 0x14006fb7f
mov byte [rsp + 0x3f], 0
jmp 0x14006fb84
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14006fbfa
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14006fbd1
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20d
call fcn.140065520
movzx eax, al
test eax, eax
jne 0x14006fbf3
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x273
call fcn.140065520
movzx eax, al
test eax, eax
jne 0x14006fbf3
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14006fbfa
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27b
call fcn.140065520
movzx eax, al
test eax, eax
je 0x14006fbfa
mov byte [rsp + 0x40], 1
jmp 0x14006fbff
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x40dc], 0
jne 0x14006fc44
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x14006fc44
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ba8]
mov dword [rax + 0x4bb4], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bc0], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x40dc], 0
je 0x14006fc6a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ba8]
cmp dword [rax + 0x40dc], ecx
jne 0x14006fc98
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14006fc98
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ba8]
mov dword [rax + 0x4bb4], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bc0], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x40dc], 0
je 0x14006fcbe
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ba8]
cmp dword [rax + 0x40dc], ecx
jne 0x14006fce6
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x14006fcd0
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14006fce6
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ba8]
mov dword [rax + 0x4bb8], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x40dc], 0
je 0x14006fd0c
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ba8]
cmp dword [rax + 0x40dc], ecx
jne 0x14006fd44
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x14006fd1e
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14006fd44
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ba8]
mov dword [rax + 0x4bbc], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x4ba8]
call fcn.14006d6f0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4ba0], 0
je 0x14006fd77
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4ba0]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x14006fd77
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bfa], 1
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4bdc]
comiss xmm0, dword [0x14021cfd8]
jbe 0x14006fdc1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x4bdc]
subss xmm0, dword [rcx + 0x10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.140079540
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4bdc], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4bdc]
ucomiss xmm0, dword [0x14021cfd8]
jp 0x14006fde8
jne 0x14006fde8
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bd8], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be0], 0
je 0x14006fe4e
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
mov dword [rax + 0x4bbc], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4bbc]
mov dword [rax + 0x4bb8], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4bb8]
mov dword [rax + 0x4bb4], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be4]
mov dword [rax + 0x4bc0], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4be0], 0
call fcn.140070540
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c48], 0xffffffff
jne 0x14006fe75
call fcn.140070ff0
call fcn.14006ee10
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bf8], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4ba0], 0
je 0x140070160
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4ba0]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x140070160
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d80], 0
jne 0x140070160
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4ba0]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.14004c370
mulss xmm0, dword [0x14021d394]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x14021d0f4]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x4c48]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x174]
test eax, eax
jne 0x140070017
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x17a]
test eax, eax
je 0x140070017
cmp dword [rsp + 0x48], 0xffffffff
je 0x140070017
cmp dword [rsp + 0x48], 0
je 0x14006ff5b
cmp dword [rsp + 0x48], 1
jne 0x14006ffb2
cmp dword [rsp + 0x48], 0
jne 0x14006ff72
movss xmm0, dword [0x14021d474]
movss dword [rsp + 0x7c], xmm0
jmp 0x14006ff80
movss xmm0, dword [0x14021d1cc]
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.140049310
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14006b700
cmp dword [rsp + 0x48], 2
je 0x14006ffc0
cmp dword [rsp + 0x48], 3
jne 0x140070017
cmp dword [rsp + 0x48], 2
jne 0x14006ffd7
movss xmm0, dword [0x14021d474]
movss dword [rsp + 0x64], xmm0
jmp 0x14006ffe5
movss xmm0, dword [0x14021d1cc]
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.140049310
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14006b740
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140070160
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0xc0]
call fcn.140064ab0
mov ecx, 0x281
call fcn.140065470
movzx eax, al
test eax, eax
je 0x14007006b
movss xmm0, dword [0x14021d044]
movss dword [rsp + 0x6c], xmm0
jmp 0x1400700a6
mov ecx, 0x282
call fcn.140065470
movzx eax, al
test eax, eax
je 0x14007008c
movss xmm0, dword [0x14021d32c]
movss dword [rsp + 0x68], xmm0
jmp 0x14007009a
movss xmm0, dword [0x14021d1cc]
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 [0x14021cfd8]
jp 0x1400700c6
je 0x140070111
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xc8]
test eax, eax
je 0x140070111
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.140049310
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14006b700
movss xmm0, dword [rsp + 0xc4]
ucomiss xmm0, dword [0x14021cfd8]
jp 0x140070125
je 0x140070160
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.140049310
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14006b740
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x140070193
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x140070193
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bfa], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x4bfb], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x1400701ce
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x1400701ce
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x1400701ce
lea rcx, [rsp + 0xb8]
call fcn.14006f010
mov rcx, rax
call fcn.140065c50
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c74], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.140121790
add rsp, 0x118
ret