Function at 0x413680
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46400b
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0x480054]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0xc1], dl
mov ebx, ecx
mov dword [ebp - 0xbc], ebx
cmp dword [0x48fc14], 0
lea edi, [ebx + 0x3900]
mov dword [ebp - 0xc8], edi
jne 0x41387b
xor esi, esi
nop word [eax + eax]
movss xmm0, dword [esi + 0x476790]
sub esp, 0xc
mov dword [esp + 8], 0x3ecccccd
mov dword [esp + 4], 0x3f333333
movss dword [esp], xmm0
call fcn.004346c0
movss xmm0, dword [esi + 0x476790]
add esp, 0xc
push eax
sub esp, 0xc
mov dword [esp + 8], 0x3f666666
mov dword [esp + 4], 0x3f333333
movss dword [esp], xmm0
call fcn.004346c0
movss xmm0, dword [esi + 0x476790]
add esp, 0xc
push eax
sub esp, 0xc
mov dword [esp + 8], 0x3f19999a
mov dword [esp + 4], 0x3f333333
movss dword [esp], xmm0
call fcn.004346c0
cvttss2si edx, dword [edi]
add esp, 0xc
push eax
cvttss2si ecx, dword [ebx + 0x38fc]
call fcn.00413180
mov dword [esi + 0x48fc14], eax
add esp, 0xc
add esi, 4
cmp esi, 0x1c
jl 0x4136e0
cvttss2si edx, dword [edi]
push 0x606060
push 0xb0b0b0
push 0x808080
cvttss2si ecx, dword [ebx + 0x38fc]
call fcn.00413180
add esp, 0xc
mov dword [0x48fc30], eax
xor esi, esi
nop dword [eax + eax]
movss xmm0, dword [esi + 0x476790]
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3f333333
movss dword [esp], xmm0
call fcn.004346c0
movss xmm0, dword [esi + 0x476790]
add esp, 0xc
push eax
sub esp, 0xc
mov dword [esp + 8], 0x3ee66666
mov dword [esp + 4], 0x3f333333
movss dword [esp], xmm0
call fcn.004346c0
movss xmm0, dword [esi + 0x476790]
add esp, 0xc
push eax
sub esp, 0xc
mov dword [esp + 8], 0x3e99999a
mov dword [esp + 4], 0x3f333333
movss dword [esp], xmm0
call fcn.004346c0
cvttss2si edx, dword [edi]
add esp, 0xc
push eax
cvttss2si ecx, dword [ebx + 0x38fc]
call fcn.00413180
mov dword [esi + 0x48fbe4], eax
add esp, 0xc
add esi, 4
cmp esi, 0x1c
jl 0x4137b0
cvttss2si edx, dword [edi]
push 0x303030
push 0x505050
push 0x404040
cvttss2si ecx, dword [ebx + 0x38fc]
call fcn.00413180
add esp, 0xc
mov dword [0x48fc00], eax
jmp 0x413881
mov dword [ebp - 0xc8], edi
push 0
push 1
call fcn.004308d0
add esp, 8
mov ecx, ebx
call fcn.00413240
movss xmm0, dword [ebx + 0x38f8]
mov eax, 0x48fbe0
subss xmm0, dword [edi]
cmp dword [ebx], 4
mov ecx, 0x48fc10
cmovne eax, ecx
cmp byte [ebp + 8], 0
mov dword [ebp - 0xdc], eax
cvttss2si esi, xmm0
mov dword [ebp - 0xe4], esi
je 0x413b45
push 0
push 0x202020
call fcn.00430930
movd xmm3, esi
mov ecx, 1
cvtdq2ps xmm3, xmm3
add esp, 8
mov dword [ebp - 0xc0], ecx
movss dword [ebp - 0xcc], xmm3
cmp byte [ebx + 0x9d0], cl
jle 0x413a25
nop
lea eax, [ecx + 5]
movd xmm0, eax
mov eax, dword [ebp - 0xc8]
cvtdq2ps xmm0, xmm0
push 0
sub esp, 0x10
movss xmm1, dword [eax]
mulss xmm0, dword [ebx + 0x38fc]
mov eax, dword [ebp - 0xbc]
addss xmm0, dword [ebx + 0x38f4]
movsx eax, byte [eax + 0x9d1]
sub eax, 2
cvttss2si edi, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x4780e8]
movd xmm2, edi
addss xmm0, xmm3
cvtdq2ps xmm2, xmm2
cvttss2si ebx, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea esi, [ebx - 5]
movd xmm3, esi
mulss xmm0, xmm1
cvtdq2ps xmm3, xmm3
cvttss2si eax, xmm0
add eax, ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm3
movss dword [esp], xmm2
call fcn.004303b0
lea eax, [edi - 1]
add esp, 0x14
movd xmm1, eax
mov eax, dword [ebp - 0xbc]
cvtdq2ps xmm1, xmm1
push 0
sub esp, 0x10
movsx eax, byte [eax + 0x9d1]
sub eax, 2
movd xmm0, eax
mov eax, dword [ebp - 0xc8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax]
cvttss2si eax, xmm0
add eax, ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.004303b0
mov ebx, dword [ebp - 0xbc]
add esp, 0x14
mov ecx, dword [ebp - 0xc0]
movss xmm3, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xc0], ecx
movsx eax, byte [ebx + 0x9d0]
cmp ecx, eax
jl 0x413900
mov ecx, 3
mov dword [ebp - 0xc0], ecx
cmp byte [ebx + 0x9d1], cl
jl 0x413b45
nop dword [eax]
movss xmm2, dword [ebx + 0x38fc]
mov eax, dword [ebp - 0xc8]
movaps xmm0, xmm2
mulss xmm0, dword [0x478120]
push 0
sub esp, 0x10
addss xmm0, dword [ebx + 0x38f4]
cvttss2si edi, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax]
movsx eax, byte [ebx + 0x9d0]
addss xmm0, xmm3
movd xmm3, edi
cvtdq2ps xmm3, xmm3
cvttss2si esi, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movd xmm1, esi
mulss xmm0, xmm2
cvtdq2ps xmm1, xmm1
cvttss2si eax, xmm0
movss dword [esp + 0xc], xmm1
add eax, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm3
call fcn.004303b0
lea eax, [esi - 1]
add esp, 0x14
movd xmm1, eax
movsx eax, byte [ebx + 0x9d0]
cvtdq2ps xmm1, xmm1
push 0
sub esp, 0x10
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm1
mulss xmm0, dword [ebx + 0x38fc]
cvttss2si eax, xmm0
add eax, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.004303b0
mov ecx, dword [ebp - 0xc0]
add esp, 0x14
movsx eax, byte [ebx + 0x9d1]
inc ecx
movss xmm3, dword [ebp - 0xcc]
mov dword [ebp - 0xc0], ecx
cmp ecx, eax
jle 0x413a40
xor ecx, ecx
lea edi, [ebx + 0x9d0]
mov dword [ebp - 0xc0], ecx
cmp byte [edi], cl
jle 0x413c9e
lea edx, [ebp - 0x9c]
mov dword [ebp - 0xcc], edx
nop word [eax + eax]
movsx eax, byte [ebx + 0x9d1]
xor esi, esi
lea edi, [eax + 1]
mov dword [edx], edi
test eax, eax
js 0x413c79
mov eax, esi
shl eax, 5
add eax, ecx
mov edx, dword [ebx + eax*4 + 0x1adc]
test edx, edx
je 0x413c63
movss xmm2, dword [ebx + 0x38fc]
lea eax, [ecx + 5]
mov ecx, dword [ebp - 0xc8]
movd xmm1, dword [ebp - 0xe4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm3, dword [ecx]
mulss xmm0, xmm2
cvtdq2ps xmm1, xmm1
addss xmm0, dword [ebx + 0x38f4]
cvttss2si eax, xmm0
movd xmm0, esi
mov dword [ebp - 0xb8], eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm0, xmm1
cvttss2si ecx, xmm0
cmp esi, 2
jne 0x413c2a
cvttss2si ecx, xmm3
push 0xcc0020
lea eax, [ecx - 5]
add ecx, 0xfffffffb
push eax
mov eax, dword [ebp - 0xdc]
push 0
push dword [eax + edx*4]
cvttss2si eax, xmm2
push 5
push eax
cvttss2si eax, xmm0
add eax, ecx
push eax
push dword [ebp - 0xb8]
call fcn.00433f20
add esp, 0x20
jmp 0x413c4a
jle 0x413c4a
mov ebx, dword [ebp - 0xdc]
push 0xcc0020
push dword [ebx + edx*4]
push ecx
push eax
call fcn.00433f60
mov ebx, dword [ebp - 0xbc]
add esp, 0x10
mov edx, dword [ebp - 0xcc]
cmp edi, esi
mov ecx, dword [ebp - 0xc0]
mov eax, esi
cmovl eax, edi
mov edi, eax
mov dword [edx], edi
jmp 0x413c69
mov edx, dword [ebp - 0xcc]
movsx eax, byte [ebx + 0x9d1]
inc esi
cmp esi, eax
jle 0x413b86
movsx eax, byte [ebx + 0x9d0]
lea edi, [ebx + 0x9d0]
inc ecx
add edx, 4
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xcc], edx
cmp ecx, eax
jl 0x413b70
push 0
push 0xa00080
call fcn.00430930
add esp, 8
mov esi, 1
mov eax, dword [ebp - 0xc8]
movss xmm1, dword [ebx + 0x38f8]
movss xmm4, dword [ebx + 0x38fc]
movss xmm2, dword [ebx + 0x38f4]
movss xmm3, dword [eax]
movsx eax, byte [ebx + 0x9d1]
push 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm3, xmm3
addss xmm0, xmm1
addss xmm3, xmm1
cvttss2si eax, xmm0
add eax, esi
push eax
movsx eax, byte [edi]
add eax, 5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
mulss xmm4, dword [0x478120]
addss xmm0, xmm2
addss xmm4, xmm2
cvttss2si eax, xmm0
add eax, esi
push eax
cvttss2si eax, xmm3
sub eax, esi
sub eax, 5
push eax
cvttss2si eax, xmm4
sub eax, esi
push eax
call fcn.004305b0
inc esi
add esp, 0x14
cmp esi, 3
jle 0x413cb2
cmp dword [ebx], 4
je 0x4140b3
cmp dword [ebx + 0xad0], 0
je 0x4140b3
mov esi, dword [ebx + 0x2ae4]
lea edi, [ebx + 0xac0]
push edi
push esi
push dword [ebx + 0x2ae0]
lea ecx, [ebx + 0x9d0]
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd8], edi
call fcn.004020c0
test al, al
jne 0x4140b3
push edi
inc esi
lea ecx, [ebx + 0x9d0]
push esi
push dword [ebx + 0x2ae0]
call fcn.004020c0
test al, al
jne 0x4140b3
nop
inc dword [ebp - 0xe8]
lea ecx, [ebx + 0x9d0]
push edi
inc esi
push esi
push dword [ebx + 0x2ae0]
call fcn.004020c0
test al, al
je 0x413db0
cmp dword [ebp - 0xe8], 0
jle 0x4140b3
mov eax, dword [ebx + 0xad0]
push 0
sub esp, 0xc
movss xmm0, dword [eax*4 + 0x47678c]
mov dword [esp + 8], 0x3f19999a
mov dword [esp + 4], 0x3f333333
movss dword [esp], xmm0
call fcn.004346c0
add esp, 0xc
push eax
call fcn.00430a70
add esp, 8
xor edx, edx
mov dword [ebp - 0xcc], edx
nop dword [eax]
xor esi, esi
mov ecx, 1
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], ecx
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebx + 0x2ae4]
mov edi, dword [ebp - 0xd8]
add eax, edx
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xb8], eax
cmp eax, 2
jle 0x414082
mov eax, dword [edi]
mov dword [ebp - 0xd0], eax
test eax, ecx
je 0x414082
mov eax, dword [ebx + 0x2ae0]
movss xmm3, dword [ebx + 0x38fc]
add eax, 5
add eax, esi
movd xmm1, dword [ebp - 0xe4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [ebp - 0xc8]
cvtdq2ps xmm0, xmm0
movss xmm2, dword [eax]
mulss xmm0, xmm3
cvttss2si eax, xmm3
addss xmm0, dword [ebx + 0x38f4]
mov dword [ebp - 0xdc], eax
cvttss2si eax, xmm2
cvttss2si edx, xmm0
movd xmm0, dword [ebp - 0xb8]
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xb8], eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
cvttss2si edi, xmm0
mov dword [ebp - 0xec], edi
test esi, esi
je 0x413f0d
mov eax, ecx
ror eax, 1
test dword [ebp - 0xd0], eax
je 0x413f07
cvttss2si eax, xmm2
add eax, edi
mov dword [ebp - 0xd4], eax
jmp 0x413f33
mov eax, dword [ebp - 0xb8]
lea esi, [eax + edi]
push 0
push esi
lea eax, [edx + 3]
mov dword [ebp - 0xd4], esi
push eax
push edi
push edx
call fcn.0042f500
mov ecx, dword [ebp - 0xbc]
add esp, 0x14
mov edx, dword [ebp - 0xe0]
cmp dword [ebp - 0xcc], 0
je 0x413f51
mov eax, dword [ebp - 0xd8]
test dword [eax - 4], ecx
je 0x413f51
mov esi, dword [ebp - 0xdc]
add esi, edx
jmp 0x413f70
mov esi, dword [ebp - 0xdc]
lea eax, [edi + 3]
push 0
push eax
add esi, edx
push esi
push edi
push edx
call fcn.0042f500
mov ecx, dword [ebp - 0xbc]
add esp, 0x14
cmp dword [ebp - 0xc0], 3
je 0x413f92
mov edx, dword [ebp - 0xd8]
mov eax, ecx
rol eax, 1
test dword [edx], eax
je 0x413f92
lea eax, [esi - 3]
mov dword [ebp - 0xb8], eax
jmp 0x413fba
push 0
push dword [ebp - 0xd4]
lea eax, [esi - 3]
push esi
push edi
push eax
mov dword [ebp - 0xb8], eax
call fcn.0042f500
mov ecx, dword [ebp - 0xbc]
add esp, 0x14
mov edx, dword [ebp - 0xd8]
cmp dword [ebp - 0xcc], 3
je 0x413fd9
test dword [edx + 4], ecx
je 0x413fd9
mov eax, dword [ebp - 0xd4]
add eax, 0xfffffffd
mov dword [ebp - 0xd0], eax
jmp 0x413ffc
mov eax, dword [ebp - 0xd4]
push 0
push eax
push esi
lea ecx, [eax - 3]
mov eax, dword [ebp - 0xe0]
push ecx
push eax
mov dword [ebp - 0xd0], ecx
call fcn.0042f500
add esp, 0x14
mov eax, dword [ebp - 0xe0]
lea esi, [edi + 3]
push 0
push esi
lea edi, [eax + 3]
push edi
push dword [ebp - 0xec]
push eax
call fcn.0042f500
push 0
push esi
mov esi, dword [ebp - 0xdc]
add esi, dword [ebp - 0xe0]
push esi
push dword [ebp - 0xec]
lea eax, [esi - 3]
push eax
call fcn.0042f500
push 0
push dword [ebp - 0xd4]
push esi
mov esi, dword [ebp - 0xd0]
push esi
push dword [ebp - 0xb8]
call fcn.0042f500
push 0
push dword [ebp - 0xd4]
push edi
push esi
push dword [ebp - 0xe0]
call fcn.0042f500
mov ecx, dword [ebp - 0xbc]
add esp, 0x50
mov esi, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xcc]
inc esi
rol ecx, 1
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], ecx
cmp esi, 4
jl 0x413e40
inc edx
add edi, 4
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd8], edi
cmp edx, 4
jl 0x413e20
xor edx, edx
lea eax, [ebx + 0xac0]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], eax
nop word [eax + eax]
xor edi, edi
lea esi, [edi + 1]
nop word [eax + eax]
mov ecx, dword [ebx + 0x2ae4]
mov eax, dword [ebp - 0xbc]
add ecx, edx
cmp ecx, 1
jle 0x4141bd
test dword [eax], esi
je 0x4141bd
mov eax, dword [ebx + 0x2ae0]
movss xmm2, dword [ebx + 0x38fc]
add eax, 5
add eax, edi
movd xmm1, dword [ebp - 0xe4]
cvtdq2ps xmm1, xmm1
push 0xcc0020
movd xmm0, eax
mov eax, dword [ebp - 0xc8]
cvtdq2ps xmm0, xmm0
movss xmm3, dword [eax]
mulss xmm0, xmm2
addss xmm0, dword [ebx + 0x38f4]
cvttss2si edx, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0xad0]
mov eax, dword [eax*4 + 0x48fc10]
mov dword [ebp - 0xb8], eax
cmp ecx, 2
jne 0x4141a0
cvttss2si ecx, xmm3
lea eax, [ecx - 5]
add ecx, 0xfffffffb
push eax
push 0
push dword [ebp - 0xb8]
cvttss2si eax, xmm2
push 5
push eax
cvttss2si eax, xmm0
add eax, ecx
push eax
push edx
call fcn.00433f20
add esp, 0x20
jmp 0x4141b1
push eax
mov eax, dword [ebp - 0xd0]
push eax
push edx
call fcn.00433f60
add esp, 0x10
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
inc edi
rol esi, 1
cmp edi, 4
jl 0x4140e0
inc edx
add eax, 4
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], eax
cmp edx, 4
jl 0x4140d0
mov eax, dword [ebx + 0x39ac]
mov edx, dword [ebx + 0x39b0]
cmp eax, edx
je 0x4143e3
xor ecx, ecx
add ecx, dword [eax]
add eax, 8
cmp eax, edx
jne 0x4141f8
push 0
sub esp, 0xc
mov dword [ebp - 0xb8], ecx
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call fcn.004346c0
add esp, 0xc
push eax
call fcn.00430a70
movss xmm2, dword [ebx + 0x38fc]
movaps xmm0, xmm2
mov edi, dword [ebp - 0xc8]
mulss xmm0, dword [0x478108]
push 0
movd xmm3, dword [ebp - 0xe4]
cvtdq2ps xmm3, xmm3
addss xmm0, dword [ebx + 0x38f4]
cvttss2si eax, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x478070]
movd xmm1, eax
movsx eax, byte [ebx + 0x9d1]
inc eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm2
mulss xmm0, dword [edi]
cdq
cvttss2si esi, xmm1
sub eax, edx
sar eax, 1
addss xmm0, xmm3
add eax, esi
cvttss2si ecx, xmm0
push ecx
push eax
cvttss2si eax, dword [edi]
imul eax, dword [ebp - 0xb8]
sub ecx, eax
push ecx
push esi
call fcn.0042f500
add esp, 0x1c
cmp byte [ebp - 0xc1], 0
je 0x4143e9
push 0
push 0x800000
call fcn.00430930
push 0
push 1
push 0
push 2
call fcn.00430cb0
add esp, 0x18
mov dword [ebp - 0xd0], 0
or edx, 0xffffffff
xor edi, edi
cmp byte [ebx + 0x9d0], 0
jle 0x4143d3
mov esi, dword [ebp + 0xc]
mov eax, 0x7fffffff
test esi, esi
cmove esi, eax
cmp dword [ebp - 0xb8], esi
cmovl esi, dword [ebp - 0xb8]
mov dword [ebp + 0xc], esi
nop
mov ecx, dword [ebp + edi*4 - 0x9c]
lea eax, [edi + 5]
movd xmm1, dword [ebp - 0xe4]
sub ecx, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, dword [ebx + 0x38fc]
addss xmm0, dword [ebx + 0x38f4]
cvttss2si eax, xmm0
movd xmm0, ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx]
addss xmm0, xmm1
cvttss2si esi, xmm0
cmp edx, 0xffffffff
je 0x41438e
mov ecx, dword [ebp - 0xd0]
cmp ecx, esi
je 0x41438e
push 0
push esi
push eax
push ecx
push edx
call fcn.0042ff90
add esp, 0x14
cvttss2si eax, dword [ebx + 0x38fc]
mov ecx, dword [ebp - 0xb8]
push 0
push esi
add eax, ecx
push eax
push esi
push ecx
call fcn.0042ff90
cvttss2si edx, dword [ebx + 0x38fc]
movsx eax, byte [ebx + 0x9d0]
inc edi
add esp, 0x14
mov dword [ebp - 0xd0], esi
mov esi, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
cmp edi, eax
jl 0x414320
push 0
push 1
push 0
push 0
call fcn.00430cb0
add esp, 0x10
mov edi, dword [ebp - 0xc8]
push 0
push 0xa0a0a0
call fcn.00430930
mov edx, dword [ebx + 0x3918]
lea ecx, [ebx + 0x39a8]
movsd xmm3, qword [0x4780f0]
add esp, 8
xorps xmm1, xmm1
xorps xmm6, xmm6
movd xmm0, edx
cvtdq2pd xmm0, xmm0
test edx, edx
jne 0x414426
xorps xmm4, xmm4
xorps xmm5, xmm5
jmp 0x414451
mov eax, dword [ecx]
movd xmm5, dword [ebx + 0x39d0]
dec eax
cvtdq2pd xmm5, xmm5
movd xmm4, eax
mulsd xmm5, qword [0x478128]
cvtdq2pd xmm4, xmm4
divsd xmm5, xmm0
mulsd xmm4, xmm3
divsd xmm4, xmm0
mov ecx, dword [ecx]
mov dword [ebp - 0xb8], 1
lea eax, [ecx - 1]
cmp eax, 1
mov esi, eax
cmovl esi, dword [ebp - 0xb8]
test edx, edx
jne 0x414475
xorps xmm2, xmm2
jmp 0x414485
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm2, xmm3
divsd xmm2, xmm0
mov edx, dword [ebx + 0x39d0]
mov eax, dword [ebx + 0x3908]
add eax, edx
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movd xmm3, eax
cvtdq2pd xmm3, xmm3
mov eax, dword [ebx + 0x39cc]
divsd xmm3, xmm0
mulsd xmm3, xmm2
movd xmm2, edx
cvtdq2pd xmm2, xmm2
mulsd xmm3, qword [0x4780f8]
test eax, eax
jle 0x4144d4
movd xmm0, eax
movaps xmm1, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
test ecx, ecx
jle 0x4144e7
movd xmm0, ecx
movaps xmm6, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm6, xmm0
push dword [ebx + 0x3964]
movss xmm0, dword [edi]
push dword [ebx + 0x3960]
mulss xmm0, dword [0x478108]
push dword [ebx + 0x395c]
push dword [ebx + 0x3958]
addss xmm0, dword [ebx + 0x38f8]
push dword [ebx + 0x3950]
push dword [ebx + 0x394c]
push dword [ebx + 0x3948]
addss xmm0, dword [0x478078]
push dword [ebx + 0x3944]
push dword [ebx + 0x393c]
push dword [ebx + 0x3940]
cvttss2si eax, xmm0
push dword [ebx + 0x3938]
push dword [ebx + 0x3910]
sub esp, 0x10
movsd qword [esp + 8], xmm6
movsd qword [esp], xmm1
push dword [ebx + 0x39d8]
push dword [ebx + 0x39d4]
push edx
sub esp, 0x18
movsd qword [esp + 0x10], xmm3
movsd qword [esp + 8], xmm5
movsd qword [esp], xmm4
push dword [ebx + 0x39c8]
push str.Win__4d_nPPS__.2f_nAPM__4.1f_nVS___4.1f_nAtt__4d_nSent__3d_nRecv__3d_nAPL__.2f_nAPP__.3f_nCombo__2d_nClear__2d_nCbA__4d_nB2B__4d_nT0__5d_nT1__5d_nT2__5d_nT3__5d_n1__6d_n2__6d_n3__6d_n4__6d_n
push 0x190
push 0xc8
push eax
cvttss2si eax, dword [ebx + 0x38f4]
add eax, 2
push eax
call fcn.00430690
mov ecx, dword [ebx + 0x3924]
add esp, 0x7c
test ecx, ecx
jle 0x41487f
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov dword [ebp - 4], 0
xor edx, edx
mov eax, dword [ebx + 0x3928]
cmp eax, 1
push ecx
push str._d
lea esi, [eax - 1]
mov eax, dword [ebx + 0x392c]
mov dword [ebp - 0xb8], eax
cmovle esi, edx
mov al, byte [ebx + 0x3934]
mov byte [ebp - 0xc1], al
lea eax, [ebp - 0x9c]
push eax
call fcn.00406260
add esp, 0xc
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0xb4]
push eax
call fcn.0041e880
mov cl, byte [ebp - 0xc1]
test cl, cl
je 0x4146b2
movq xmm0, qword [str._ITLJZSO]
mov al, byte [0x477124]
movq qword [ebp - 0x1c], xmm0
mov byte [ebp - 0x14], al
cmp cl, 2
jne 0x41468a
cmp byte [0x48f5b9], 0
jne 0x414668
cmp dword [ebx + 0x3920], 1
jne 0x41468a
mov eax, dword [ebx + 0x391c]
movsx eax, byte [ebp + eax - 0x1c]
push eax
lea eax, [ebp - 0x9c]
push str._c_mini
push eax
call fcn.00406260
add esp, 0xc
jmp 0x4146f6
mov eax, dword [ebx + 0x391c]
push dword [ebx + 0x3920]
movsx eax, byte [ebp + eax - 0x1c]
push eax
lea eax, [ebp - 0x9c]
push str._c_spin_d
push eax
call fcn.00406260
add esp, 0x10
jmp 0x4146f6
cmp dword [ebx + 0x391c], 1
jne 0x4146cb
cmp dword [ebx + 0x3920], 4
jne 0x4146cb
push str.Quadruple
jmp 0x4146e7
mov eax, dword [ebx + 0x3920]
cmp eax, 3
jne 0x4146dd
push str.Triple
jmp 0x4146e7
cmp eax, 2
jne 0x414708
push str.Double
lea eax, [ebp - 0x9c]
push eax
call fcn.00406260
add esp, 8
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xb4]
call fcn.0041e880
test esi, esi
je 0x41473f
mov ecx, str.b2bx_d
cmp esi, 1
mov eax, str.b2b
cmovne eax, ecx
push esi
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00406260
add esp, 0xc
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0xb4]
push eax
call fcn.0041e880
mov eax, dword [ebp - 0xb8]
cmp eax, 1
jle 0x414772
dec eax
push eax
lea eax, [ebp - 0x9c]
push str.combo_d
push eax
call fcn.00406260
add esp, 0xc
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0xb4]
push eax
call fcn.0041e880
cmp dword [ebx + 0x3930], 0
je 0x4147a1
lea eax, [ebp - 0x9c]
push str.Clear_
push eax
call fcn.00406260
add esp, 8
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0xb4]
push eax
call fcn.0041e880
push 0
push 0xa0ff
call fcn.00430930
cmp dword [ebp - 0xa0], 0x10
lea eax, [ebp - 0xb4]
cmovae eax, dword [ebp - 0xb4]
push eax
movsx eax, byte [ebx + 0x9d1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi]
addss xmm0, dword [ebx + 0x38f8]
addss xmm0, dword [0x478078]
cvttss2si eax, xmm0
movss xmm0, dword [ebx + 0x38fc]
mulss xmm0, dword [0x478120]
push eax
addss xmm0, dword [ebx + 0x38f4]
cvttss2si eax, xmm0
push eax
call fcn.004312e0
lea ecx, [ebx + 0x4414]
add esp, 0x14
lea eax, [ebp - 0xb4]
cmp ecx, eax
je 0x414838
cmp dword [ebp - 0xa0], 0x10
push dword [ebp - 0xa4]
cmovae eax, dword [ebp - 0xb4]
push eax
call fcn.00421450
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0x10
jb 0x4148e9
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414873
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414a5b
push ecx
push edx
call fcn.0042e51d
add esp, 8
jmp 0x4148e9
push 0
push 0x404040
call fcn.00430930
lea eax, [ebx + 0x4414]
add esp, 8
cmp dword [eax + 0x14], 0x10
jb 0x41489c
mov eax, dword [eax]
push eax
movsx eax, byte [ebx + 0x9d1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi]
addss xmm0, dword [ebx + 0x38f8]
addss xmm0, dword [0x478078]
cvttss2si eax, xmm0
movss xmm0, dword [ebx + 0x38fc]
mulss xmm0, dword [0x478120]
push eax
addss xmm0, dword [ebx + 0x38f4]
cvttss2si eax, xmm0
push eax
call fcn.004312e0
add esp, 0xc
push 0
push 0xa0a0a0
call fcn.00430930
add esp, 8
cmp dword [ebx], 4
jne 0x414949
cmp dword [0x48f5c8], 1
jne 0x414938
cmp dword [0x48f5bc], 0
jle 0x414938
mov eax, 0x10624dd3
imul dword [0x48f5c0]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.Next_game_will_start_in__d_seconds
push 0
push 0
call fcn.004312e0
add esp, 0x10
jmp 0x414949
push str.Press_F2_to_restart_a_new_game._Press_F12_to_config_your_controls
push 0
push 0
call fcn.004312e0
add esp, 0xc
lea eax, [ebx + 0x43f8]
push eax
lea ecx, [ebp - 0xb4]
call fcn.0041e9e0
mov dword [ebp - 4], 1
lea eax, [ebp - 0xb4]
cmp dword [ebp - 0xa0], 0x10
push 0
cmovae eax, dword [ebp - 0xb4]
push eax
call fcn.00431150
add esp, 8
mov esi, eax
cmp dword [ebx + 0x399c], 0
je 0x41499b
push 0
push 0xa000ff
call fcn.00430930
add esp, 8
movss xmm0, dword [edi]
lea eax, [ebp - 0xb4]
cmp dword [ebp - 0xa0], 0x10
xorps xmm1, xmm1
mulss xmm0, xmm1
cmovae eax, dword [ebp - 0xb4]
push eax
push 0x4771ec
addss xmm0, dword [ebx + 0x38f8]
cvttss2si eax, xmm0
push eax
movsx eax, byte [ebx + 0x9d0]
cdq
sub eax, edx
sar eax, 1
add eax, 5
movd xmm0, eax
mov eax, esi
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
mulss xmm0, dword [ebx + 0x38fc]
addss xmm0, dword [ebx + 0x38f4]
cvttss2si ecx, xmm0
sub ecx, eax
push ecx
call fcn.004312e0
mov ecx, dword [ebp - 0xa0]
add esp, 0x10
cmp ecx, 0x10
jb 0x414a3f
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414a35
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414a60
push ecx
push edx
call fcn.0042e51d
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042e28e
mov esp, ebp
pop ebp
ret
call fcn.0043c5ff
call fcn.0043c5ff
int3