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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x140151388]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x1401538d8]
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 + 0xcd], 0
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x140067193
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x140067193
mov byte [rsp + 0x3b], 1
jmp 0x140067198
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 0x140067297
lea rax, [rsp + 0xe8]
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 + 0xb0], rax
jmp 0x140067250
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x80], rax
je 0x140067297
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x9c], eax
mov ecx, dword [rsp + 0x9c]
call fcn.140062150
movzx eax, al
test eax, eax
je 0x140067295
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cec], 3
jmp 0x14006723c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x1400672ac
mov byte [rsp + 0x3c], 1
jmp 0x1400672b1
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 0x1400673a5
lea rax, [rsp + 0xc8]
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 + 0xb8], rax
jmp 0x14006735e
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb8]
cmp qword [rsp + 0x88], rax
je 0x1400673a5
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x98], eax
mov ecx, dword [rsp + 0x98]
call fcn.140062150
movzx eax, al
test eax, eax
je 0x1400673a3
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cec], 2
jmp 0x14006734a
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cd8], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4d10], 0
je 0x1400673c7
call fcn.140065330
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4d05], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4d06], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4d10], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4d48]
test eax, eax
je 0x140067403
call fcn.140065650
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4d8c], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4d49], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4d48], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4d01]
test eax, eax
je 0x140067483
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4d00]
test eax, eax
je 0x140067483
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4d02]
test eax, eax
jne 0x140067483
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4d03]
test eax, eax
je 0x140067483
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cb8], 0
je 0x140067483
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4d01], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cb8], 0
je 0x1400674af
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4cb8]
call fcn.140066a30
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cb8], 0
je 0x1400674f9
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4cb8]
cmp qword [rax + 0x3e8], 0
je 0x1400674f9
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4cf0], 0
jne 0x1400674f9
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4cb8]
mov qword [rax + 0x3e8], 0
call fcn.1400699e0
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x140067510
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140067541
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cb8], 0
je 0x140067541
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4cb8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x140067541
mov dword [rsp + 0x74], 1
jmp 0x140067549
mov dword [rsp + 0x74], 0
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x74]
mov byte [rax + 0xcf], cl
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xcf]
test eax, eax
je 0x140067587
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4cc0], 0
je 0x140067587
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4d02]
test eax, eax
je 0x1400675a0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4e98], 0
jne 0x1400675a0
mov dword [rsp + 0x78], 0
jmp 0x1400675a8
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xd0], cl
call fcn.140067db0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cd0], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4ccc], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cc8], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cd4], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4cc0], 0
je 0x1400678ef
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4d02]
test eax, eax
jne 0x1400678ef
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4e98], 0
jne 0x1400678ef
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cb8], 0
je 0x1400678ef
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4cb8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1400678ef
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14006767b
mov ecx, 0x20c
call fcn.140062150
movzx eax, al
test eax, eax
jne 0x14006769c
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140067695
mov ecx, 0x27c
call fcn.140062150
movzx eax, al
test eax, eax
jne 0x14006769c
mov byte [rsp + 0x3d], 0
jmp 0x1400676a1
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x1400676f2
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1400676cf
xor edx, edx
mov ecx, 0x20c
call fcn.140062300
movzx eax, al
test eax, eax
jne 0x1400676eb
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400676f2
xor edx, edx
mov ecx, 0x27c
call fcn.140062300
movzx eax, al
test eax, eax
je 0x1400676f2
mov byte [rsp + 0x3e], 1
jmp 0x1400676f7
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14006772b
mov ecx, 0x20d
call fcn.140062150
movzx eax, al
test eax, eax
jne 0x14006774c
mov ecx, 0x273
call fcn.140062150
movzx eax, al
test eax, eax
jne 0x14006774c
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140067745
mov ecx, 0x27b
call fcn.140062150
movzx eax, al
test eax, eax
jne 0x14006774c
mov byte [rsp + 0x3f], 0
jmp 0x140067751
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400677b5
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140067792
xor edx, edx
mov ecx, 0x20d
call fcn.140062300
movzx eax, al
test eax, eax
jne 0x1400677ae
xor edx, edx
mov ecx, 0x273
call fcn.140062300
movzx eax, al
test eax, eax
jne 0x1400677ae
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1400677b5
xor edx, edx
mov ecx, 0x27b
call fcn.140062300
movzx eax, al
test eax, eax
je 0x1400677b5
mov byte [rsp + 0x40], 1
jmp 0x1400677ba
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x41ac], 0
jne 0x1400677ff
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1400677ff
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4cc0]
mov dword [rax + 0x4cc8], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cd4], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x41ac], 0
je 0x140067825
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4cc0]
cmp dword [rax + 0x41ac], ecx
jne 0x140067853
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x140067853
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4cc0]
mov dword [rax + 0x4cc8], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cd4], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x41ac], 0
je 0x140067879
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4cc0]
cmp dword [rax + 0x41ac], ecx
jne 0x1400678a1
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x14006788b
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x1400678a1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4cc0]
mov dword [rax + 0x4ccc], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x41ac], 0
je 0x1400678c7
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4cc0]
cmp dword [rax + 0x41ac], ecx
jne 0x1400678ef
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x1400678d9
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1400678ef
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4cc0]
mov dword [rax + 0x4cd0], ecx
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cb8], 0
je 0x140067922
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4cb8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x140067922
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4d02], 1
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4ce4], 0
je 0x14006798d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ce4]
mov dword [rax + 0x4cd0], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4cd0]
mov dword [rax + 0x4ccc], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ccc]
mov dword [rax + 0x4cc8], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4ce8]
mov dword [rax + 0x4cd4], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4ce4], 0
call fcn.1400680c0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4d58], 0xffffffff
jne 0x1400679b4
call fcn.140068f20
call fcn.140067d40
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4d00], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cb8], 0
je 0x140067cab
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4cb8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x140067cab
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4e98], 0
jne 0x140067cab
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4cb8]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.140043450
mulss xmm0, dword [0x14011d484]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x140116c64]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x4d58]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x19c]
test eax, eax
jne 0x140067b5c
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x1a2]
test eax, eax
je 0x140067b5c
cmp dword [rsp + 0x48], 0xffffffff
je 0x140067b5c
cmp dword [rsp + 0x48], 0
je 0x140067a9a
cmp dword [rsp + 0x48], 1
jne 0x140067af4
cmp dword [rsp + 0x48], 0
jne 0x140067ab1
movss xmm0, dword [0x140116c8c]
movss dword [rsp + 0x7c], xmm0
jmp 0x140067abf
movss xmm0, dword [0x140116c6c]
movss dword [rsp + 0x7c], xmm0
movss xmm0, dword [rsp + 0x7c]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0xc0]
addss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140076420
cmp dword [rsp + 0x48], 2
je 0x140067b02
cmp dword [rsp + 0x48], 3
jne 0x140067b5c
cmp dword [rsp + 0x48], 2
jne 0x140067b19
movss xmm0, dword [0x140116c8c]
movss dword [rsp + 0x64], xmm0
jmp 0x140067b27
movss xmm0, dword [0x140116c6c]
movss dword [rsp + 0x64], xmm0
movss xmm0, dword [rsp + 0x64]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0xc4]
addss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140076460
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140067cab
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0x90]
call fcn.14005cff0
mov ecx, 0x281
call fcn.140062150
movzx eax, al
test eax, eax
je 0x140067bb0
movss xmm0, dword [0x140116c60]
movss dword [rsp + 0x6c], xmm0
jmp 0x140067beb
mov ecx, 0x282
call fcn.140062150
movzx eax, al
test eax, eax
je 0x140067bd1
movss xmm0, dword [0x14011d458]
movss dword [rsp + 0x68], xmm0
jmp 0x140067bdf
movss xmm0, dword [0x140116c6c]
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 [0x14011d3b4]
jp 0x140067c0b
je 0x140067c59
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xf0]
test eax, eax
je 0x140067c59
movss xmm0, dword [rsp + 0x90]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0xc0]
addss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140076420
movss xmm0, dword [rsp + 0x94]
ucomiss xmm0, dword [0x14011d3b4]
jp 0x140067c6d
je 0x140067cab
movss xmm0, dword [rsp + 0x94]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0xc4]
addss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140076460
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x140067cde
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x140067cde
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4d02], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x4d03], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x140067d19
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x140067d19
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x140067d19
lea rcx, [rsp + 0xc0]
call fcn.140064e30
mov rcx, rax
call fcn.140077e40
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4d84], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.14010ef70
add rsp, 0x118
ret