Function at 0x4760d0
Capabilities:
Create directory
Create thread
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x6efb00]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x7caae4], 0
movaps xmm6, xmmword [0x6e6c20]
push esi
push edi
mov edi, dword [0x7ca4ac]
jne 0x47643a
mov eax, dword [0x6e68b0]
xor edx, edx
movq xmm0, qword [0x6e68a8]
mov dword [ebp - 0x18], eax
mov al, byte [0x6e68b4]
movq qword [ebp - 0x20], xmm0
mov byte [ebp - 0x14], al
mov dword [ebp - 0x54], edx
cmp edi, 2
jl 0x476211
movaps xmm2, xmmword [0x6e6b90]
mov edx, 8
movaps xmm3, xmmword [0x6e6f40]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov dword [ebp - 0x54], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x6e6bc0]
psubd xmm2, xmm0
movd xmm0, dword [0x6e68a8]
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.8888888888888888]
xorps xmm2, xmm0
movd dword [ebp - 0x20], xmm2
movaps xmm2, xmmword [0x6e6ba0]
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x6e6bc0]
psubd xmm2, xmm0
movd xmm0, dword [ebp - 0x1c]
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.8888888888888888]
xorps xmm2, xmm0
movd dword [ebp - 0x1c], xmm2
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x54]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x20], cl
inc edx
mov dword [ebp - 0x54], edx
cmp edx, 0xd
jl 0x476211
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x20]
push 0
push eax
call esi
mov ax, word [0x6e68f4]
xor edx, edx
movq xmm0, qword [0x6e68ec]
mov word [ebp - 0x14], ax
mov al, byte [0x6e68f6]
movq qword [ebp - 0x1c], xmm0
mov byte [ebp - 0x12], al
mov dword [ebp - 0x54], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x54]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1c], cl
inc edx
mov dword [ebp - 0x54], edx
cmp edx, 0xb
jl 0x476271
push 0
lea eax, [ebp - 0x1c]
push eax
call esi
mov eax, dword [0x6e6978]
xor edx, edx
mov dword [ebp - 0x30], eax
mov ax, word [0x6e697c]
mov word [ebp - 0x2c], ax
mov al, byte [0x6e697e]
mov byte [ebp - 0x2a], al
mov dword [ebp - 0x54], edx
movups xmm0, xmmword [0x6e6968]
movups xmmword [ebp - 0x40], xmm0
cmp edi, 2
jl 0x4763e1
movaps xmm0, xmmword [str.8888888888888888]
movaps xmm5, xmmword [0x6e6b90]
movaps xmm3, xmmword [0x6e6f40]
movaps xmm6, xmmword [0x6e6bc0]
movaps xmm4, xmmword [0x6e6c20]
movaps xmmword [ebp - 0x20], xmm0
mov ecx, dword [ebp - 0x20]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm5
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x40]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x40], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm5
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x3c]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x3c], xmm2
add edx, 8
cmp edx, 0x10
jl 0x476300
mov dword [ebp - 0x54], edx
cmp edx, 0x17
jge 0x47640f
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x54]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x40], cl
inc edx
mov dword [ebp - 0x54], edx
cmp edx, 0x17
jl 0x4763e1
push 0
lea eax, [ebp - 0x40]
push eax
call esi
push 0
push 0
push 0
push 0x4745b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
movaps xmm6, xmmword [0x6e6c20]
mov byte [0x7caae4], 1
cmp byte [0x6e682f], 0
movq xmm0, qword [str.uXSU]
mov eax, dword [0x6e682c]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], eax
je 0x476571
xor edx, edx
mov dword [ebp - 0x54], edx
cmp edi, 2
jl 0x476543
movaps xmm3, xmmword [0x6e6b90]
mov edx, 8
movaps xmm4, xmmword [0x6e6f40]
movaps xmm1, xmm3
mov eax, dword [str.8888888888888888]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x6e6ba0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov dword [ebp - 0x54], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x6e6bc0]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmm6
movd xmm0, eax
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
movd xmm0, dword [str.uXSU]
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x1c], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x6e6bc0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp - 0x18]
xorps xmm2, xmm0
movd dword [ebp - 0x18], xmm2
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x54]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1c], cl
inc edx
mov dword [ebp - 0x54], edx
cmp edx, 0xc
jl 0x476543
movss xmm0, dword [0x6aba9c]
lea ecx, [ebp - 0x1c]
mov eax, dword [0x7ca4d8]
xor edx, edx
movss dword [ebp - 0x5c], xmm0
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [0x6abaa0]
push 0xbb
movss dword [ebp - 0x54], xmm0
movss dword [ebp - 0x44], xmm0
mov dword [eax + 0x37b0], 0x40c00000
mov dword [eax + 0x37a0], 0x3f800000
call fcn.004515f0
mov esi, dword [0x7ca4d8]
lea edx, [ebp - 0x48]
add esp, 4
mov ecx, dword [esi + 0x3e68]
push 0
call fcn.00454ac0
movss xmm0, dword [ebp - 0x5c]
add esp, 4
subss xmm0, dword [0x6e6a00]
mov eax, dword [esi + 0x3e68]
mov dword [ebp - 0x68], 0
push 0
push ecx
movss dword [ebp - 0x48], xmm0
mov ecx, 0x6aba10
movss xmm0, dword [ebp - 0x54]
subss xmm0, dword [0x6e6a00]
mov byte [eax + 0xac], 1
mov dword [ebp - 0x64], 0
mov dword [esp], 0x40c00000
movss dword [ebp - 0x44], xmm0
call fcn.00449800
mov ecx, dword [esi + 0x3e68]
push eax
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ecx + 0x264]
lea eax, [ebp - 0x68]
push eax
call fcn.00461ce0
call fcn.004498d0
mov eax, dword [0x7ca4d8]
movups xmm0, xmmword [0x6aba00]
push 0x7caabc
push dword [0x7caab8]
mov dword [eax + 0x37b4], 0
mov dword [eax + 0x37b0], 0x40c00000
mov dword [eax + 0x37cc], 0x40c00000
mov dword [eax + 0x37e8], 0
mov dword [eax + 0x37e4], 0x40000000
mov dword [eax + 0x37a8], 0
mov dword [eax + 0x37ac], 0
movups xmmword [eax + 0x38b8], xmm0
mov dword [eax + 0x3814], 0x40a00000
mov dword [eax + 0x3818], 0x41200000
mov dword [eax + 0x37ec], 0x41200000
mov dword [eax + 0x37f0], 0x41700000
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [0x7ca4d8]
movd xmm0, dword [0x7caac0]
cvtdq2ps xmm0, xmm0
push 1
mov ecx, dword [eax + 0x3e68]
push 0x1a9
push 0x271
addss xmm0, dword [ecx + 0x18]
cvttss2si eax, xmm0
movd xmm0, dword [0x7caabc]
cvtdq2ps xmm0, xmm0
push eax
addss xmm0, dword [ecx + 0x14]
cvttss2si eax, xmm0
push eax
push dword [0x7caab8]
call dword [sym.imp.USER32.dll_MoveWindow]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
push 0
mov edi, dword [0x7ca4d8]
lea edx, [ebp - 0x48]
mov ecx, dword [edi + 0x3e68]
call fcn.00454960
mov esi, dword [0x7caa84]
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov eax, 0x92492493
mov ecx, dword [0x7caa88]
add esp, 4
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x47680f
xor edi, edi
nop
movss xmm0, dword [esi + edi + 0xc]
mulss xmm0, dword [0x6e699c]
mulss xmm0, dword [0x6e6aa8]
addss xmm0, dword [esi + edi + 4]
movss dword [esi + edi + 4], xmm0
xorps xmm0, xmm0
mov esi, dword [0x7caa84]
comiss xmm0, dword [esi + edi + 4]
jbe 0x4767df
mov dword [esi + edi + 4], 0x43ed8000
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdq
mov ecx, 0x2bc
idiv ecx
mov eax, dword [0x7caa84]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [eax + edi], xmm0
mov esi, dword [0x7caa84]
mov ecx, dword [0x7caa88]
mov eax, 0x92492493
inc dword [ebp - 0x54]
sub ecx, esi
imul ecx
add edi, 0x1c
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x54], eax
jb 0x476780
mov edi, dword [0x7ca4d8]
mov ecx, dword [0x7caa88]
mov eax, 0x92492493
sub ecx, esi
mov dword [ebp - 0x5c], 0
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4768ef
xor edx, edx
mov dword [ebp - 0x54], edx
nop dword [eax]
mov eax, dword [edi + 0x3e68]
mov byte [eax + 0xac], 1
mov eax, dword [edi + 0x3e68]
mov esi, dword [eax + 0x264]
mov eax, dword [0x7caa84]
movss xmm2, dword [eax + edx + 0x14]
lea ecx, [eax + edx]
mov edx, dword [ecx + 0x18]
test edx, 0xff000000
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x54]
je 0x4768bc
movss xmm0, dword [0x6e69c0]
comiss xmm0, xmm2
ja 0x4768bc
push ecx
push 0x30
push 0
push ecx
mov ecx, esi
call fcn.00460f00
mov eax, dword [esi + 0x54]
mov ecx, esi
push dword [ebp - 0x64]
dec eax
push eax
push dword [esi + 0x5c]
mov dword [esi + 0x54], eax
call fcn.00460af0
mov edi, dword [0x7ca4d8]
mov edx, dword [ebp - 0x54]
mov dword [esi + 0x54], 0
mov eax, dword [0x7caa84]
mov ecx, dword [0x7caa88]
add edx, 0x1c
mov esi, dword [ebp - 0x5c]
sub ecx, eax
mov dword [ebp - 0x54], edx
mov eax, 0x92492493
imul ecx
inc esi
add edx, ecx
mov dword [ebp - 0x5c], esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x54]
cmp esi, eax
jb 0x476840
mov eax, dword [edi + 0x3e68]
mov byte [eax + 0xac], 1
mov eax, dword fs:[0x2c]
movss xmm0, dword [edi + 0x18]
mulss xmm0, dword [0x6e6a54]
mov ecx, dword [eax]
mov eax, dword [0x7cab64]
movss dword [ebp - 0x44], xmm0
cmp eax, dword [ecx + 4]
jle 0x476953
push 0x7cab64
call fcn.00619461
add esp, 4
cmp dword [0x7cab64], 0xffffffff
jne 0x476953
movss xmm0, dword [edi + 0x18]
push 0x7cab64
movss dword [0x7cab60], xmm0
call fcn.00619410
add esp, 4
movss xmm3, dword [0x6e6ae0]
push 2
push ecx
mov dword [esp], 0x41100000
push 0x6e57a4
push str.Mini
call fcn.0046f740
movss xmm3, dword [0x6e6ae8]
push 1
push ecx
mov dword [esp], 0x41100000
push 0x6e57b0
push str.Close
call fcn.0046f740
cmp byte [0x6e6815], 0
movq xmm0, qword [str.uzojqm]
mov ax, word [0x6e6814]
movq qword [ebp - 0x7c], xmm0
mov word [ebp - 0x74], ax
je 0x4769e7
xor edx, edx
mov dword [ebp - 0x5c], edx
nop word [eax + eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x5c]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x7c], cl
inc edx
mov dword [ebp - 0x5c], edx
cmp edx, 0xa
jl 0x4769c0
mov ecx, dword [0x7ca4d8]
movups xmm0, xmmword [0x6aba8c]
mov eax, dword [ecx + 0x3be8]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx + 0x3e68]
movups xmmword [ebp - 0x20], xmm0
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
lea ecx, [ebp - 0x20]
mov esi, dword [eax + 0x264]
call fcn.00449800
mov edx, dword [0x7cab10]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x18], 0x41700000
mov dword [ebp - 0x14], 0x41700000
test eax, 0xff000000
je 0x476a9f
lea ecx, [ebp - 0x7c]
lea eax, [ecx + 1]
mov dword [ebp - 0x64], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x476a50
sub ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x7c]
add ecx, eax
cmp eax, ecx
je 0x476a9f
test edx, edx
jne 0x476a6d
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 8]
movups xmm0, xmmword [esi + 0x60]
lea eax, [ebp - 0x7c]
movss xmm2, dword [0x6e6a88]
push 0
push ecx
mov dword [esp], 0
push ecx
push eax
lea eax, [ebp - 0x70]
mov ecx, edx
push eax
push dword [ebp - 0x5c]
lea eax, [ebp - 0x18]
push eax
push esi
movups xmmword [ebp - 0x70], xmm0
call fcn.00465320
mov ecx, dword [ebp - 0x54]
call fcn.004548a0
cmp byte [0x6e6941], 0
movq xmm0, qword [0x6e6938]
mov ax, word [0x6e6940]
movq qword [ebp - 0x88], xmm0
mov word [ebp - 0x80], ax
je 0x476afa
xor edx, edx
mov dword [ebp - 0x5c], edx
nop
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x5c]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x88], cl
inc edx
mov dword [ebp - 0x5c], edx
cmp edx, 0xa
jl 0x476ad0
mov ecx, dword [0x7ca4d8]
movups xmm0, xmmword [0x6aba8c]
mov eax, dword [ecx + 0x3be8]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx + 0x3e68]
movups xmmword [ebp - 0x20], xmm0
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
lea ecx, [ebp - 0x20]
mov esi, dword [eax + 0x264]
call fcn.00449800
mov edx, dword [0x7caacc]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x18], 0x44064000
mov dword [ebp - 0x14], 0x43c58000
test eax, 0xff000000
je 0x476bb5
lea ecx, [ebp - 0x88]
lea eax, [ecx + 1]
mov dword [ebp - 0x64], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x476b60
sub ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x88]
add ecx, eax
cmp eax, ecx
je 0x476bb5
test edx, edx
jne 0x476b80
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 8]
movups xmm0, xmmword [esi + 0x60]
lea eax, [ebp - 0x88]
movss xmm2, dword [0x6e6a78]
push 0
push ecx
mov dword [esp], 0
push ecx
push eax
lea eax, [ebp - 0x70]
mov ecx, edx
push eax
push dword [ebp - 0x5c]
lea eax, [ebp - 0x18]
push eax
push esi
movups xmmword [ebp - 0x70], xmm0
call fcn.00465320
mov ecx, dword [ebp - 0x54]
call fcn.004548a0
movss xmm0, dword [0x7cab60]
movss xmm2, dword [0x6e6a54]
comiss xmm2, xmm0
movss xmm1, dword [0x7caab0]
movss dword [edi + 0x37a0], xmm1
jb 0x476c0c
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x6e6a20]
cvtpd2ps xmm0, xmm0
movss dword [0x7cab60], xmm0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006193d7
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [0x7ca4d8]
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x54], 0x3f800000
mov dword [ebp - 0x64], 0
movss xmm0, dword [eax + 0x18]
lea eax, [ebp - 0x5c]
addss xmm0, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm0
movss dword [ebp - 0x5c], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x6e6a00]
cmovbe eax, ecx
cmp dword [0x7cab14], 0
movss xmm0, dword [eax]
sete al
movzx eax, al
push eax
sub esp, 0x1c
movss dword [0x7caab0], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x41e00000
mov dword [esp + 0xc], 0x43430000
call fcn.0046ebb0
test al, al
je 0x476c9b
mov dword [0x7cab14], 0
jmp 0x476ca8
cmp dword [0x7cab14], 0
jne 0x477697
movss xmm1, dword [0x6e6ad0]
sub esp, 8
subss xmm1, dword [0x7c6e20]
movss xmm3, dword [ebp - 0x44]
movss xmm2, dword [0x6e6a78]
subss xmm2, dword [0x7c6e0c]
mov dword [esp + 4], 0x437a0000
mulss xmm1, xmm3
mov dword [esp], 0x439d8000
push str.Selectable_Games
mulss xmm2, xmm3
addss xmm1, dword [0x7c6e20]
addss xmm2, dword [0x7c6e0c]
movss dword [0x7c6e20], xmm1
movss xmm1, dword [0x6e6aec]
subss xmm1, dword [0x7c6e24]
movss dword [0x7c6e0c], xmm2
mulss xmm1, xmm3
movss xmm3, dword [0x6e6aa0]
addss xmm1, dword [0x7c6e24]
movss dword [0x7c6e24], xmm1
call fcn.0046e160
cmp dword [0x7cab04], 1
movss xmm3, dword [0x6e6a6c]
sete al
movzx eax, al
push eax
sub esp, 0x14
mov dword [esp + 0x10], 0x42d20000
mov dword [esp + 0xc], 0x43910000
mov dword [esp + 8], 0x41700000
call fcn.0046f050
test al, al
je 0x476d92
mov dword [0x7cab04], 1
mov dword [0x7ca500], 0
mov byte [0x7ca4d6], 1
mov ecx, dword [0x7ca4d8]
mov eax, dword [ecx + 0x3e68]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
cmp byte [eax + 0xaf], 0
jne 0x476dd2
movss xmm1, dword [0x6e6b18]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.00456ab0
call fcn.0044ef90
movss xmm3, dword [0x7c6e20]
sub esp, 8
movss xmm2, dword [0x6e6a78]
mov dword [esp + 4], 0x42860000
mov dword [esp], 0x439d8000
push str.Status:
call fcn.0046e160
mov ecx, dword [0x7ca4d8]
movss xmm7, dword [0x7c6e20]
movups xmm0, xmmword [0x6aba8c]
mov eax, dword [ecx + 0x3e68]
mov edi, dword [ecx + 0x3be8]
addss xmm7, dword [0x6e6a68]
movups xmmword [ebp - 0x20], xmm0
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
lea ecx, [ebp - 0x20]
mov edx, dword [eax + 0x264]
call fcn.00449800
mov ecx, dword [0x7caacc]
mov esi, eax
mov dword [ebp - 0x18], 0x41a00000
movss dword [ebp - 0x14], xmm7
test esi, 0xff000000
je 0x476ea4
test ecx, ecx
jne 0x476e71
mov eax, dword [edx + 0x2c]
mov ecx, dword [eax + 8]
movups xmm0, xmmword [edx + 0x60]
lea eax, [ebp - 0x50]
movss xmm2, dword [0x6e6a74]
push 0
push ecx
mov dword [esp], 0
push 0x6e57f0
push str.Current:
push eax
push esi
lea eax, [ebp - 0x18]
push eax
push edx
movups xmmword [ebp - 0x50], xmm0
call fcn.00465320
mov ecx, edi
call fcn.004548a0
mov ecx, dword [0x7ca4d8]
mov edx, 0x7caa6c
cmp dword [0x7caa80], 0xf
movss xmm7, dword [0x7c6e20]
cmova edx, dword [0x7caa6c]
mov eax, dword [ecx + 0x3be8]
movups xmm0, xmmword [0x6aba8c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 0x3e68]
addss xmm7, dword [0x6e6a68]
movups xmmword [ebp - 0x20], xmm0
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
lea ecx, [ebp - 0x20]
mov edi, dword [eax + 0x264]
call fcn.00449800
mov esi, dword [0x7caacc]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x18], 0x42c80000
movss dword [ebp - 0x14], xmm7
test eax, 0xff000000
je 0x476f79
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x44], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x476f30
sub ecx, dword [ebp - 0x44]
add ecx, edx
cmp edx, ecx
je 0x476f79
test esi, esi
jne 0x476f4a
mov eax, dword [edi + 0x2c]
mov esi, dword [eax + 8]
movups xmm0, xmmword [edi + 0x60]
lea eax, [ebp - 0x50]
movss xmm2, dword [0x6e6a74]
push 0
push ecx
mov dword [esp], 0
push ecx
push edx
push eax
push dword [ebp - 0x64]
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push edi
movups xmmword [ebp - 0x50], xmm0
call fcn.00465320
mov ecx, dword [ebp - 0x5c]
call fcn.004548a0
mov ecx, dword [0x7ca4d8]
movss xmm7, dword [0x7c6e20]
movups xmm0, xmmword [0x6aba8c]
mov eax, dword [ecx + 0x3e68]
mov edi, dword [ecx + 0x3be8]
addss xmm7, dword [0x6e6a68]
movups xmmword [ebp - 0x20], xmm0
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
lea ecx, [ebp - 0x20]
mov edx, dword [eax + 0x264]
call fcn.00449800
mov ecx, dword [0x7caacc]
mov esi, eax
mov dword [ebp - 0x18], 0x43160000
movss dword [ebp - 0x14], xmm7
test esi, 0xff000000
je 0x477022
test ecx, ecx
jne 0x476fef
mov eax, dword [edx + 0x2c]
mov ecx, dword [eax + 8]
movups xmm0, xmmword [edx + 0x60]
lea eax, [ebp - 0x50]
movss xmm2, dword [0x6e6a74]
push 0
push ecx
mov dword [esp], 0
push 0x6e57f9
push str.Last:
push eax
push esi
lea eax, [ebp - 0x18]
push eax
push edx
movups xmmword [ebp - 0x50], xmm0
call fcn.00465320
mov ecx, edi
call fcn.004548a0
mov ecx, dword [0x7ca4d8]
mov edx, 0x7caa54
cmp dword [0x7caa68], 0xf
movss xmm7, dword [0x7c6e20]
cmova edx, dword [0x7caa54]
mov eax, dword [ecx + 0x3be8]
movups xmm0, xmmword [0x6aba8c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 0x3e68]
addss xmm7, dword [0x6e6a68]
movups xmmword [ebp - 0x20], xmm0
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
lea ecx, [ebp - 0x20]
mov edi, dword [eax + 0x264]
call fcn.00449800
mov esi, dword [0x7caacc]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x18], 0x43660000
movss dword [ebp - 0x14], xmm7
test eax, 0xff000000
je 0x4770f9
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x44], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4770b0
sub ecx, dword [ebp - 0x44]
add ecx, edx
cmp edx, ecx
je 0x4770f9
test esi, esi
jne 0x4770ca
mov eax, dword [edi + 0x2c]
mov esi, dword [eax + 8]
movups xmm0, xmmword [edi + 0x60]
lea eax, [ebp - 0x50]
movss xmm2, dword [0x6e6a74]
push 0
push ecx
mov dword [esp], 0
push ecx
push edx
push eax
push dword [ebp - 0x64]
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push edi
movups xmmword [ebp - 0x50], xmm0
call fcn.00465320
mov ecx, dword [ebp - 0x5c]
call fcn.004548a0
mov eax, dword [0x7ca4f8]
xorps xmm0, xmm0
movss dword [ebp - 0x5c], xmm0
test eax, eax
jle 0x477135
movd xmm1, dword [0x7ca4fc]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, dword [0x6e6aac]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebp - 0x5c], xmm1
mov ecx, dword [0x7ca4d8]
movss xmm7, dword [0x7c6e20]
movups xmm0, xmmword [0x6aba8c]
mov eax, dword [ecx + 0x3e68]
mov edi, dword [ecx + 0x3be8]
addss xmm7, dword [0x6e6a8c]
movups xmmword [ebp - 0x20], xmm0
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
lea ecx, [ebp - 0x20]
mov edx, dword [eax + 0x264]
call fcn.00449800
mov ecx, dword [0x7caacc]
mov esi, eax
mov dword [ebp - 0x18], 0x41a00000
movss dword [ebp - 0x14], xmm7
test esi, 0xff000000
je 0x4771d6
test ecx, ecx
jne 0x4771a3
mov eax, dword [edx + 0x2c]
mov ecx, dword [eax + 8]
movups xmm0, xmmword [edx + 0x60]
lea eax, [ebp - 0x50]
movss xmm2, dword [0x6e6a74]
push 0
push ecx
mov dword [esp], 0
push 0x6e5801
push str.Size:
push eax
push esi
lea eax, [ebp - 0x18]
push eax
push edx
movups xmmword [ebp - 0x50], xmm0
call fcn.00465320
mov ecx, edi
call fcn.004548a0
movups xmm0, xmmword [0x6aba8c]
mov esi, dword [0x7ca4f4]
mov edi, dword [0x7ca4f0]
movups xmmword [ebp - 0x40], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x68], xmm0
movlpd qword [ebp - 0x48], xmm0
test esi, esi
jne 0x47721b
cmp edi, 0x400
jae 0x47721b
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x68]
jmp 0x477265
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x68]
nop word [eax + eax]
test edx, edx
ja 0x477265
jb 0x47723b
cmp eax, 4
jae 0x477265
mov ecx, edi
mov dword [ebp - 0x54], 0
and ecx, 0x3ff
add eax, 1
adc edx, 0
shrd edi, esi, 0xa
shr esi, 0xa
test esi, esi
ja 0x477230
jb 0x477265
cmp edi, 0x400
jae 0x477230
push dword [eax*4 + 0x6e6880]
mov edx, dword [ebp - 0x54]
call fcn.0061a1d0
cvtss2sd xmm0, xmm0
mov edx, esi
mov ecx, edi
mulsd xmm0, qword [0x6e69e8]
movsd qword [ebp - 0x18], xmm0
call fcn.0061a1d0
movsd xmm1, qword [ebp - 0x18]
sub esp, 8
cvtss2sd xmm0, xmm0
addsd xmm1, xmm0
movsd qword [esp], xmm1
push str._.1f__s
push 0x7cab78
call fcn.00470c70
mov ecx, dword [0x7ca4d8]
add esp, 0x14
movss xmm7, dword [0x7c6e20]
movups xmm0, xmmword [ebp - 0x40]
mov eax, dword [ecx + 0x3be8]
addss xmm7, dword [0x6e6a8c]
mov dword [ebp - 0x64], eax
mov eax, dword [ecx + 0x3e68]
movups xmmword [ebp - 0x40], xmm0
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
lea ecx, [ebp - 0x40]
mov esi, dword [eax + 0x264]
call fcn.00449800
mov edx, dword [0x7caacc]
mov edi, eax
mov dword [ebp - 0x18], 0x42c80000
movss dword [ebp - 0x14], xmm7
test edi, 0xff000000
je 0x477377
mov ecx, 0x7cab78
lea eax, [ecx + 1]
mov dword [ebp - 0x44], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477324
sub ecx, dword [ebp - 0x44]
lea ecx, [ecx + 0x7cab78]
cmp ecx, 0x7cab78
je 0x477377
test edx, edx
jne 0x477346
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 8]
movups xmm0, xmmword [esi + 0x60]
lea eax, [ebp - 0x40]
movss xmm2, dword [0x6e6a74]
push 0
push ecx
mov dword [esp], 0
push ecx
push 0x7cab78
push eax
push edi
lea eax, [ebp - 0x18]
mov ecx, edx
push eax
push esi
movups xmmword [ebp - 0x40], xmm0
call fcn.00465320
mov ecx, dword [ebp - 0x64]
call fcn.004548a0
movsd xmm0, qword [0x7ca4e8]
mov ecx, dword [0x7ca4d8]
movss xmm1, dword [0x7c6e20]
cvtpd2ps xmm0, xmm0
push 0
mov eax, dword [ecx + 0x3e68]
push ecx
mov dword [esp], 0
push 0xcc73c800
addss xmm1, dword [0x6e6a98]
mulss xmm0, dword [0x6e6a3c]
mov byte [eax + 0xac], 1
mov esi, dword [ecx + 0x3e68]
mov dword [ebp - 0x58], 0x41a00000
cvttss2si eax, xmm0
mov ecx, dword [esi + 0x264]
movss dword [ebp - 0x64], xmm1
movss dword [ebp - 0x54], xmm1
movd xmm0, eax
lea eax, [ebp - 0x18]
cvtdq2ps xmm0, xmm0
push eax
lea eax, [ebp - 0x58]
push eax
addss xmm0, dword [0x6e6a84]
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x6e6a60]
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x14], xmm0
call fcn.00461ce0
movss xmm0, dword [ebp - 0x44]
lea eax, [ebp - 0x18]
subss xmm0, dword [0x6e69c0]
mov esi, dword [esi + 0x264]
xorps xmm3, xmm3
push 0xf0
push eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x18], 0x43a24000
movss dword [ebp - 0x14], xmm0
mov ecx, esi
movss xmm0, dword [ebp - 0x64]
addss xmm0, dword [0x6e69c0]
push eax
mov dword [ebp - 0x48], 0x41a40000
movss dword [ebp - 0x44], xmm0
call fcn.00461710
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.0045fdf0
mov ecx, dword [0x7ca4d8]
movss xmm0, dword [ebp - 0x5c]
mulss xmm0, dword [0x6e6a3c]
mov dword [esi + 0x54], 0
mov eax, dword [ecx + 0x3e68]
movss xmm1, dword [0x7c6e20]
addss xmm1, dword [0x6e6aa4]
push 0
mov byte [eax + 0xac], 1
cvttss2si eax, xmm0
mov esi, dword [ecx + 0x3e68]
mov dword [ebp - 0x60], 0x41a00000
push ecx
movss dword [ebp - 0x64], xmm1
movss dword [ebp - 0x5c], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x6e6a84]
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x6e6a60]
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x14], xmm0
mov ecx, dword [esi + 0x264]
lea eax, [ebp - 0x18]
mov dword [esp], 0
push 0xcc73c800
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00461ce0
movss xmm0, dword [ebp - 0x44]
lea eax, [ebp - 0x18]
subss xmm0, dword [0x6e69c0]
mov esi, dword [esi + 0x264]
xorps xmm3, xmm3
push 0xf0
push eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x18], 0x43a24000
movss dword [ebp - 0x14], xmm0
mov ecx, esi
movss xmm0, dword [ebp - 0x64]
addss xmm0, dword [0x6e69c0]
push eax
mov dword [ebp - 0x48], 0x41a40000
movss dword [ebp - 0x44], xmm0
call fcn.00461710
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.0045fdf0
mov dword [esi + 0x54], 0
call fcn.0044ef90
movss xmm0, dword [0x7c6e20]
sub esp, 0xc
cmp byte [0x7ca4d6], 0
mov ecx, 0x6e5810
movss xmm3, dword [0x6e6ad4]
mov eax, str.Checking
cmove eax, ecx
mov dword [esp + 8], 0x41f00000
mov dword [esp + 4], 0x43870000
movss dword [esp], xmm0
push eax
push str.Play
call fcn.0046e230
test al, al
je 0x4775fd
cmp byte [0x7ca4d6], 0
jne 0x4775fd
mov dword [0x7cab14], 5
mov dword [0x7caab0], 0
movss xmm0, dword [0x7c6e20]
sub esp, 0xc
addss xmm0, dword [0x6e6a94]
movss xmm3, dword [0x6e6ad4]
mov dword [esp + 8], 0x41f00000
mov dword [esp + 4], 0x43040000
movss dword [esp], xmm0
push 0x6e5820
push str.Register
call fcn.0046e230
test al, al
je 0x47764a
mov dword [0x7cab04], 0
movss xmm0, dword [0x7c6e20]
sub esp, 0xc
addss xmm0, dword [0x6e6a94]
movss xmm3, dword [0x6e6adc]
mov dword [esp + 8], 0x41f00000
mov dword [esp + 4], 0x43040000
movss dword [esp], xmm0
push 0x6e5838
push str.Setting
call fcn.0046e230
test al, al
je 0x477697
mov dword [0x7cab04], 0
cmp dword [0x7cab14], 5
jne 0x477941
mov esi, dword [0x7ca4d8]
lea eax, [ebp - 0x64]
xorps xmm1, xmm1
movss xmm3, dword [0x6e6b0c]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x5c], 0x3f800000
mov dword [ebp - 0x44], 0
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [0x7caab0]
movss xmm2, dword [esi + 0x3bec]
comiss xmm1, xmm0
movss dword [ebp - 0x64], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x5c]
comiss xmm0, dword [0x6e6a00]
push ecx
push 0
push str.Loading
push ecx
mov dword [esp], 0xbf800000
cmovbe eax, ecx
mov ecx, dword [esi + 0x3be8]
movss xmm0, dword [eax]
lea eax, [ebp - 0x18]
push eax
movss dword [0x7caab0], xmm0
call fcn.00465170
movss xmm0, dword [0x6e6ad8]
lea eax, [ebp - 0x18]
subss xmm0, dword [ebp - 0x14]
movss xmm3, dword [0x6e6b0c]
movss xmm2, dword [esi + 0x3bec]
push ecx
push 0
mulss xmm0, dword [0x6e69c0]
push str.Loading
push ecx
mov ecx, dword [esi + 0x3be8]
mov dword [esp], 0xbf800000
push eax
movss dword [ebp - 0x44], xmm0
call fcn.00465170
mov eax, dword [esi + 0x3e68]
lea ecx, [ebp - 0x40]
mov edi, dword [esi + 0x3be8]
movups xmm0, xmmword [0x6aba8c]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e68]
movups xmmword [ebp - 0x40], xmm0
mov edx, dword [eax + 0x264]
call fcn.00449800
movss xmm0, dword [ebp - 0x18]
mov esi, eax
movss xmm1, dword [0x6e6af0]
addss xmm0, dword [0x6e69f8]
cvttss2si ecx, xmm0
movd xmm0, ecx
mov ecx, dword [0x7caacc]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0x14], xmm0
mulss xmm1, dword [0x6e69c0]
movss dword [ebp - 0x18], xmm1
test esi, 0xff000000
je 0x477824
test ecx, ecx
jne 0x4777f1
mov eax, dword [edx + 0x2c]
mov ecx, dword [eax + 8]
movups xmm0, xmmword [edx + 0x60]
lea eax, [ebp - 0x40]
movss xmm2, dword [0x6e6a80]
push 0
push ecx
mov dword [esp], 0
push 0x6e5853
push str.Loading
push eax
push esi
lea eax, [ebp - 0x18]
push eax
push edx
movups xmmword [ebp - 0x40], xmm0
call fcn.00465320
mov ecx, edi
call fcn.004548a0
mov ecx, dword [0x7ca4d8]
sub esp, 8
mov esi, dword [0x7caae8]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ecx + 0x3e68]
mov dword [ebp - 0x48], 0x3f800000
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x68], 0x42c80000
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e68]
mov ecx, 0x7c6dec
mov dword [ebp - 0x64], 0x42c80000
mov dword [esp + 4], 0x3dcccccd
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, dword [0x6e6ac8]
addss xmm0, dword [0x6e6ab8]
movss dword [eax + 0xf0], xmm1
movss dword [eax + 0xf4], xmm0
call fcn.00449800
add esp, 4
lea edx, [ebp - 0x68]
mov ecx, esi
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0046d850
movss xmm0, dword [0x7cab60]
add esp, 0x10
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x6e6a18]
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [0x6e6aac]
movss dword [0x7cab60], xmm0
jbe 0x477941
mov dword [0x7cab60], 0
mov dword [0x7caab0], 0
mov dword [0x7c6e20], 0x43d70000
mov dword [0x7c6e0c], 0xc3a78000
mov dword [0x7c6e24], 0x44714000
mov dword [0x7cab14], 0
push dword [0x6abaa0]
push dword [0x6aba9c]
call fcn.0046fce0
call fcn.00454280
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.006193d7
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret