Function at 0x46f740
Capabilities:
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61d429
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x50
push esi
push edi
mov eax, dword [0x6efb00]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x7ca4d8]
lea edx, [ebp - 0x44]
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 0x3e68]
mov dword [ebp - 0x1c], ecx
push ecx
mov dword [ebp - 0x44], 0x41700000
mov byte [eax + 0xac], 1
mov edi, dword [ecx + 0x3e68]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0x41700000
mov byte [edi + 0xac], 1
mov eax, dword [ecx + 0x3e68]
mov ecx, esi
movss xmm1, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
subss xmm1, dword [eax + 0x78]
subss xmm0, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm1, xmm3
addss xmm0, dword [ebx + 0x10]
movss dword [eax + 0xf0], xmm1
movss dword [eax + 0xf4], xmm0
call fcn.0046cd80
mov edx, dword [edi + 0xe4]
add esp, 4
mov ecx, dword [edi + 0xec]
mov byte [ebp - 0x12], al
push dword [ecx + edx*4 - 4]
xor edx, edx
mov ecx, esi
call fcn.00449230
mov ecx, dword [ebp - 0x3c]
mov edi, eax
add esp, 4
mov ecx, dword [ecx]
cmp dword [ecx + 0x3e9c], edi
jne 0x46f83f
push ecx
push esi
mov edx, 0xb
mov ecx, edi
call fcn.0045d3e0
add esp, 8
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x18], edi
mov ecx, dword [eax]
mov eax, dword [0x7cab40]
cmp eax, dword [ecx + 4]
jle 0x46f8c6
push 0x7cab40
call fcn.00619461
add esp, 4
cmp dword [0x7cab40], 0xffffffff
jne 0x46f8c6
mov dword [ebp - 4], 0
push 0x24
mov dword [0x7cab4c], 0
mov dword [0x7cab50], 0
call fcn.006196c5
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push 0x61e840
mov dword [0x7cab4c], eax
call fcn.00619a46
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x7cab40
call fcn.00619410
add esp, 4
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00470010
mov eax, dword [ebp - 0x2c]
mov esi, dword [0x7cab4c]
cmp byte [eax + 0xd], 0
jne 0x46f8e7
cmp edi, dword [eax + 0x10]
jae 0x46f8e9
mov eax, esi
cmp eax, esi
jne 0x46f9a5
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], edi
push eax
lea eax, [ebp - 0x48]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x58], xmm0
call fcn.00470010
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x34], xmm0
cmp byte [eax + 0xd], 0
jne 0x46f91f
cmp edi, dword [eax + 0x10]
jae 0x46f988
cmp dword [0x7cab50], 0x71c71c7
je 0x46fcd0
mov dword [ebp - 0x44], 0x7cab4c
mov dword [ebp - 4], 1
push 0x24
mov dword [ebp - 0x40], 0
call fcn.006196c5
mov dword [ebp - 4], 0xffffffff
add esp, 4
movups xmm0, xmmword [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], ecx
mov ecx, 0x7cab4c
push eax
push dword [ebp - 0x30]
mov dword [eax], esi
push dword [ebp - 0x34]
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov word [eax + 0xc], 0
call fcn.0045eaa0
mov esi, dword [0x7cab4c]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00470010
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0xd], 0
jne 0x46f9a3
cmp edi, dword [eax + 0x10]
jae 0x46f9a5
mov eax, esi
mov edx, dword [0x7ca4d8]
mov ecx, dword [ebp - 0x1c]
cmp byte [edx + 0x4827], 0
movss xmm6, dword [ecx + 0x18]
mov edi, dword [edx + 0x3e68]
je 0x46f9fc
cmp byte [edx + 0x4826], 0
jne 0x46f9fc
test byte [edx + 0x46e0], 4
je 0x46f9dd
mov byte [ebp - 0x11], 0
jmp 0x46fad0
mov ecx, dword [edx + 0x47f0]
cmp ecx, dword [edx + 0x46dc]
jne 0x46f9f3
test ecx, ecx
jne 0x46facc
mov byte [ebp - 0x11], 0
jmp 0x46fad0
mov ecx, dword [edx + 0x46e4]
test cl, 1
jne 0x46fa10
mov byte [ebp - 0x11], 0
jmp 0x46fad0
cmp dword [edx + 0x3e6c], edi
je 0x46fa25
test cl, cl
js 0x46fa25
mov byte [ebp - 0x11], 0
jmp 0x46fad0
mov ecx, dword [edx + 0x3eb4]
test ecx, ecx
je 0x46fa4e
cmp ecx, dword [edx + 0x46dc]
je 0x46fa4e
cmp byte [edx + 0x3ec1], 0
jne 0x46fa4e
cmp ecx, dword [edi + 0x70]
je 0x46fa4e
mov byte [ebp - 0x11], 0
jmp 0x46fad0
mov esi, dword [edx + 0x47ec]
test esi, esi
je 0x46faa5
mov esi, dword [esi + 0x300]
test esi, esi
je 0x46faa5
cmp byte [esi + 0xab], 0
je 0x46faa5
mov ecx, dword [edi + 0x300]
cmp esi, ecx
je 0x46faa5
test dword [esi + 0xc], 0xc000000
je 0x46faa5
cmp dword [ecx + 0x300], esi
je 0x46faa5
cmp ecx, esi
je 0x46faa5
mov ecx, dword [ecx + 0x2fc]
test ecx, ecx
jne 0x46fa86
test dword [edx + 0x46e0], 0x100
jne 0x46faa5
mov byte [ebp - 0x11], cl
jmp 0x46fad0
test byte [edx + 0x46e0], 4
je 0x46fab4
mov byte [ebp - 0x11], 0
jmp 0x46fad0
mov ecx, dword [edx + 0x46dc]
cmp ecx, dword [edi + 0x70]
jne 0x46facc
cmp byte [edi + 0xac], 0
mov byte [ebp - 0x11], 0
jne 0x46fad0
mov byte [ebp - 0x11], 1
cmp byte [ebp - 0x11], 0
lea edi, [eax + 0x14]
mulss xmm6, dword [0x6e6a58]
mov ecx, 0x6aba30
mov esi, 0x6aba20
cmove ecx, esi
movups xmm5, xmmword [ecx]
mov ecx, dword [0x7caad0]
movaps xmm0, xmm5
subss xmm0, dword [edi]
mulss xmm0, xmm6
addss xmm0, dword [edi]
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0x55
subss xmm0, dword [eax + 0x18]
mulss xmm0, xmm6
addss xmm0, dword [eax + 0x18]
movss dword [ebp - 0x34], xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xaa
subss xmm0, dword [eax + 0x1c]
shufps xmm5, xmm5, 0xff
subss xmm5, dword [eax + 0x20]
mulss xmm0, xmm6
mulss xmm5, xmm6
addss xmm0, dword [eax + 0x1c]
addss xmm5, dword [eax + 0x20]
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x2c], xmm5
movups xmm0, xmmword [ebp - 0x38]
movups xmmword [edi], xmm0
mov eax, dword [edx + 0x3be8]
movss xmm0, dword [edx + 0x46e8]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [edx + 0x46ec]
movss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x40], eax
call fcn.004548a0
mov ecx, dword [0x7ca4d8]
xorps xmm1, xmm1
mov esi, dword [ebp - 0x24]
movss xmm2, dword [ecx + 0x3bec]
test esi, esi
je 0x46fbdb
movss xmm3, dword [0x6e6b0c]
lea eax, [ebp - 0x28]
push ecx
push 0
push esi
push ecx
mov ecx, dword [ecx + 0x3be8]
mov dword [esp], 0xbf800000
push eax
call fcn.00465170
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [0x6e69f8]
movss xmm2, dword [ebp - 0x24]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x6e6a78]
mov ecx, edi
subss xmm0, xmm1
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 0x264]
mulss xmm0, dword [0x6e69c0]
addss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [0x6e6a54]
subss xmm0, xmm2
mulss xmm0, dword [0x6e69c0]
addss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
call fcn.00449800
mov edi, eax
test edi, 0xff000000
je 0x46fc7e
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x24], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46fc40
sub ecx, dword [ebp - 0x24]
add ecx, esi
cmp esi, ecx
je 0x46fc7e
mov eax, dword [edx + 0x2c]
movups xmm0, xmmword [edx + 0x60]
push 0
push ecx
movss xmm2, dword [eax + 0xc]
mov dword [esp], 0
push ecx
push esi
lea ecx, [ebp - 0x38]
push ecx
push edi
lea ecx, [ebp - 0x20]
push ecx
mov ecx, dword [eax + 8]
push edx
movups xmmword [ebp - 0x38], xmm0
call fcn.00465320
mov ecx, dword [ebp - 0x40]
call fcn.004548a0
mov eax, dword [ebx + 0x14]
sub eax, 1
je 0x46fcc1
sub eax, 1
mov al, byte [ebp - 0x12]
jne 0x46fcab
test al, al
je 0x46fcab
push 6
push dword [0x7caab8]
call dword [sym.imp.USER32.dll_ShowWindow]
mov al, byte [ebp - 0x12]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
mov al, byte [ebp - 0x12]
test al, al
je 0x46fcab
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.004487e0
int3