Function at 0x406070
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 8], ecx
lea edx, [ebp - 0x20]
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x14]
movaps xmm0, xmm3
call fcn.004062d0
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov esi, dword [ebp + 8]
cdq
sub eax, edx
mov ebx, eax
mov eax, edi
sar ebx, 1
mul esi
push 4
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048b90c
add esp, 8
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4062ac
xor ecx, ecx
mov eax, edi
mul esi
push 2
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048b90c
mov ecx, dword [ebp + 0xc]
add esp, 8
mov dword [ebp - 0x28], eax
mov dword [ecx], eax
test eax, eax
jne 0x4060ed
push str.Error_allocating_the_smoothed_image._n
jmp 0x4062b1
mov ecx, edi
test ecx, ecx
jle 0x4061a4
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x20], ecx
xor eax, eax
mov dword [ebp - 0x18], eax
test esi, esi
jle 0x406188
mov ecx, dword [ebp - 0xc]
mov edx, ebx
mov edi, dword [ebp - 8]
neg edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], ecx
lea esp, [esp]
xorps xmm2, xmm2
xorps xmm3, xmm3
cmp edx, ebx
jg 0x406168
mov esi, dword [ebp - 0x14]
lea ecx, [edx + eax]
lea eax, [edx + ebx]
lea esi, [esi + eax*4]
test ecx, ecx
js 0x406156
cmp ecx, dword [ebp + 8]
jge 0x406156
movzx eax, byte [edi + edx]
addss xmm3, dword [esi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi]
addss xmm2, xmm0
inc edx
add esi, 4
inc ecx
cmp edx, ebx
jle 0x406136
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
divss xmm2, xmm3
mov edx, dword [ebp - 0x24]
inc eax
inc edi
mov dword [ebp - 0x18], eax
movss dword [ecx], xmm2
add ecx, 4
mov dword [ebp - 0x1c], ecx
cmp eax, esi
jl 0x406120
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
add dword [ebp - 8], esi
lea eax, [esi*4]
add edx, eax
dec ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x20], ecx
jne 0x406100
mov ecx, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0xc], edi
test esi, esi
jle 0x40628f
movsd xmm4, qword [0x4e8ae8]
movsd xmm5, qword [0x4e8a30]
xor eax, eax
mov dword [ebp - 0x1c], eax
test ecx, ecx
jle 0x406283
lea ecx, [esi + esi]
mov edx, ebx
mov dword [ebp - 0x24], ecx
neg edx
lea ecx, [edi + edi]
mov dword [ebp - 0x20], edx
mov edi, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
xorps xmm2, xmm2
xorps xmm3, xmm3
cmp edx, ebx
jg 0x406240
lea ecx, [edx + eax]
lea eax, [edx + ebx]
mov edx, dword [ebp - 0x14]
lea edi, [esi*4]
lea edx, [edx + eax*4]
mov eax, ecx
imul eax, esi
mov esi, dword [ebp - 0x10]
add eax, dword [ebp - 0xc]
lea eax, [esi + eax*4]
mov esi, ebx
sub esi, dword [ebp - 0x20]
inc esi
test ecx, ecx
js 0x40622e
cmp ecx, dword [ebp - 4]
jge 0x40622e
movss xmm0, dword [edx]
mulss xmm0, dword [eax]
addss xmm2, dword [edx]
addss xmm3, xmm0
add eax, edi
add edx, 4
inc ecx
dec esi
jne 0x406215
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 4]
xorps xmm1, xmm1
mov esi, dword [ebp - 0x28]
cvtss2sd xmm1, xmm3
xorps xmm0, xmm0
mulsd xmm1, xmm4
cvtss2sd xmm0, xmm2
divsd xmm1, xmm0
addsd xmm1, xmm5
cvttsd2si eax, xmm1
mov word [ecx + esi], ax
mov eax, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
inc eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
cmp eax, edi
jl 0x4061e4
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
inc edi
mov dword [ebp - 0xc], edi
cmp edi, esi
jl 0x4061c1
push dword [ebp - 0x10]
call fcn.0048b8d4
add esp, 4
push dword [ebp - 0x14]
call fcn.0048b8d4
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Error_allocating_the_buffer_image._n
call fcn.0048b9e6
add eax, 0x40
push eax
call fcn.0048c2a1
add esp, 8
push 1
call fcn.0048ccdf
int3