Function at 0x54e070
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x68
push esi
mov esi, ecx
mov ecx, 0xc49
push edi
mov ax, word [esi + 0xf4]
sub ax, cx
cmp ax, 4
ja 0x54e0a4
push dword [ebp + 8]
mov ecx, esi
call fcn.00583150
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x20], 0x2746
jne 0x54e0cb
movss xmm0, dword [0x605414]
comiss xmm0, dword [esi + 0x30]
jbe 0x54e0cb
xor eax, eax
mov dword [esi + 0x30], 0
mov word [esi + 0x294], ax
mov ecx, dword [0x9c25b0]
mov edx, dword [ecx + 0x4c]
test edx, edx
je 0x54e194
mov eax, dword [edx + 0x660]
movss xmm1, dword [esi + 0x28]
add eax, 0xffffffd7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x54e134
mov eax, dword [edx + 0x660]
add eax, 0x29
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
ja 0x54e134
mov edx, dword [edx + 0x664]
movss xmm1, dword [esi + 0x2c]
lea eax, [edx - 0x29]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x54e134
lea eax, [edx + 0x29]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x54e194
cmp dword [ecx + 0x104], esi
jne 0x54e146
mov dword [ecx + 0x104], 0
xor eax, eax
mov dword [esi + 0x27c], 2
mov word [esi + 0x294], ax
mov eax, 0x167
cmp word [esi + 0xf4], ax
jne 0x54e194
mov eax, dword [0x9c25ac]
mov byte [esi + 0x14], 1
mov dword [eax + 0x21a7c], 1
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x54e194
cmp dword [eax + 0x1c], esi
jne 0x54e18d
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x54e181
cmp word [esi + 0x294], 0
movss xmm1, dword [0x604e1c]
jne 0x54e1fb
cmp word [esi + 0xf4], 0
jle 0x54e1fb
mov dl, 0x22
lea ecx, [esi + 0xf4]
call fcn.0049aed0
movss xmm0, dword [esi + 0x34]
mov edx, eax
movss xmm1, dword [0x604e1c]
divss xmm0, xmm1
push 0x7e
cvttss2si eax, dword [esi + 0x28]
cvttss2si ecx, xmm0
push ecx
mov ecx, dword [0x9c25b0]
add ecx, 0x118
push ecx
cvttss2si ecx, dword [esi + 0x2c]
push ecx
push eax
push ecx
mov ecx, edx
call fcn.00497f60
add esp, 0x18
mov edx, dword [esi + 0x27c]
cmp edx, 2
je 0x54e306
cmp edx, 3
je 0x54e306
cmp edx, 5
je 0x54e295
cmp edx, 6
je 0x54e295
cmp edx, 1
jne 0x54e231
mov dword [esi + 0x278], 0x3fc90fdb
jmp 0x54e310
cmp edx, 4
jne 0x54e310
mov ecx, dword [ebp + 8]
sub ecx, dword [esi + 0x280]
mov eax, ecx
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x605750]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x604c60]
mulss xmm0, dword [0x604fb8]
mulss xmm0, dword [0x604d2c]
movss dword [esi + 0x278], xmm0
cmp ecx, 0x3e8
jbe 0x54e310
mov dword [esi + 0x27c], 1
jmp 0x54e310
mov ecx, dword [ebp + 8]
sub ecx, dword [esi + 0x280]
mov eax, ecx
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x605750]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x604c60]
mulss xmm0, dword [0x604fb8]
mulss xmm0, dword [0x604d2c]
subss xmm1, xmm0
movss dword [esi + 0x278], xmm1
cmp ecx, 0x3e8
jbe 0x54e310
cmp edx, 5
jne 0x54e2f5
mov dword [esi + 0x27c], 2
jmp 0x54e310
cmp edx, 6
jne 0x54e310
mov dword [esi + 0x27c], 3
jmp 0x54e310
mov dword [esi + 0x278], 0
cmp dword [esi + 0x48], 1
jne 0x54e3ef
mov ecx, esi
call fcn.00582c50
push dword [esi + 0x2c]
mov ecx, dword [0x9c25b0]
lea eax, [esp + 0x14]
push dword [esi + 0x28]
push eax
call fcn.00592bb0
push 0x44
lea eax, [esp + 0x24]
push 0
push eax
call fcn.00468b40
movups xmm0, xmmword [esp + 0x2c]
mov eax, dword [esp + 0x6c]
add esp, 0xc
mov ecx, esi
movups xmmword [esi + 0xfc], xmm0
movups xmm0, xmmword [esp + 0x30]
movups xmmword [esi + 0x10c], xmm0
movups xmm0, xmmword [esp + 0x40]
movups xmmword [esi + 0x11c], xmm0
movups xmm0, xmmword [esp + 0x50]
movups xmmword [esi + 0x12c], xmm0
mov dword [esi + 0x13c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x78]
call eax
cmp eax, 1
jne 0x54e39a
movss xmm0, dword [0x604dc4]
jmp 0x54e3ba
movss xmm0, dword [0x604d04]
mov dword [esp + 0x10], 0x3f333333
mov dword [esp + 0x14], 0x3f333333
mov dword [esp + 0x18], 0x3f333333
movss dword [esi + 0x12c], xmm0
movss dword [esi + 0x130], xmm0
movss dword [esi + 0x134], xmm0
movaps xmm0, xmmword [esp + 0x10]
movups xmmword [esi + 0xfc], xmm0
mov dword [esi + 0x13c], 0
movups xmmword [esi + 0x11c], xmm0
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 4