Function at 0x496db0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x4ff074]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
movss dword [ebp - 0xb4], xmm2
movss dword [ebp - 0xb0], xmm1
movzx esi, dx
xor ebx, ebx
movzx edx, cl
mov ecx, dword [ebp + 8]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [ebp - 0x98], eax
mov eax, ecx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x90], eax
mov eax, ecx
and eax, 0xff0000ff
movaps xmm0, xmmword [0x4fd050]
mov dword [ebp - 0x94], eax
movzx eax, cl
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x9c], eax
mov eax, ecx
shr eax, 0x10
movss xmm7, dword [0x4fc2e0]
movss xmm6, dword [0x4fc630]
movzx eax, al
mov dword [ebp - 0xa8], eax
mov eax, ecx
shr eax, 8
movzx eax, al
mov dword [ebp - 0xa0], eax
mov eax, ecx
and eax, 0xff0000ff
movss xmm1, dword [0x4fc458]
mov dword [ebp - 0xa4], eax
movzx eax, cl
mov dword [ebp - 0xac], eax
imul eax, edx, 0xfd
movups xmmword [ebp - 0x60], xmm0
mov edi, 0xa800
mov dword [ebp - 0x88], edx
movaps xmm0, xmmword [0x4fd030]
mov edx, 0x7800
mov dword [ebp - 0x18], 0x40382808
mov dword [ebp - 0x14], 0x40485048
mov word [ebp - 0x10], 0x2838
mov byte [ebp - 0xe], 8
mov dword [ebp - 0x24], 0x20100000
mov dword [ebp - 0x20], 0x20303830
mov word [ebp - 0x1c], 0x10
mov byte [ebp - 0x1a], 0
mov dword [ebp - 0x30], 0x28282808
mov dword [ebp - 0x2c], 0x28282828
mov word [ebp - 0x28], 0x2828
mov byte [ebp - 0x26], 8
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x4c], 0x3f800000
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0x3f333333
mov dword [ebp - 0x34], 0
mov dword [ebp - 0xc], 0x8181838
mov word [ebp - 8], 0x18
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x8c], 0x8000
test bx, bx
je 0x496f28
cmp bx, 0x16
je 0x496f28
movss xmm5, dword [0x4fc0d8]
jmp 0x496f30
movss xmm5, dword [0x4fc0f4]
mov eax, 0x8000
sub eax, edi
movzx ecx, ax
cmp cx, word [ebp - 0x8c]
jbe 0x496f48
not eax
movzx ecx, ax
cmp cx, word [ebp - 0x8c]
movzx eax, cx
cmove eax, edx
movzx ecx, bx
movzx edx, di
mov di, ax
shr di, 0xb
mov dword [ebp - 0xb8], eax
mov eax, 0xffffc000
mov dword [ebp - 0x80], ecx
xor ecx, ecx
movss xmm3, dword [edx*4 + 0x94ab20]
movss dword [ebp - 0x84], xmm3
mov word [ebp - 0x7a], di
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x74], 0xb
test ecx, ecx
je 0x496fea
cmp ecx, 0xa
je 0x496fe1
movss xmm2, dword [eax + 0x98ab20]
movaps xmm0, xmm3
mulss xmm0, xmm1
mulss xmm2, xmm5
mulss xmm0, dword [0x4fc2c4]
addss xmm0, xmm1
movss xmm1, dword [eax + 0x94ab20]
mulss xmm1, xmm5
addss xmm2, xmm0
addss xmm1, xmm7
movaps xmm0, xmm2
addss xmm0, xmm6
divss xmm0, xmm6
mulss xmm1, xmm0
jmp 0x496ff4
movaps xmm1, xmm7
subss xmm1, xmm5
jmp 0x496ff1
movaps xmm1, xmm5
addss xmm1, xmm7
xorps xmm2, xmm2
test bx, bx
je 0x497030
cmp bx, 0x16
je 0x497030
movzx eax, byte [ebp + ecx - 0x18]
movzx ecx, byte [ebp + ecx - 0x24]
add ax, di
movzx edi, ax
mov eax, dword [ebp - 0xb8]
movzx eax, ax
imul ecx, eax
movzx eax, word [ebp + 0x10]
shr ecx, 0xe
imul ecx, eax
shr ecx, 8
movzx eax, cx
mov dword [ebp - 0x68], eax
jmp 0x497042
movzx eax, byte [ebp + ecx - 0x30]
add ax, di
mov dword [ebp - 0x68], 0
movzx edi, ax
sub edi, dword [ebp + 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x80]
cwde
add eax, dword [ebp - 0xbc]
movss xmm0, dword [edx*4 + 0x98ab20]
movss xmm4, dword [esi*4 + 0x94ab20]
mulss xmm0, xmm1
lea ebx, [eax + eax*2]
movzx eax, di
mulss xmm1, xmm3
shl ebx, 4
test di, di
cmovns ecx, eax
add dword [ebp - 0x80], 0x17
movsx edi, cx
mov ecx, edi
movss dword [ebx + 0xa1ddd0], xmm0
imul ecx, dword [ebp - 0x90]
mov eax, edi
imul eax, dword [ebp - 0x98]
imul edi, dword [ebp - 0x9c]
movss xmm0, dword [0xa03724]
subss xmm0, xmm2
movss dword [ebx + 0xa1ddd4], xmm1
or ecx, dword [ebp - 0x94]
movaps xmm2, xmm1
and eax, 0xffffff00
movss xmm1, dword [esi*4 + 0x94ab20]
shl eax, 8
and ecx, 0xffffff00
or ecx, eax
shr edi, 8
mov eax, dword [ebp - 0x68]
or ecx, edi
mov edi, dword [ebp - 0xa0]
mov dword [ebx + 0xa1dde8], ecx
movsx ecx, ax
mov eax, dword [ebp - 0xa8]
imul eax, ecx
imul edi, ecx
movss dword [ebx + 0xa1ddd8], xmm0
movss xmm0, dword [esi*4 + 0x98ab20]
mulss xmm0, xmm2
and eax, 0xffffff00
mulss xmm1, xmm2
or edi, dword [ebp - 0xa4]
shl eax, 8
and edi, 0xffffff00
or edi, eax
mov eax, dword [ebp - 0xac]
imul eax, ecx
mov ecx, dword [ebp - 0x6c]
inc ecx
mov dword [ebp - 0x6c], ecx
shr eax, 8
or edi, eax
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0xa1ddec], edi
add eax, 0x4000
sub dword [ebp - 0x74], 1
movss xmm3, dword [ebx + 0xa1ddd0]
mulss xmm4, xmm3
mov di, word [ebp - 0x7a]
mov dword [ebp - 0x70], eax
subss xmm4, xmm0
movss xmm0, dword [esi*4 + 0x98ab20]
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0x84]
addss xmm1, xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0xb0]
movss dword [ebx + 0xa1ddd4], xmm1
movss xmm1, dword [0x4fc458]
movss dword [ebx + 0xa1ddd0], xmm0
movss xmm0, dword [ebx + 0xa1ddd4]
addss xmm0, dword [ebp - 0xb4]
movss dword [ebx + 0xa1ddd4], xmm0
mov ebx, dword [ebp - 0x64]
jne 0x496f94
mov edi, dword [ebp - 0x78]
inc ebx
add edi, 0x800
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x78], edi
mov edx, 0x7800
cmp bx, 0x17
jl 0x496f13
movss xmm5, dword [0x4fc3ac]
xor edi, edi
imul eax, dword [ebp - 0x88], 0xc6
mov ebx, 0xb000
movss xmm7, dword [0x4fc2a8]
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x88], eax
mov eax, ebx
mov edx, 0x8000
neg eax
movzx ecx, ax
cmp cx, dx
jbe 0x497227
not eax
movzx ecx, ax
lea eax, [ecx - 0x4000]
movzx edx, ax
mov eax, 0x4000
cmp dx, ax
mov eax, 0x3800
cmove edx, eax
movzx eax, di
xor ecx, ecx
movzx edi, bx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], edi
nop word [eax + eax]
movsx eax, cx
movss xmm2, dword [ebp + eax*4 - 0x48]
movss xmm1, dword [ebp + eax*4 - 0x60]
movzx ebx, byte [ebp + eax - 0xc]
mulss xmm2, xmm5
mulss xmm1, xmm7
movaps xmm0, xmm2
addss xmm0, xmm6
mulss xmm1, xmm0
divss xmm1, xmm6
test cx, cx
je 0x4972a8
movzx ecx, dx
mov eax, 0xaaaaaaab
mul ecx
mov dword [ebp - 0x78], 0
shr edx, 9
add ebx, edx
jmp 0x4972c3
mov cx, word [edi*2 + 0x90ab20]
mov eax, 0x10
sar cx, 0xb
sub ebx, ecx
sub eax, ecx
movzx eax, ax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x64]
xor ecx, ecx
sub ebx, dword [ebp + 0x14]
cwde
add eax, dword [ebp - 0x88]
lea edi, [eax + eax*2]
mov eax, dword [ebp - 0x70]
shl edi, 4
test bx, bx
movss xmm0, dword [eax*4 + 0x98ab20]
mulss xmm0, xmm1
movss dword [edi + 0xa19390], xmm0
movss xmm0, dword [eax*4 + 0x94ab20]
movzx eax, bx
cmovns ecx, eax
mulss xmm0, xmm1
movsx edx, cx
mov ecx, edx
movss xmm1, dword [esi*4 + 0x94ab20]
imul ecx, dword [ebp - 0x90]
mov eax, edx
imul eax, dword [ebp - 0x98]
movaps xmm4, xmm1
imul edx, dword [ebp - 0x9c]
movss dword [edi + 0xa19394], xmm0
movss xmm0, dword [0xa03724]
or ecx, dword [ebp - 0x94]
subss xmm0, xmm2
and ecx, 0xffffff00
add dword [ebp - 0x64], 0x21
and eax, 0xffffff00
shr edx, 8
shl eax, 8
or ecx, eax
mov eax, dword [ebp - 0x78]
or ecx, edx
movss dword [edi + 0xa19398], xmm0
movss xmm0, dword [esi*4 + 0x98ab20]
mov dword [edi + 0xa193a8], ecx
movsx edx, ax
mov ecx, edx
mov eax, edx
imul ecx, dword [ebp - 0xa0]
imul eax, dword [ebp - 0xa8]
imul edx, dword [ebp - 0xac]
or ecx, dword [ebp - 0xa4]
and ecx, 0xffffff00
and eax, 0xffffff00
shl eax, 8
or ecx, eax
shr edx, 8
or ecx, edx
mov edx, dword [ebp - 0x84]
mov dword [edi + 0xa193ac], ecx
movss xmm3, dword [edi + 0xa19390]
movss xmm2, dword [edi + 0xa19394]
mulss xmm0, xmm2
mov ecx, dword [ebp - 0x74]
mulss xmm4, xmm3
inc ecx
mov dword [ebp - 0x74], ecx
mulss xmm1, xmm2
subss xmm4, xmm0
movss xmm0, dword [esi*4 + 0x98ab20]
mulss xmm0, xmm3
addss xmm1, xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0xb0]
movss dword [edi + 0xa19394], xmm1
movss dword [edi + 0xa19390], xmm0
movss xmm0, dword [edi + 0xa19394]
addss xmm0, dword [ebp - 0xb4]
movss dword [edi + 0xa19394], xmm0
mov edi, dword [ebp - 0x70]
cmp cx, 6
jl 0x497260
mov edi, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x68]
inc edi
add ebx, 0xf800
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], ebx
cmp di, 0x21
jl 0x497211
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d66b5
mov esp, ebp
pop ebp
ret