Function at 0x4019e8
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x25c
mov eax, dword [esp + 0x270]
and eax, 3
xor edx, edx
cmp eax, 3
cmove eax, edx
mov ecx, dword [esp + 0x278]
mov dword [0x4bc144], ecx
mov dword [0x4bc148], eax
mov ebx, dword [esp + 0x274]
mov dword [0x4bc140], ebx
mov ebp, dword [esp + 0x280]
mov esi, ebp
lea edi, [ebp + 0x200]
mov dword [esp + 0x28], edi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
add esi, 0x40
cmp edi, esi
jne 0x401a36
lea edx, [esp + 0x98]
mov ecx, 0xe
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [esp], edx
call sym._L3init_gen_band_table_short
lea ebx, [esp + 0xd0]
mov dword [ebx], 0xc0
mov dword [ebx + 4], 0xc0
mov dword [ebx + 8], 0xc0
mov dword [ebx + 0xc], 0xc0
mov dword [ebx + 0x10], 0xc0
mov dword [ebx + 0x14], 0xc0
mov dword [ebx + 0x18], 0xc0
mov dword [ebx + 0x1c], 0xc0
add ebx, 0x20
lea esi, [esp + 0x150]
cmp esi, ebx
jne 0x401acd
mov dword [esp + 0xd0], 0
mov edx, dword [esp + 0x98]
mov dword [esp + 0x30], edx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x34], edi
mov eax, edi
shr eax, 0x1f
add eax, edi
sar eax, 1
mov dword [esp + 0x60], eax
add eax, edx
mov dword [esp + 0xdc], eax
lea ebx, [edx + edi]
mov dword [esp + 0xe0], ebx
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x38], esi
mov edx, esi
shr edx, 0x1f
add edx, esi
sar edx, 1
mov dword [esp + 0x64], edx
add edx, ebx
mov dword [esp + 0xe4], edx
add ebx, esi
mov dword [esp + 0xe8], ebx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x3c], ecx
mov edi, ecx
shr edi, 0x1f
add edi, ecx
sar edi, 1
mov dword [esp + 0x68], edi
add edi, ebx
mov dword [esp + 0xec], edi
add ebx, ecx
mov dword [esp + 0xf0], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x40], eax
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
mov dword [esp + 0x6c], esi
add esi, ebx
mov dword [esp + 0xf4], esi
add ebx, eax
mov dword [esp + 0xf8], ebx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x44], ecx
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
mov dword [esp + 0x70], edx
add edx, ebx
mov dword [esp + 0xfc], edx
add ebx, ecx
mov dword [esp + 0x100], ebx
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x48], edi
mov eax, edi
shr eax, 0x1f
add eax, edi
sar eax, 1
mov dword [esp + 0x74], eax
add eax, ebx
mov dword [esp + 0x104], eax
add ebx, edi
mov dword [esp + 0x108], ebx
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x4c], esi
mov ecx, esi
shr ecx, 0x1f
add ecx, esi
sar ecx, 1
mov dword [esp + 0x78], ecx
add ecx, ebx
mov dword [esp + 0x10c], ecx
add ebx, esi
mov dword [esp + 0x110], ebx
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x50], edi
mov edx, edi
shr edx, 0x1f
add edx, edi
sar edx, 1
mov dword [esp + 0x7c], edx
add edx, ebx
mov dword [esp + 0x114], edx
add ebx, edi
mov dword [esp + 0x118], ebx
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x54], eax
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
mov dword [esp + 0x80], esi
add esi, ebx
mov dword [esp + 0x11c], esi
add ebx, eax
mov dword [esp + 0x120], ebx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x58], ecx
mov edi, ecx
shr edi, 0x1f
add edi, ecx
sar edi, 1
mov dword [esp + 0x84], edi
add edi, ebx
mov dword [esp + 0x124], edi
add ebx, ecx
mov dword [esp + 0x128], ebx
mov eax, dword [esp + 0xc4]
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
add edx, ebx
mov dword [esp + 0x12c], edx
add ebx, eax
mov dword [esp + 0x130], ebx
mov esi, dword [esp + 0xc8]
mov ecx, esi
shr ecx, 0x1f
add ecx, esi
sar ecx, 1
add ecx, ebx
mov dword [esp + 0x134], ecx
add ebx, esi
mov dword [esp + 0x138], ebx
mov edi, dword [esp + 0xcc]
mov eax, edi
shr eax, 0x1f
add eax, edi
sar eax, 1
add ebx, eax
mov dword [esp + 0x13c], ebx
mov ebx, dword [0x4bc140]
lea esi, [ebx + ebx]
add esi, ebx
add esi, esi
xor eax, eax
cmp dword [esp + eax*4 + 0xd0], esi
jge 0x401dc8
lea edx, [eax + 1]
mov eax, edx
cmp dword [esp + edx*4 + 0xd0], esi
jge 0x401dc8
add eax, 1
cmp dword [esp + eax*4 + 0xd0], esi
jge 0x401dc8
lea eax, [edx + 2]
cmp dword [esp + edx*4 + 0xd8], esi
jge 0x401dc8
lea eax, [edx + 3]
cmp dword [esp + edx*4 + 0xdc], esi
jge 0x401dc8
lea eax, [edx + 4]
cmp dword [esp + edx*4 + 0xe0], esi
jge 0x401dc8
lea eax, [edx + 5]
cmp dword [esp + edx*4 + 0xe4], esi
jge 0x401dc8
lea eax, [edx + 6]
cmp dword [esp + edx*4 + 0xe8], esi
jge 0x401dc8
lea eax, [edx + 7]
cmp edx, 0x19
jne 0x401d5a
mov esi, 0x18
jmp 0x401dd2
mov esi, 0x18
cmp eax, esi
cmovle esi, eax
mov ebx, dword [0x4bc144]
lea ecx, [ebx + ebx]
add ecx, ebx
add ecx, dword [0x4bc148]
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ecx*4 + 0x4a3240]
movss xmm4, dword [0x4a3338]
mulss xmm4, xmm0
xor edi, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], esi
movd esi, xmm4
mov ebp, dword [esp + edi*4 + 0xd0]
add edi, 1
add ebp, dword [esp + edi*4 + 0xd0]
pxor xmm7, xmm7
cvtsi2ss xmm7, ebp
movd xmm6, esi
mulss xmm7, xmm6
mov eax, 0x498028
mov edx, 1
cmp ebx, 1
je 0x402ba4
mov ecx, eax
movss xmm1, dword [eax]
comiss xmm1, xmm7
jae 0x402cef
lea ebp, [edx + 1]
mov edx, ebp
lea ecx, [eax + 8]
movss xmm1, dword [eax + 8]
comiss xmm1, xmm7
jae 0x402cef
add edx, 1
lea ecx, [eax + 0x10]
movss xmm1, dword [eax + 0x10]
comiss xmm1, xmm7
jae 0x402cef
lea edx, [ebp + 2]
lea ecx, [eax + 0x18]
movss xmm1, dword [eax + 0x18]
comiss xmm1, xmm7
jae 0x402cef
lea edx, [ebp + 3]
lea ecx, [eax + 0x20]
movss xmm1, dword [eax + 0x20]
comiss xmm1, xmm7
jae 0x402cef
lea edx, [ebp + 4]
lea ecx, [eax + 0x28]
movss xmm1, dword [eax + 0x28]
comiss xmm1, xmm7
jae 0x402cef
lea edx, [ebp + 5]
lea ecx, [eax + 0x30]
movss xmm1, dword [eax + 0x30]
comiss xmm1, xmm7
jae 0x402cef
lea edx, [ebp + 6]
lea ecx, [eax + 0x38]
movss xmm1, dword [eax + 0x38]
comiss xmm1, xmm7
jae 0x402cef
lea edx, [ebp + 7]
lea ecx, [eax + 0x40]
movss xmm1, dword [eax + 0x40]
comiss xmm1, xmm7
jae 0x402cef
lea edx, [ebp + 8]
add eax, 0x48
cmp ebp, 0x5c
jne 0x401e48
movss xmm1, dword [0x498340]
mov ecx, 0x498340
mov eax, 0x318
movss xmm3, dword [eax + 0x498024]
movss xmm0, dword [eax + 0x498020]
movss xmm2, dword [ecx + 4]
subss xmm2, xmm3
movaps xmm5, xmm7
movss dword [esp + 0x18], xmm7
subss xmm5, xmm0
mulss xmm2, xmm5
subss xmm1, xmm0
divss xmm2, xmm1
addss xmm2, xmm3
pxor xmm4, xmm4
cvtss2sd xmm4, xmm2
mulsd xmm4, qword [0x4a3340]
mulsd xmm4, qword [0x4a3348]
movsd qword [esp], xmm4
call dbg.exp
fstp qword [esp + 0x10]
movsd xmm7, qword [0x4a3358]
mulsd xmm7, qword [esp + 0x10]
pxor xmm6, xmm6
cvtsd2ss xmm6, xmm7
movss xmm3, dword [esp + 0x18]
movss dword [esp + edi*4 + 0x14c], xmm6
mulss xmm3, dword [0x4a32e8]
movss xmm1, dword [0x4a3320]
mulss xmm1, xmm3
movss dword [esp + 0x24], xmm1
mulss xmm3, dword [0x4a3324]
cvtss2sd xmm3, xmm3
movsd qword [esp], xmm3
call sym._atan
fstp qword [esp + 0x10]
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0x18], xmm0
movss xmm4, dword [esp + 0x24]
mulss xmm4, xmm4
pxor xmm2, xmm2
cvtss2sd xmm2, xmm4
movsd qword [esp], xmm2
call sym._atan
fstp qword [esp + 0x10]
movsd xmm5, qword [esp + 0x18]
mulsd xmm5, qword [0x4a3328]
movsd xmm7, qword [0x4a3330]
mulsd xmm7, qword [esp + 0x10]
addsd xmm5, xmm7
pxor xmm6, xmm6
cvtsd2ss xmm6, xmm5
movss dword [esp + edi*4 + 0x1cc], xmm6
cmp edi, 0x1f
jne 0x401e14
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x1cc], 0x3f800000
movss xmm1, dword [esp + 0x248]
movss dword [esp + 0x24c], xmm1
mov dword [sym._spread_barkL2], 0x4014f0
mov edi, dword [esp + 0x28]
sub edi, dword [esp + 0x280]
sub edi, 8
shr edi, 3
add edi, 1
and edi, 7
je 0x40324b
cmp edi, 1
je 0x4020fd
cmp edi, 2
je 0x4020ed
cmp edi, 3
je 0x4020dd
cmp edi, 4
je 0x4020cd
cmp edi, 5
je 0x4020bd
cmp edi, 6
jne 0x40322e
mov dword [ecx], 0
mov dword [ecx + 4], 0
add ecx, 8
mov dword [ecx], 0
mov dword [ecx + 4], 0
add ecx, 8
mov dword [ecx], 0
mov dword [ecx + 4], 0
add ecx, 8
mov dword [ecx], 0
mov dword [ecx + 4], 0
add ecx, 8
mov dword [ecx], 0
mov dword [ecx + 4], 0
add ecx, 8
mov dword [ecx], 0
mov dword [ecx + 4], 0
add ecx, 8
mov edx, dword [esp + 0x28]
cmp ecx, edx
je 0x40218d
mov edi, edx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0x30], 0
mov dword [ecx + 0x34], 0
mov dword [ecx + 0x38], 0
mov dword [ecx + 0x3c], 0
add ecx, 0x40
cmp ecx, edi
jne 0x402117
test eax, eax
je 0x403285
mov edx, sym._spread_barkPS
mov dword [esp + 0x10], 0
xor ebp, ebp
mov ecx, 0x40
xor eax, eax
mov edi, 0x4bc040
rep stosd dword es:[edi], eax
mov ebx, dword [esp + ebp*4 + 0x1d0]
xor edi, edi
lea ecx, [esi - 1]
and ecx, 7
je 0x403204
mov dword [esp + 0x18], ecx
movss xmm3, dword [esp + 0x1d0]
movss dword [esp + 4], xmm3
mov dword [esp], ebx
call edx
fstp dword [0x4bc040]
mov edi, 1
cmp edi, esi
jge 0x402427
mov edx, dword [sym._spread_barkL2]
mov eax, dword [esp + 0x18]
cmp eax, 1
je 0x403204
cmp eax, 2
je 0x4022dc
cmp eax, 3
je 0x4022b8
cmp eax, 4
je 0x402294
cmp eax, 5
nop
je 0x402270
cmp eax, 6
je 0x40224c
movss xmm0, dword [esp + 0x1d4]
movss dword [esp + 4], xmm0
mov dword [esp], ebx
call edx
fstp dword [0x4bc044]
mov edi, 2
mov edx, dword [sym._spread_barkL2]
movss xmm4, dword [esp + edi*4 + 0x1d0]
movss dword [esp + 4], xmm4
mov dword [esp], ebx
call edx
fstp dword [edi*4 + 0x4bc040]
add edi, 1
mov edx, dword [sym._spread_barkL2]
movss xmm2, dword [esp + edi*4 + 0x1d0]
movss dword [esp + 4], xmm2
mov dword [esp], ebx
call edx
fstp dword [edi*4 + 0x4bc040]
add edi, 1
mov edx, dword [sym._spread_barkL2]
movss xmm5, dword [esp + edi*4 + 0x1d0]
movss dword [esp + 4], xmm5
mov dword [esp], ebx
call edx
fstp dword [edi*4 + 0x4bc040]
add edi, 1
mov edx, dword [sym._spread_barkL2]
movss xmm7, dword [esp + edi*4 + 0x1d0]
movss dword [esp + 4], xmm7
mov dword [esp], ebx
call edx
fstp dword [edi*4 + 0x4bc040]
add edi, 1
mov edx, dword [sym._spread_barkL2]
movss xmm6, dword [esp + edi*4 + 0x1d0]
movss dword [esp + 4], xmm6
mov dword [esp], ebx
call edx
fstp dword [edi*4 + 0x4bc040]
add edi, 1
mov edx, dword [sym._spread_barkL2]
mov dword [esp + 0x18], ebp
jmp 0x4023fd
movss xmm5, dword [esp + ebp*4 + 0x1d0]
movss dword [esp + 4], xmm5
mov dword [esp], ebx
call dword [0x498060]
fstp dword [ebp*4 + 0x4bc040]
lea ebp, [edi + 2]
movss xmm6, dword [esp + ebp*4 + 0x1d0]
movss dword [esp + 4], xmm6
mov dword [esp], ebx
call dword [0x498060]
fstp dword [ebp*4 + 0x4bc040]
lea ebp, [edi + 3]
movss xmm4, dword [esp + ebp*4 + 0x1d0]
movss dword [esp + 4], xmm4
mov dword [esp], ebx
call dword [0x498060]
fstp dword [ebp*4 + 0x4bc040]
lea ebp, [edi + 4]
movss xmm7, dword [esp + ebp*4 + 0x1d0]
movss dword [esp + 4], xmm7
mov dword [esp], ebx
call dword [0x498060]
fstp dword [ebp*4 + 0x4bc040]
lea ebp, [edi + 5]
movss xmm2, dword [esp + ebp*4 + 0x1d0]
movss dword [esp + 4], xmm2
mov dword [esp], ebx
call dword [0x498060]
fstp dword [ebp*4 + 0x4bc040]
lea ebp, [edi + 6]
movss xmm1, dword [esp + ebp*4 + 0x1d0]
movss dword [esp + 4], xmm1
mov dword [esp], ebx
call dword [0x498060]
fstp dword [ebp*4 + 0x4bc040]
lea ebp, [edi + 7]
movss xmm3, dword [esp + ebp*4 + 0x1d0]
movss dword [esp + 4], xmm3
mov dword [esp], ebx
call dword [0x498060]
fstp dword [ebp*4 + 0x4bc040]
add edi, 8
mov edx, dword [sym._spread_barkL2]
movss xmm1, dword [esp + edi*4 + 0x1d0]
movss dword [esp + 4], xmm1
mov dword [esp], ebx
call edx
fstp dword [edi*4 + 0x4bc040]
lea ebp, [edi + 1]
cmp ebp, esi
jl 0x402309
mov ebp, dword [esp + 0x18]
xor eax, eax
lea ebx, [esi - 1]
and ebx, 7
movss xmm3, dword [0x4bc040]
comiss xmm3, dword [0x4a3360]
ja 0x402d11
mov dword [0x4bc040], 0
mov eax, 1
cmp eax, esi
jge 0x4026ba
test ebx, ebx
je 0x402590
cmp ebx, 1
je 0x402564
cmp ebx, 2
nop
je 0x402540
cmp ebx, 3
je 0x40251c
cmp ebx, 4
je 0x4024f8
cmp ebx, 5
je 0x4024d4
cmp ebx, 6
je 0x4024b0
movss xmm0, dword [0x4bc044]
comiss xmm0, dword [0x4a3360]
ja 0x402d11
mov dword [0x4bc044], 0
add eax, 1
movss xmm4, dword [eax*4 + 0x4bc040]
comiss xmm4, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
add eax, 1
movss xmm2, dword [eax*4 + 0x4bc040]
comiss xmm2, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
add eax, 1
movss xmm5, dword [eax*4 + 0x4bc040]
comiss xmm5, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
add eax, 1
movss xmm7, dword [eax*4 + 0x4bc040]
comiss xmm7, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
add eax, 1
movss xmm6, dword [eax*4 + 0x4bc040]
comiss xmm6, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
add eax, 1
movss xmm1, dword [eax*4 + 0x4bc040]
comiss xmm1, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
add eax, 1
cmp eax, esi
jge 0x4026ba
movss xmm3, dword [eax*4 + 0x4bc040]
comiss xmm3, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
lea ecx, [eax + 1]
mov eax, ecx
movss xmm0, dword [ecx*4 + 0x4bc040]
comiss xmm0, dword [0x4a3360]
ja 0x402d11
mov dword [ecx*4 + 0x4bc040], 0
add eax, 1
movss xmm4, dword [eax*4 + 0x4bc040]
comiss xmm4, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
lea eax, [ecx + 2]
movss xmm2, dword [eax*4 + 0x4bc040]
comiss xmm2, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
lea eax, [ecx + 3]
movss xmm5, dword [eax*4 + 0x4bc040]
comiss xmm5, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
lea eax, [ecx + 4]
movss xmm7, dword [eax*4 + 0x4bc040]
comiss xmm7, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
lea eax, [ecx + 5]
movss xmm6, dword [eax*4 + 0x4bc040]
comiss xmm6, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
lea eax, [ecx + 6]
movss xmm1, dword [eax*4 + 0x4bc040]
comiss xmm1, dword [0x4a3360]
ja 0x402d11
mov dword [eax*4 + 0x4bc040], 0
lea eax, [ecx + 7]
cmp eax, esi
jl 0x402590
xor edx, edx
pxor xmm2, xmm2
lea ecx, [esi - 1]
and ecx, 7
comiss xmm2, dword [0x4bc040]
jne 0x402eb0
mov edx, 1
cmp edx, esi
jge 0x402817
test ecx, ecx
je 0x402785
cmp ecx, 1
je 0x40276c
cmp ecx, 2
je 0x40275b
cmp ecx, 3
je 0x40274a
cmp ecx, 4
je 0x402739
cmp ecx, 5
nop
je 0x402728
cmp ecx, 6
je 0x402717
comiss xmm2, dword [0x4bc044]
jne 0x402eb0
add edx, 1
comiss xmm2, dword [edx*4 + 0x4bc040]
jne 0x402eb0
add edx, 1
comiss xmm2, dword [edx*4 + 0x4bc040]
jne 0x402eb0
add edx, 1
comiss xmm2, dword [edx*4 + 0x4bc040]
jne 0x402eb0
add edx, 1
comiss xmm2, dword [edx*4 + 0x4bc040]
jne 0x402eb0
add edx, 1
comiss xmm2, dword [edx*4 + 0x4bc040]
jne 0x402eb0
add edx, 1
comiss xmm2, dword [edx*4 + 0x4bc040]
jne 0x402eb0
add edx, 1
cmp edx, esi
jge 0x402817
comiss xmm2, dword [edx*4 + 0x4bc040]
jne 0x402eb0
lea eax, [edx + 1]
mov edx, eax
comiss xmm2, dword [eax*4 + 0x4bc040]
jne 0x402eb0
add edx, 1
comiss xmm2, dword [edx*4 + 0x4bc040]
jne 0x402eb0
lea edx, [eax + 2]
comiss xmm2, dword [eax*4 + 0x4bc048]
jne 0x402eb0
lea edx, [eax + 3]
comiss xmm2, dword [eax*4 + 0x4bc04c]
jne 0x402eb0
lea edx, [eax + 4]
comiss xmm2, dword [eax*4 + 0x4bc050]
jne 0x402eb0
lea edx, [eax + 5]
comiss xmm2, dword [eax*4 + 0x4bc054]
jne 0x402eb0
lea edx, [eax + 6]
comiss xmm2, dword [eax*4 + 0x4bc058]
jne 0x402eb0
lea edx, [eax + 7]
cmp edx, esi
jl 0x402785
mov ebx, dword [esp + 0x280]
mov dword [ebx + 0x200], ebp
cmp dword [esp + 0x10], 0x3e8
jg 0x403339
mov edx, dword [esp + 0x27c]
mov ebp, 0x100
xor eax, eax
test dl, 1
jne 0x403254
test dl, 2
jne 0x403277
mov ecx, ebp
shr ecx, 2
mov edi, edx
rep stosd dword es:[edi], eax
mov ebx, edi
test ebp, 2
jne 0x403215
and ebp, 1
jne 0x40320d
lea eax, [esi - 1]
xor ecx, ecx
cmp esi, 2
jle 0x4029a8
mov ebp, dword [esp + 0x27c]
mov ecx, dword [esp + 0x5c]
mov dword [ebp], ecx
mov edx, dword [esp + 0x30]
sub edx, ecx
mov ebx, ebp
mov dword [ebp + 4], edx
cmp eax, 3
jle 0x403263
mov edi, dword [esp + 0x60]
mov dword [ebp + 8], edi
mov ebp, dword [esp + 0x34]
sub ebp, edi
mov ecx, ebx
mov dword [ebx + 0xc], ebp
cmp eax, 5
jle 0x40326d
mov ebx, dword [esp + 0x64]
mov dword [ecx + 0x10], ebx
mov edx, dword [esp + 0x38]
sub edx, ebx
mov ebp, ecx
mov dword [ecx + 0x14], edx
cmp eax, 7
jle 0x403224
mov edi, dword [esp + 0x68]
mov dword [ecx + 0x18], edi
mov ecx, dword [esp + 0x3c]
sub ecx, edi
mov dword [ebp + 0x1c], ecx
cmp eax, 9
jle 0x4032cf
mov ebx, dword [esp + 0x6c]
mov dword [ebp + 0x20], ebx
mov edx, dword [esp + 0x40]
sub edx, ebx
mov ecx, ebp
mov dword [ebp + 0x24], edx
cmp eax, 0xb
jle 0x4032e3
mov edi, dword [esp + 0x70]
mov dword [ebp + 0x28], edi
mov ebp, dword [esp + 0x44]
sub ebp, edi
mov dword [ecx + 0x2c], ebp
cmp eax, 0xd
jle 0x4032d9
mov ebx, dword [esp + 0x74]
mov dword [ecx + 0x30], ebx
mov edx, dword [esp + 0x48]
sub edx, ebx
mov ebp, ecx
mov dword [ecx + 0x34], edx
cmp eax, 0xf
jle 0x403301
mov edi, dword [esp + 0x78]
mov dword [ecx + 0x38], edi
mov ecx, dword [esp + 0x4c]
sub ecx, edi
mov dword [ebp + 0x3c], ecx
cmp eax, 0x11
jle 0x4032ed
mov ebx, dword [esp + 0x7c]
mov dword [ebp + 0x40], ebx
mov edx, dword [esp + 0x50]
sub edx, ebx
mov ecx, ebp
mov dword [ebp + 0x44], edx
cmp eax, 0x13
jle 0x4032f7
mov edi, dword [esp + 0x80]
mov dword [ebp + 0x48], edi
mov ebp, dword [esp + 0x54]
sub ebp, edi
mov dword [ecx + 0x4c], ebp
cmp eax, 0x15
jle 0x403328
mov ebx, dword [esp + 0x84]
mov dword [ecx + 0x50], ebx
mov edi, dword [esp + 0x58]
sub edi, ebx
mov dword [ecx + 0x54], edi
mov ecx, 0x16
mov edx, ecx
not edx
add edx, esi
and edx, 7
lea eax, [ecx + 1]
mov ebx, dword [esp + eax*4 + 0xd0]
sub ebx, dword [esp + eax*4 + 0xcc]
mov edi, dword [esp + 0x27c]
mov dword [edi + eax*4 - 4], ebx
cmp esi, eax
jle 0x402b78
test edx, edx
je 0x403332
cmp edx, 1
je 0x402aa4
cmp edx, 2
je 0x402a88
cmp edx, 3
je 0x402a6c
cmp edx, 4
je 0x402a50
cmp edx, 5
je 0x402a34
cmp edx, 6
je 0x402a18
lea eax, [ecx + 2]
mov ecx, dword [esp + eax*4 + 0xd0]
sub ecx, dword [esp + eax*4 + 0xcc]
mov dword [edi + eax*4 - 4], ecx
add eax, 1
mov ebp, dword [esp + eax*4 + 0xd0]
sub ebp, dword [esp + eax*4 + 0xcc]
mov edx, dword [esp + 0x27c]
mov dword [edx + eax*4 - 4], ebp
add eax, 1
mov edi, dword [esp + eax*4 + 0xd0]
sub edi, dword [esp + eax*4 + 0xcc]
mov ebx, dword [esp + 0x27c]
mov dword [ebx + eax*4 - 4], edi
add eax, 1
mov ecx, dword [esp + eax*4 + 0xd0]
sub ecx, dword [esp + eax*4 + 0xcc]
mov ebp, dword [esp + 0x27c]
mov dword [ebp + eax*4 - 4], ecx
add eax, 1
mov edx, dword [esp + eax*4 + 0xd0]
sub edx, dword [esp + eax*4 + 0xcc]
mov edi, dword [esp + 0x27c]
mov dword [edi + eax*4 - 4], edx
add eax, 1
mov ebx, dword [esp + eax*4 + 0xd0]
sub ebx, dword [esp + eax*4 + 0xcc]
mov ecx, dword [esp + 0x27c]
mov dword [ecx + eax*4 - 4], ebx
add eax, 1
mov ebp, dword [esp + eax*4 + 0xd0]
sub ebp, dword [esp + eax*4 + 0xcc]
mov edx, dword [esp + 0x27c]
mov dword [edx + eax*4 - 4], ebp
cmp esi, eax
jle 0x402b78
lea edi, [eax + 1]
mov ebx, dword [esp + edi*4 + 0xd0]
sub ebx, dword [esp + edi*4 + 0xcc]
mov dword [edx + edi*4 - 4], ebx
lea ecx, [eax + 2]
mov ebp, dword [esp + ecx*4 + 0xd0]
sub ebp, dword [esp + ecx*4 + 0xcc]
mov dword [edx + ecx*4 - 4], ebp
lea edi, [eax + 3]
mov ebx, dword [esp + edi*4 + 0xd0]
sub ebx, dword [esp + edi*4 + 0xcc]
mov dword [edx + edi*4 - 4], ebx
lea ecx, [eax + 4]
mov ebp, dword [esp + ecx*4 + 0xd0]
sub ebp, dword [esp + ecx*4 + 0xcc]
mov dword [edx + ecx*4 - 4], ebp
lea edi, [eax + 5]
mov ebx, dword [esp + edi*4 + 0xd0]
sub ebx, dword [esp + edi*4 + 0xcc]
mov dword [edx + edi*4 - 4], ebx
lea ecx, [eax + 6]
mov ebp, dword [esp + ecx*4 + 0xd0]
sub ebp, dword [esp + ecx*4 + 0xcc]
mov dword [edx + ecx*4 - 4], ebp
lea edi, [eax + 7]
mov ebx, dword [esp + edi*4 + 0xd0]
sub ebx, dword [esp + edi*4 + 0xcc]
mov dword [edx + edi*4 - 4], ebx
add eax, 8
mov ecx, dword [esp + eax*4 + 0xd0]
sub ecx, dword [esp + eax*4 + 0xcc]
mov dword [edx + eax*4 - 4], ecx
cmp esi, eax
jg 0x402ac8
mov eax, dword [esp + 0x27c]
mov dword [eax + 0x100], 0
mov dword [eax + 0x104], 0
mov dword [eax + 0x108], esi
add esp, 0x25c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, eax
movss xmm1, dword [eax]
comiss xmm1, xmm7
jae 0x402d00
lea ebp, [edx + 1]
mov edx, ebp
lea ecx, [eax + 8]
movss xmm1, dword [eax + 8]
comiss xmm1, xmm7
jae 0x402d00
add edx, 1
lea ecx, [eax + 0x10]
movss xmm1, dword [eax + 0x10]
comiss xmm1, xmm7
jae 0x402d00
lea edx, [ebp + 2]
lea ecx, [eax + 0x18]
movss xmm1, dword [eax + 0x18]
comiss xmm1, xmm7
jae 0x402d00
lea edx, [ebp + 3]
lea ecx, [eax + 0x20]
movss xmm1, dword [eax + 0x20]
comiss xmm1, xmm7
jae 0x402d00
lea edx, [ebp + 4]
lea ecx, [eax + 0x28]
movss xmm1, dword [eax + 0x28]
comiss xmm1, xmm7
jae 0x402d00
lea edx, [ebp + 5]
lea ecx, [eax + 0x30]
movss xmm1, dword [eax + 0x30]
comiss xmm1, xmm7
jae 0x402d00
lea edx, [ebp + 6]
lea ecx, [eax + 0x38]
movss xmm1, dword [eax + 0x38]
comiss xmm1, xmm7
jae 0x402d00
lea edx, [ebp + 7]
lea ecx, [eax + 0x40]
movss xmm1, dword [eax + 0x40]
comiss xmm1, xmm7
jae 0x402d00
lea edx, [ebp + 8]
add eax, 0x48
cmp ebp, 0x5c
jne 0x402ba4
movss xmm1, dword [0x498340]
mov ecx, 0x498340
mov edx, 0x318
movss xmm0, dword [edx + 0x498024]
movss xmm4, dword [edx + 0x498020]
movss xmm2, dword [ecx + 4]
subss xmm2, xmm0
movaps xmm5, xmm7
movss dword [esp + 0x18], xmm7
subss xmm5, xmm4
mulss xmm2, xmm5
subss xmm1, xmm4
divss xmm2, xmm1
addss xmm2, xmm0
pxor xmm7, xmm7
cvtss2sd xmm7, xmm2
mulsd xmm7, qword [0x4a3340]
mulsd xmm7, qword [0x4a3348]
movsd qword [esp], xmm7
call dbg.exp
fstp qword [esp + 0x10]
movsd xmm6, qword [0x4a3350]
mulsd xmm6, qword [esp + 0x10]
cvtsd2ss xmm6, xmm6
movss xmm3, dword [esp + 0x18]
jmp 0x401f92
lea eax, [edx + 0x1fffffff]
add eax, eax
add eax, eax
add eax, eax
jmp 0x401f1a
lea edx, [edx + 0x1fffffff]
add edx, edx
add edx, edx
add edx, edx
jmp 0x402c76
cmp eax, esi
jge 0x4026ba
mov edi, esi
sub edi, eax
and edi, 7
je 0x402e03
cmp edi, 1
je 0x402de2
cmp edi, 2
je 0x402dc9
cmp edi, 3
je 0x402db0
cmp edi, 4
je 0x402d97
cmp edi, 5
je 0x402d7e
cmp edi, 6
je 0x402d65
movss xmm3, dword [0x4a3360]
comiss xmm3, dword [eax*4 + 0x4bc040]
jae 0x402e7e
add eax, 1
movss xmm0, dword [0x4a3360]
comiss xmm0, dword [eax*4 + 0x4bc040]
jae 0x402e7e
add eax, 1
movss xmm4, dword [0x4a3360]
comiss xmm4, dword [eax*4 + 0x4bc040]
jae 0x402e7e
add eax, 1
movss xmm2, dword [0x4a3360]
comiss xmm2, dword [eax*4 + 0x4bc040]
jae 0x402e7e
add eax, 1
movss xmm5, dword [0x4a3360]
comiss xmm5, dword [eax*4 + 0x4bc040]
jae 0x402e7e
add eax, 1
movss xmm7, dword [0x4a3360]
comiss xmm7, dword [eax*4 + 0x4bc040]
jae 0x402e7e
add eax, 1
movss xmm6, dword [0x4a3360]
comiss xmm6, dword [eax*4 + 0x4bc040]
jae 0x402e7e
add eax, 1
cmp eax, esi
je 0x4026ba
movss xmm1, dword [0x4a3360]
comiss xmm1, dword [eax*4 + 0x4bc040]
jae 0x402e7e
lea edx, [eax + 1]
mov eax, edx
comiss xmm1, dword [edx*4 + 0x4bc040]
jae 0x402e7e
add eax, 1
comiss xmm1, dword [eax*4 + 0x4bc040]
jae 0x402e7e
lea eax, [edx + 2]
comiss xmm1, dword [edx*4 + 0x4bc048]
jae 0x402e7e
lea eax, [edx + 3]
comiss xmm1, dword [edx*4 + 0x4bc04c]
jae 0x402e7e
lea eax, [edx + 4]
comiss xmm1, dword [edx*4 + 0x4bc050]
jae 0x402e7e
lea eax, [edx + 5]
comiss xmm1, dword [edx*4 + 0x4bc054]
jae 0x402e7e
lea eax, [edx + 6]
comiss xmm1, dword [edx*4 + 0x4bc058]
jae 0x402e7e
lea eax, [edx + 7]
cmp eax, esi
jne 0x402e03
jmp 0x4026ba
cmp eax, esi
jge 0x4026ba
mov ebx, esi
sub ebx, eax
add ebx, ebx
add ebx, ebx
add eax, eax
add eax, eax
add eax, 0x4bc040
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._memset
jmp 0x4026ba
movss xmm5, dword [0x4a3364]
mulss xmm5, dword [esp + ebp*4 + 0x150]
xor eax, eax
cmp edx, esi
jge 0x4031d7
mov edi, esi
sub edi, edx
mov dword [esp + 0x18], edi
lea ecx, [edx + edx]
add ecx, ecx
xor eax, eax
pxor xmm6, xmm6
and edi, 7
je 0x403082
cmp edi, 1
je 0x403044
cmp edi, 2
je 0x403012
cmp edi, 3
je 0x402fe0
cmp edi, 4
je 0x402fae
cmp edi, 5
nop
je 0x402f7c
cmp edi, 6
je 0x402f4a
movss xmm1, dword [ecx + 0x4bc040]
comiss xmm1, xmm6
je 0x4031d7
mov eax, 1
add dword [esp + 0x10], 1
add dword [esp + 0x284], 4
mulss xmm1, xmm5
mov ebx, dword [esp + 0x284]
movss dword [ebx - 4], xmm1
movss xmm3, dword [ecx + eax*4 + 0x4bc040]
comiss xmm3, xmm6
je 0x4031d7
add eax, 1
add dword [esp + 0x10], 1
add dword [esp + 0x284], 4
mulss xmm3, xmm5
mov edi, dword [esp + 0x284]
movss dword [edi - 4], xmm3
movss xmm0, dword [ecx + eax*4 + 0x4bc040]
comiss xmm0, xmm6
je 0x4031d7
add eax, 1
add dword [esp + 0x10], 1
add dword [esp + 0x284], 4
mulss xmm0, xmm5
mov ebx, dword [esp + 0x284]
movss dword [ebx - 4], xmm0
movss xmm4, dword [ecx + eax*4 + 0x4bc040]
comiss xmm4, xmm6
je 0x4031d7
add eax, 1
add dword [esp + 0x10], 1
add dword [esp + 0x284], 4
mulss xmm4, xmm5
mov edi, dword [esp + 0x284]
movss dword [edi - 4], xmm4
movss xmm7, dword [ecx + eax*4 + 0x4bc040]
comiss xmm7, xmm6
je 0x4031d7
add eax, 1
add dword [esp + 0x10], 1
add dword [esp + 0x284], 4
mulss xmm7, xmm5
mov ebx, dword [esp + 0x284]
movss dword [ebx - 4], xmm7
movss xmm2, dword [ecx + eax*4 + 0x4bc040]
comiss xmm2, xmm6
je 0x4031d7
add eax, 1
add dword [esp + 0x10], 1
add dword [esp + 0x284], 4
mulss xmm2, xmm5
mov edi, dword [esp + 0x284]
movss dword [edi - 4], xmm2
movss xmm1, dword [ecx + eax*4 + 0x4bc040]
comiss xmm1, xmm6
je 0x4031d7
add eax, 1
add dword [esp + 0x10], 1
add dword [esp + 0x284], 4
mulss xmm1, xmm5
mov ebx, dword [esp + 0x284]
movss dword [ebx - 4], xmm1
mov edi, dword [esp + 0x18]
cmp eax, edi
je 0x4031d7
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], esi
mov edx, dword [esp + 0x284]
jmp 0x4031ae
lea edi, [eax + 1]
mov eax, edi
lea ebp, [ebx + 1]
mov ebx, ebp
lea esi, [edx + 4]
mov edx, esi
mulss xmm3, xmm5
movss dword [esi - 4], xmm3
movss xmm0, dword [ecx + edi*4 + 0x4bc040]
comiss xmm0, xmm6
je 0x4031c0
add eax, 1
add ebx, 1
add edx, 4
mulss xmm0, xmm5
movss dword [edx - 4], xmm0
movss xmm4, dword [ecx + eax*4 + 0x4bc040]
comiss xmm4, xmm6
je 0x4031c0
lea eax, [edi + 2]
lea ebx, [ebp + 2]
lea edx, [esi + 8]
mulss xmm4, xmm5
movss dword [edx - 4], xmm4
movss xmm7, dword [ecx + eax*4 + 0x4bc040]
comiss xmm7, xmm6
je 0x4031c0
lea eax, [edi + 3]
lea ebx, [ebp + 3]
lea edx, [esi + 0xc]
mulss xmm7, xmm5
movss dword [edx - 4], xmm7
movss xmm2, dword [ecx + eax*4 + 0x4bc040]
comiss xmm2, xmm6
je 0x4031c0
lea eax, [edi + 4]
lea ebx, [ebp + 4]
lea edx, [esi + 0x10]
mulss xmm2, xmm5
movss dword [edx - 4], xmm2
movss xmm1, dword [ecx + eax*4 + 0x4bc040]
comiss xmm1, xmm6
je 0x4031c0
lea eax, [edi + 5]
lea ebx, [ebp + 5]
lea edx, [esi + 0x14]
mulss xmm1, xmm5
movss dword [edx - 4], xmm1
movss xmm3, dword [ecx + eax*4 + 0x4bc040]
comiss xmm3, xmm6
je 0x4031c0
lea eax, [edi + 6]
lea ebx, [ebp + 6]
lea edx, [esi + 0x18]
mulss xmm3, xmm5
movss dword [edx - 4], xmm3
movss xmm0, dword [ecx + eax*4 + 0x4bc040]
comiss xmm0, xmm6
je 0x4031c0
lea eax, [edi + 7]
lea ebx, [ebp + 7]
lea edx, [esi + 0x1c]
mulss xmm0, xmm5
movss dword [edx - 4], xmm0
mov edi, dword [esp + 0x18]
cmp eax, edi
je 0x4031c0
movss xmm3, dword [ecx + eax*4 + 0x4bc040]
comiss xmm3, xmm6
jne 0x40309e
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x284], edx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x280]
mov dword [ecx + ebp*8], eax
mov dword [ecx + ebp*8 + 4], edx
movss dword [esp + ebp*4 + 0x150], xmm5
add ebp, 1
cmp ebp, esi
jge 0x402817
mov edx, dword [sym._spread_barkL2]
jmp 0x4021a4
mov dword [esp + 0x18], ebp
jmp 0x4023fd
mov edi, ebx
stosb byte es:[edi], al
jmp 0x402872
stosw word es:[edi], ax
mov ebx, edi
and ebp, 1
je 0x402872
jmp 0x40320d
mov ecx, 6
jmp 0x4029a8
mov ebp, dword [esp + 0x280]
mov dword [ebp], 0
mov dword [ebp + 4], 0
lea ecx, [ebp + 8]
jmp 0x4020ad
mov edi, dword [esp + 0x28]
jmp 0x402117
mov edi, edx
stosb byte es:[edi], al
mov edx, edi
mov ebp, 0xff
jmp 0x402849
mov ecx, 2
jmp 0x4029a8
mov ecx, 4
jmp 0x4029a8
mov edi, edx
stosw word es:[edi], ax
mov edx, edi
sub ebp, 2
jmp 0x402852
mov ebp, dword [esp + 0x280]
mov dword [ebp + 0x200], 0
mov edx, dword [esp + 0x27c]
mov ebx, 0x100
xor eax, eax
test dl, 1
jne 0x40331c
test dl, 2
jne 0x403311
mov ecx, ebx
shr ecx, 2
mov edi, edx
rep stosd dword es:[edi], eax
mov ebp, edi
test bl, 2
jne 0x40330b
and ebx, 1
je 0x402b78
mov edi, ebp
stosb byte es:[edi], al
jmp 0x402b78
mov ecx, 8
jmp 0x4029a8
mov ecx, 0xc
jmp 0x4029a8
mov ecx, 0xa
jmp 0x4029a8
mov ecx, 0x10
jmp 0x4029a8
mov ecx, 0x12
jmp 0x4029a8
mov ecx, 0xe
jmp 0x4029a8
stosw word es:[edi], ax
mov ebp, edi
jmp 0x4032be
mov edi, edx
stosw word es:[edi], ax
mov edx, edi
sub ebx, 2
jmp 0x4032ae
mov edi, edx
stosb byte es:[edi], al
mov edx, edi
mov ebx, 0xff
jmp 0x4032a9
mov ecx, 0x14
jmp 0x4029a8
mov edx, edi
jmp 0x402ac8
mov dword [esp + 8], 0x2c0
mov dword [esp + 4], str.hmp3_src_amodini2.c
mov dword [esp], str.ntot___1000
call dword [sym.imp.msvcrt.dll__assert]