Function at 0x4af840
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
xor eax, eax
mov esi, ecx
push eax
push 0x54f094
push 0x553dd8
push eax
push dword [ebp + 0x30]
mov dword [esp + 0x24], eax
call fcn.004faa08
mov edi, dword [ebp + 8]
add esp, 0x14
cmp byte [ebp + 0x28], 0
mov ebx, eax
je 0x4af8af
test ebx, ebx
je 0x4af88f
push 0
push 0x1000540
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.0049234b
jmp 0x4af8a1
push 0x1000540
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi - 0x10]
call fcn.004a7d5e
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov ecx, edi
call fcn.0044ba04
mov eax, dword [0x54ea90]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov ecx, edi
call fcn.0044b67d
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x4af8ed
cmp dword [ecx], 0
je 0x4af8ed
push ecx
push ecx
mov eax, esp
mov dword [eax], 0x124
mov eax, dword [ebp + 0x10]
add eax, 0xfffffffc
push eax
push 0x1c
push 2
push 2
push ecx
mov ecx, edi
call fcn.0044c079
jmp 0x4af952
cmp byte [ebp + 0x24], 0
mov ecx, esi
mov eax, dword [esi]
je 0x4af8fc
call dword [eax + 4]
jmp 0x4af8ff
call dword [eax + 8]
mov ecx, eax
test ecx, ecx
je 0x4af952
push ecx
push ecx
mov eax, esp
mov dword [esp + 4], 0x3f800000
mov dword [esp + 0x20], 0x40000000
mov dword [esp + 0x24], 0x40000000
mov dword [esp + 0x28], 0x41e00000
mov dword [eax], 0x124
mov eax, dword [ebp + 0x10]
movd xmm0, eax
lea eax, [esp + 0x20]
cvtdq2ps xmm0, xmm0
push eax
push edi
subss xmm0, dword [0x52f278]
movss dword [esp + 0x34], xmm0
call fcn.00499156
test ebx, ebx
je 0x4af96b
push 0
push 0x1000541
lea eax, [esp + 0x34]
mov ecx, ebx
push eax
call fcn.0049234b
jmp 0x4af97d
push 0x1000541
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi - 0x10]
call fcn.004a7d5e
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov ecx, edi
call fcn.0044b67d
movd xmm1, dword [ebp + 0x10]
mov ecx, edi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x52f098]
call fcn.0044b712
mov ecx, dword [ebp + 0xc]
cmp ecx, 0x1c2
jle 0x4afaa2
cmp byte [ebp + 0x24], 0
jne 0x4afaa2
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
mov ebx, dword [ebp + 0x10]
push ecx
mov dword [esp], 0x3f333333
push 1
push ecx
movaps xmm0, xmm2
mov eax, esp
mulss xmm0, dword [0x52f098]
mov ecx, edi
push ebx
mulss xmm2, dword [0x52f0b0]
mov dword [eax], 0x21
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x52f378]
movsd qword [esp + 0x20], xmm0
mov esi, dword [esp + 0x20]
cvtps2pd xmm0, xmm2
lea eax, [esi - 0x20]
push eax
push 0
push 0x20
addsd xmm0, qword [0x52f378]
push dword [ebp + 0x14]
movsd qword [esp + 0x38], xmm0
call fcn.0044b960
movd xmm0, dword [ebp + 0x10]
mov ecx, edi
cvtdq2ps xmm1, xmm0
mulss xmm1, dword [0x52f05c]
call fcn.0044b712
mov eax, dword [0x54e8d8]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov ecx, edi
call fcn.0044b67d
push ecx
mov dword [esp], 0x3f333333
push 1
push ecx
mov eax, esp
mov ecx, edi
push ebx
mov dword [eax], 0x22
mov eax, dword [esp + 0x28]
sub eax, esi
sub eax, 8
push eax
push 0
push esi
push dword [ebp + 0x1c]
call fcn.0044b960
push ecx
mov dword [esp], 0x3f333333
push 1
push ecx
mov eax, esp
push ebx
mov dword [eax], 0x22
mov eax, dword [ebp + 0xc]
sub eax, dword [esp + 0x28]
sub eax, 8
push eax
push 0
push dword [esp + 0x30]
push dword [ebp + 0x20]
jmp 0x4afac3
push ecx
mov dword [esp], 0x3f333333
push 1
push ecx
mov eax, esp
push dword [ebp + 0x10]
mov dword [eax], 0x21
lea eax, [ecx - 0x20]
push eax
push 0
push 0x20
push dword [ebp + 0x14]
mov ecx, edi
call fcn.0044b960
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x2c