Function at 0x41d3c0
Capabilities:
Check http status code
Encode data using base64
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov dword [ebp - 0x48], 0xf
mov eax, edx
mov dword [ebp - 8], esi
xorps xmm0, xmm0
mov dword [ebp - 0x5c], eax
push edi
mov ecx, dword [esi + 4]
mov dword [ebp - 0x58], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0xc], ecx
xor ecx, ecx
cmp dword [ebx + 0x10], 2
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x68], ecx
mov ecx, dword [esi]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0xa8], 0
movss dword [ebp - 0x24], xmm0
mov edx, dword [ecx + 8]
mov edi, dword [ecx + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x30], edx
mov edx, dword [esi + 0x20]
mov dword [ebp - 0x14], edx
mov edx, dword [esi + 0x24]
movss dword [ebp - 0x78], xmm0
movss dword [ebp - 0xac], xmm0
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x10], edx
movss dword [ebp - 0x50], xmm0
movss dword [ebp - 0x7c], xmm0
jl 0x41ff29
test eax, eax
je 0x41ff29
mov edx, dword [esi + 0x1c]
imul edx, dword [ebx + 8]
mov esi, dword [ecx + 0x24]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], edx
test esi, esi
js 0x41d4b6
mov edi, dword [ecx + 0x2c]
xor ecx, ecx
mov eax, edi
shl eax, cl
cmp eax, edx
je 0x41d4ae
inc ecx
cmp ecx, esi
jle 0x41d4a1
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x1c], ecx
jmp 0x41d4b8
xor ecx, ecx
cmp ecx, esi
jg 0x41ff29
mov esi, dword [ebp - 0x58]
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov ecx, dword [ecx + 0x2c]
imul ecx, eax
mov eax, edi
imul eax, esi
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 8]
add eax, 0x3d
lea eax, [ecx + eax*4]
mov dword [ebp - 0x74], eax
lea eax, [edi + 0x400]
imul eax, esi
mov edi, dword [ebx + 0x14]
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x20]
imul eax, esi
add ecx, 0xf4
mov dword [ebp - 0x84], ecx
lea esi, [eax*4]
lea eax, [esi + ecx]
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xa4], eax
add eax, esi
mov dword [ebp - 0xc8], eax
add eax, esi
mov dword [ebp - 0xb4], eax
test edi, edi
jne 0x41d547
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x6c], eax
jmp 0x41d595
mov esi, dword [edi + 0x1c]
mov eax, esi
bsr edx, esi
mov esi, dword [edi + 0x14]
inc edx
mov dword [ebp - 0x4c], esi
lea ecx, [edx - 0x10]
shr eax, cl
mov ecx, eax
shr ecx, 0xc
sub ecx, 8
cmp dword [ecx*4 + 0x5ae9e4], eax
sbb eax, eax
sub esi, edx
neg eax
shl esi, 3
sub esi, eax
mov edx, dword [ebp - 0x18]
sub esi, ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], esi
mov esi, dword [edi + 0x1c]
bsr eax, esi
sub ecx, eax
dec ecx
mov dword [ebp - 0x4c], ecx
add ecx, 4
mov eax, dword [ebp - 0x4c]
sar ecx, 3
mov esi, dword [ebp - 8]
mov dword [ebp - 0x54], ecx
cmp dword [esi + 0x30], 0
jne 0x41ff45
cmp dword [ebx + 0x10], 0x4fb
mov edi, 0x4fb
cmovl edi, dword [ebx + 0x10]
mov esi, edi
mov dword [ebp - 0x40], edi
mov edi, dword [ebx + 0x14]
sub esi, ecx
mov dword [ebp - 0xa0], esi
mov esi, dword [ebp - 8]
cmp dword [esi + 0x2c], 0
je 0x41d5f5
mov ecx, dword [esi + 0x28]
cmp ecx, 0xffffffff
je 0x41d5f5
mov eax, dword [ebp - 0x28]
imul ecx, edx
mov esi, dword [eax]
sar esi, 3
mov eax, esi
sar eax, 1
add eax, ecx
cdq
idiv esi
mov dword [ebp - 0xc0], eax
sar eax, 6
jmp 0x41d658
mov ecx, dword [esi + 0x28]
mov esi, ecx
imul esi, edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0xc0], 0
cmp eax, 1
jle 0x41d617
mov eax, dword [edx]
imul eax, dword [ebp - 0x4c]
add esi, eax
cmp ecx, 0xffffffff
je 0x41d652
mov eax, dword [edx]
lea ecx, [esi + eax*4]
lea esi, [eax*8]
mov eax, ecx
cdq
idiv esi
mov edx, dword [ebp - 0x40]
cmp edx, eax
mov ecx, eax
cmovl ecx, edx
cmp ecx, 2
jge 0x41d643
mov edx, 2
jmp 0x41d648
cmp edx, eax
cmovge edx, eax
mov ecx, edi
mov dword [ebp - 0x40], edx
call fcn.00419330
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x190
mov esi, dword [ebp - 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xc]
sar edx, cl
mov ecx, 3
sub ecx, dword [ebp - 0x1c]
sub edx, 0x32
lea eax, [eax + eax*4]
lea eax, [eax*8 + 0x14]
imul edx, eax
imul eax, dword [ebp - 0x40], 0x190
shl eax, cl
mov ecx, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + 0x28]
sub ecx, edx
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x8c], ecx
cmp eax, 0xffffffff
je 0x41d6b4
sub eax, edx
cmp ecx, eax
cmovge ecx, eax
mov dword [ebp - 0x8c], ecx
test edi, edi
jne 0x41d6d1
push dword [ebp - 0x40]
mov edx, dword [ebx + 0xc]
lea ecx, [ebp - 0x10c]
call fcn.00419000
mov edi, ecx
add esp, 4
mov dword [ebx + 0x14], edi
mov eax, dword [ebp - 0xc0]
test eax, eax
jle 0x41d72f
mov edx, dword [ebp - 8]
cmp dword [edx + 0x34], 0
je 0x41d72f
lea ecx, [eax + eax]
mov eax, 2
sub ecx, dword [edx + 0xd0]
xor edx, edx
sar ecx, 6
cmp dword [ebp - 0x4c], 1
cmove edx, eax
mov eax, ecx
cmp edx, ecx
cmovg eax, edx
cmp eax, dword [ebp - 0xa0]
jge 0x41d72f
cmp edx, ecx
cmovg ecx, edx
cmp ecx, dword [ebp - 0xa0]
jge 0x41d72f
lea eax, [ecx + esi]
mov dword [ebp - 0xa0], ecx
mov edx, eax
mov dword [ebp - 0x40], eax
mov ecx, edi
call fcn.00419330
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x10]
shl eax, 3
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
cmp ecx, eax
cmovg ecx, eax
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0x60]
imul eax, dword [ebp - 0x58]
mov dword [ebp - 0x70], ecx
shl eax, 2
call fcn.00471740
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x34], esp
mov ecx, dword [eax + 0x1c]
movss xmm7, dword [eax + 0xe0]
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0x60]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], ecx
cdq
idiv ecx
mov ecx, esi
mov edx, eax
mov dword [ebp - 0x2c], eax
call fcn.00406350
comiss xmm7, xmm0
ja 0x41d79c
movaps xmm7, xmm0
mov eax, dword [ebp - 0x60]
imul eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x2c]
cdq
lea ecx, [esi + ecx*4]
idiv dword [ebp - 0x18]
mov edx, eax
call fcn.00406350
mov ecx, dword [ebp - 8]
movaps xmm2, xmm0
movss xmm1, dword [0x92b4d0]
mov eax, 1
xor edx, edx
movss dword [ecx + 0xe0], xmm2
maxss xmm2, xmm7
mov ecx, dword [ecx + 0x3c]
shl eax, cl
movss dword [ebp - 0xd0], xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm2
setae dl
cmp dword [ebp - 0x4c], 1
mov dword [ebp - 0x80], edx
jne 0x41d888
mov eax, dword [edi + 0x1c]
mov ecx, eax
shr ecx, 0xf
sub eax, ecx
test edx, edx
je 0x41d813
add dword [edi + 0x20], eax
test edx, edx
cmovne eax, ecx
mov ecx, edi
mov dword [edi + 0x1c], eax
call fcn.00418f30
mov esi, dword [ebp - 0x80]
test esi, esi
je 0x41d88f
cmp dword [ebp - 0xc0], 0
jle 0x41d86c
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x40]
add eax, 2
cmp ecx, eax
mov dword [ebp - 0xa0], 2
cmovge ecx, eax
mov dword [ebp - 0x40], ecx
mov edx, ecx
mov dword [ebp - 0x64], ecx
lea eax, [ecx*8]
mov ecx, edi
mov dword [ebp - 0xb8], eax
call fcn.00419330
movss xmm2, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x80], esi
lea ecx, [eax*8]
bsr eax, dword [edi + 0x1c]
mov dword [ebp - 0x4c], ecx
inc eax
add eax, ecx
mov dword [edi + 0x14], eax
jmp 0x41d88f
mov dword [ebp - 0x80], 0
mov ecx, dword [ebp - 0x60]
xor esi, esi
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x28]
add eax, ecx
mov edi, dword [ebp - 8]
add edx, 0x10
shl eax, 2
add edi, 0xc0
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edx
lea ecx, [eax + ecx*4]
mov dword [ebp - 0xd4], ecx
mov eax, dword [ebp - 8]
cmp dword [eax + 0x10], 0
je 0x41d8d9
comiss xmm2, dword [0x92b740]
jbe 0x41d8d9
mov eax, 1
jmp 0x41d8db
xor eax, eax
push eax
mov eax, dword [ebp - 8]
push edi
push edx
mov edx, ecx
mov ecx, dword [ebp - 0x5c]
push dword [eax + 0x1c]
push dword [ebp - 0x58]
push dword [ebp - 0x9c]
call fcn.0041a490
mov ecx, dword [ebp - 0xd4]
inc esi
add ecx, dword [ebp - 0x18]
add esp, 0x18
add dword [ebp - 0x5c], 4
add edi, 4
movss xmm2, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0xd4], ecx
cmp esi, dword [ebp - 0x58]
jl 0x41d8c0
mov edx, dword [ebp - 8]
mov edi, dword [ebx + 0x14]
mov ecx, dword [ebp - 0xa0]
cmp dword [edx + 0x40], 0
je 0x41d938
cmp ecx, 3
jg 0x41d945
mov eax, dword [ebp - 0xc]
lea eax, [eax + eax*2]
shl eax, 2
cmp ecx, eax
jle 0x41d964
cmp dword [ebp - 0x14], 0
jne 0x41d964
cmp dword [ebp - 0x80], 0
jne 0x41d964
cmp dword [edx + 0x14], 0
jne 0x41d964
cmp dword [edx + 0x18], 5
jl 0x41d964
mov eax, 1
jmp 0x41d966
xor eax, eax
mov esi, dword [edx + 0x64]
mov dword [ebp - 0xd4], esi
lea esi, [edx + 0x78]
push esi
push ecx
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 8]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0xd4]
push dword [ebp - 0x9c]
push dword [ebp - 0x58]
push dword [ebp - 0x74]
call fcn.0041cbf0
movss xmm0, dword [ebp - 0x3c]
add esp, 0x28
movss xmm1, dword [0x92b430]
comiss xmm0, xmm1
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xd0], edx
movss dword [ebp - 0x98], xmm0
ja 0x41d9d7
movss xmm0, dword [ecx + 0x6c]
comiss xmm0, xmm1
jbe 0x41da28
cmp dword [esi], 0
je 0x41d9ee
movss xmm0, dword [ecx + 0x7c]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [str.333333]
jbe 0x41da28
movd xmm1, dword [ecx + 0x68]
cvtdq2pd xmm1, xmm1
movd xmm2, edx
cvtdq2pd xmm2, xmm2
movaps xmm0, xmm1
mulsd xmm0, qword [0x92b5a0]
comisd xmm2, xmm0
ja 0x41da1e
mulsd xmm1, qword [0x92b578]
comisd xmm1, xmm2
jbe 0x41da28
mov dword [ebp - 0xb0], 1
test eax, eax
jne 0x41da61
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x41dae3
mov eax, dword [ebp - 0x4c]
add eax, 0x10
cmp eax, dword [ebp - 0xb8]
jg 0x41dae0
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shr eax, 1
sub ecx, eax
mov dword [edi + 0x1c], ecx
mov ecx, edi
call fcn.00418f30
jmp 0x41dadd
mov eax, dword [edi + 0x1c]
mov ecx, eax
shr ecx, 1
sub eax, ecx
mov dword [edi + 0x1c], ecx
add dword [edi + 0x20], eax
mov ecx, edi
call fcn.00418f30
mov edi, dword [ebp - 0xd0]
mov ecx, dword [ebx + 0x14]
inc edi
bsr esi, edi
push 6
lea edx, [esi - 4]
call fcn.004191b0
add esp, 4
lea ecx, [esi - 4]
mov eax, 0x10
mov edx, edi
shl eax, cl
mov ecx, dword [ebx + 0x14]
sub edx, eax
push esi
call fcn.004192a0
mov edx, dword [ebp - 0x18]
lea eax, [edi - 1]
mov edi, dword [ebx + 0x14]
add esp, 4
mov ecx, edi
mov dword [ebp - 0xd0], eax
push 3
call fcn.004192a0
mov edx, dword [ebp - 0xd4]
add esp, 4
mov ecx, edi
push 2
push 0x537e84
call fcn.004190e0
add esp, 8
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x88], 0
cmp dword [ecx + 0x18], 1
lea esi, [ecx + 0x18]
mov dword [ebp - 0x54], edx
jl 0x41db65
cmp dword [ecx + 0x40], edx
jne 0x41db65
test eax, eax
je 0x41db18
cmp dword [ebp - 0x64], 0xf
jge 0x41db18
cmp dword [ecx + 0xb8], 2
je 0x41db18
lea eax, [edx + 1]
jmp 0x41db1a
xor eax, eax
mov edx, dword [ebp - 0x9c]
lea ecx, [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x60]
push dword [ebp - 0x58]
lea edx, [edx + eax]
call fcn.00419cd0
mov esi, dword [ebp - 8]
add esp, 0x14
movss xmm0, dword [ebp - 0x7c]
add esi, 0x18
mov dword [ebp - 0x88], eax
xor edx, edx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x38], eax
movss dword [ebp - 0x50], xmm0
cmp dword [ebp - 0x1c], 0
jle 0x41db95
bsr eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x14]
sub ecx, eax
add ecx, 2
cmp ecx, dword [ebp - 0xb8]
jg 0x41db95
cmp dword [ebp - 0x88], 0
mov esi, dword [ebp - 8]
cmovne edx, dword [ebp - 0x44]
add esi, 0x18
mov dword [ebp - 0x54], edx
jmp 0x41dba9
mov dword [ebp - 0x88], 0
mov dword [ebp - 0xd8], 1
mov eax, dword [ebp - 0x9c]
imul eax, dword [ebp - 0x58]
shl eax, 2
call fcn.00471740
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], esp
shl eax, 2
call fcn.00471740
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x58]
mov dword [ebp - 0x4c], esp
shl eax, 2
call fcn.00471740
cmp dword [ebp - 0x54], 0
mov dword [ebp - 0x90], esp
je 0x41dbf7
cmp dword [esi], 8
jl 0x41dbf7
mov esi, 1
jmp 0x41dbf9
xor esi, esi
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x2c], esi
shl eax, 2
call fcn.00471740
test esi, esi
mov dword [ebp - 0x60], esp
mov esi, dword [ebp - 0x28]
je 0x41dd3e
mov eax, dword [ebp - 8]
xor edx, edx
push ecx
mov ecx, esi
push dword [eax + 0x1c]
push dword [ebp - 0x1c]
push dword [ebp - 0x58]
push dword [ebp - 0xc]
push dword [ebp - 0x5c]
push dword [ebp - 0x34]
call fcn.0041a190
mov eax, dword [ebp - 8]
add esp, 0x1c
mov edx, dword [ebp - 0x5c]
mov ecx, esi
push dword [eax + 0x48]
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x70]
push dword [ebp - 0x4c]
call fcn.0042add0
mov edx, dword [ebp - 0x70]
add esp, 0x14
mov ecx, esi
push dword [ebp - 0xc]
push dword [ebp - 0x60]
push dword [ebp - 0x4c]
push dword [ebp - 0x10]
call fcn.0042aba0
mov eax, dword [ebp - 0xc]
add esp, 0x10
test eax, eax
jle 0x41dd41
mov eax, dword [ebp - 0x20]
xor edi, edi
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x10]
add esi, 8
lea edx, [eax*4]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x7c], eax
mov eax, edx
mov dword [ebp - 0x3c], edx
nop
xor edx, edx
cmp ecx, 4
jl 0x41dcec
movd xmm1, dword [ebp - 0x1c]
add ecx, 0xfffffffc
cvtdq2ps xmm1, xmm1
shr ecx, 2
mov eax, esi
inc ecx
mulss xmm1, dword [0x92b444]
lea edx, [ecx*4]
shufps xmm1, xmm1, 0
nop dword [eax + eax]
movups xmm0, xmmword [eax - 8]
addps xmm0, xmm1
movups xmmword [eax - 8], xmm0
add eax, 0x10
sub ecx, 1
jne 0x41dcd0
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
jl 0x41dcf0
jmp 0x41dd26
test ecx, ecx
jle 0x41dd29
movd xmm1, dword [ebp - 0x1c]
lea eax, [edx + edi]
mov ecx, dword [ebp - 0x60]
cvtdq2ps xmm1, xmm1
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x10]
sub ecx, edx
mulss xmm1, dword [0x92b444]
nop
movaps xmm0, xmm1
addss xmm0, dword [eax]
movss dword [eax], xmm0
add eax, 4
sub ecx, 1
jne 0x41dd10
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
add edi, dword [ebp - 0x20]
add esi, eax
sub dword [ebp - 0x7c], 1
jne 0x41dca0
mov edi, dword [ebx + 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 8]
push dword [ecx + 0x1c]
mov ecx, esi
push dword [ebp - 0x1c]
push dword [ebp - 0x58]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x34]
call fcn.0041a190
add esp, 0x1c
cmp dword [ebp - 0x58], 2
jne 0x41dd77
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp dword [ebp - 0xc], 1
cmove eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 8]
mov ecx, esi
mov edx, dword [ebp - 0x5c]
push dword [eax + 0x48]
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x70]
push dword [ebp - 0x4c]
call fcn.0042add0
mov eax, dword [ebp - 8]
add esp, 0x14
movss xmm3, dword [0x92b2b8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x4c]
cmp dword [eax + 0x40], 0
je 0x41ddef
mov eax, 2
cmp edx, eax
jle 0x41ddef
movss xmm2, dword [0x92b2f4]
mov edi, dword [ebp - 0x80]
movss xmm1, dword [ecx]
movss xmm0, dword [ecx + eax*4]
mulss xmm1, xmm2
comiss xmm1, xmm0
ja 0x41ddd6
movaps xmm0, xmm1
maxss xmm0, xmm3
movss dword [ecx + eax*4], xmm0
inc eax
cmp eax, edx
jl 0x41ddc1
mov eax, edi
mov dword [ebp - 0x80], edi
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0x80], eax
push dword [ebp - 0xc]
push dword [ebp - 0x90]
push ecx
push edx
mov edx, dword [ebp - 0x70]
mov ecx, esi
call fcn.0042aba0
mov eax, dword [ebp - 0x20]
add esp, 0x10
mov esi, dword [ebp - 0xc]
imul eax, esi
shl eax, 2
call fcn.00471740
mov eax, dword [ebp - 0x10]
mov ecx, esp
shl eax, 2
push eax
push 0
push ecx
mov dword [ebp - 0x3c], ecx
call fcn.00458760
movss xmm6, dword [0x92b408]
add esp, 0xc
cmp dword [ebp - 0x14], 0
movss xmm5, dword [0x92b3f8]
movss xmm4, dword [0x92b5f4]
mov edx, dword [ebp - 8]
jne 0x41e1c2
mov ecx, dword [edx + 0xec]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x41e1c2
cmp dword [edx + 0x40], 0
jne 0x41e1c2
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x24], eax
xorps xmm7, xmm7
mov eax, dword [edx + 0x5c]
xorps xmm3, xmm3
cmp eax, 2
mov edx, 2
cmovl eax, edx
mov dword [ebp - 0x48], eax
test esi, esi
jle 0x41ff59
movss xmm2, dword [0x92b7a0]
mov eax, esi
movss xmm4, dword [0x92b444]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0xac], eax
xor edx, edx
test edi, edi
je 0x41df2a
mov esi, 1
mov dword [ebp - 0x7c], ecx
sub esi, edi
mov eax, ecx
movss xmm1, dword [eax]
minss xmm1, xmm6
comiss xmm1, xmm2
jbe 0x41dedb
comiss xmm1, xmm0
jbe 0x41dede
mulss xmm1, xmm4
jmp 0x41dede
movaps xmm1, xmm2
mov eax, dword [ebp - 0x30]
movsx ecx, word [eax + edx*2 + 2]
movsx eax, word [eax + edx*2]
inc edx
sub ecx, eax
mov eax, dword [ebp - 0x7c]
add dword [ebp - 0x24], ecx
add eax, 4
mov dword [ebp - 0x7c], eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm7, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
add esi, 2
mulss xmm0, xmm1
addss xmm3, xmm0
xorps xmm0, xmm0
cmp edx, edi
jl 0x41dec3
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x20]
sub eax, 1
mov dword [ebp - 0xac], eax
lea ecx, [ecx + edx*4]
mov dword [ebp - 0x74], ecx
jne 0x41deb1
mov eax, dword [ebp - 0x24]
movss xmm4, dword [0x92b5f4]
mov edi, dword [ebx + 0x14]
test eax, eax
jle 0x41ff59
mov edx, dword [ebp - 0x48]
movaps xmm1, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea ecx, [edx - 1]
lea eax, [edx + 1]
imul ecx, eax
divss xmm7, xmm0
imul ecx, edx
addss xmm7, xmm5
imul ecx, dword [ebp - 0xc]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x92b768]
mulss xmm1, xmm3
minss xmm1, dword [0x92b384]
comiss xmm1, xmm0
movss dword [ebp - 0xac], xmm1
ja 0x41dfb1
movss dword [ebp - 0xac], xmm0
mov eax, dword [ebp - 0x30]
xor ecx, ecx
movsx eax, word [eax + edx*2]
cdq
sub eax, edx
mov edx, dword [ebp - 0x30]
add edx, 2
mov esi, eax
sar esi, 1
movsx eax, word [edx]
cmp eax, esi
jge 0x41dfdc
nop
movsx eax, word [edx + 2]
lea edx, [edx + 2]
inc ecx
cmp eax, esi
jl 0x41dfd0
xor edx, edx
cmp dword [ebp - 0x48], edx
je 0x41e19e
movss xmm4, dword [ebp - 0xac]
neg ecx
cmp dword [ebp - 0xc], 2
xorps xmm2, xmm2
jne 0x41e063
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x20]
mov esi, dword [eax + 0xec]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], esi
lea esi, [esi + edi*4]
mov edi, eax
sub dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x74], edi
nop word [eax + eax]
mov edi, dword [ebp - 0x24]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss xmm1, dword [eax + edi]
maxss xmm1, dword [esi]
mov edi, dword [ebx + 0x14]
mulss xmm0, xmm4
minss xmm1, xmm2
addss xmm0, xmm7
subss xmm1, xmm0
comiss xmm1, xmm6
jbe 0x41e054
subss xmm1, xmm6
inc edx
movss dword [eax], xmm1
inc ecx
add esi, 4
add eax, 4
sub dword [ebp - 0x74], 1
jne 0x41e020
jmp 0x41e0b9
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
mov edi, dword [esi + 0xec]
mov esi, dword [ebp - 0x48]
sub edi, eax
mov dword [ebp - 0x18], edi
nop word [eax + eax]
mov edi, dword [ebp - 0x18]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss xmm1, dword [eax + edi]
mov edi, dword [ebx + 0x14]
minss xmm1, xmm2
mulss xmm0, xmm4
addss xmm0, xmm7
subss xmm1, xmm0
comiss xmm1, xmm6
jbe 0x41e0b0
subss xmm1, xmm6
inc edx
movss dword [eax], xmm1
inc ecx
add eax, 4
sub esi, 1
jne 0x41e080
movss xmm4, dword [0x92b5f4]
cmp edx, 3
jl 0x41e19e
addss xmm7, xmm6
comiss xmm7, xmm2
jbe 0x41e10e
mov eax, dword [ebp - 0x48]
shl eax, 2
push eax
push 0
push dword [ebp - 0x3c]
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0xac], xmm2
call fcn.00458760
movss xmm4, dword [0x92b5f4]
add esp, 0xc
movss xmm5, dword [0x92b3f8]
movss xmm7, dword [ebp - 0x24]
jmp 0x41e19e
mov ecx, dword [ebp - 0x48]
xor eax, eax
cmp ecx, 8
jb 0x41e176
movaps xmm3, xmmword [0x92ba20]
mov esi, ecx
mov edi, dword [ebp - 0x3c]
and esi, 0xfffffff8
xor ecx, ecx
xorps xmm2, xmm2
xor edx, edx
nop
movups xmm1, xmmword [ecx + edi]
add ecx, 0x20
subps xmm1, xmm3
movaps xmm0, xmm1
cmpltps xmm0, xmm2
andnps xmm0, xmm1
movups xmmword [edx + edi], xmm0
add edx, 0x20
movups xmm1, xmmword [edi + eax*4 + 0x10]
subps xmm1, xmm3
movaps xmm0, xmm1
cmpltps xmm0, xmm2
andnps xmm0, xmm1
movups xmmword [edi + eax*4 + 0x10], xmm0
add eax, 8
cmp eax, esi
jl 0x41e130
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebx + 0x14]
cmp eax, ecx
jge 0x41e19e
xorps xmm2, xmm2
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x80]
nop dword [eax]
movss xmm0, dword [edx + eax*4]
subss xmm0, xmm6
comiss xmm2, xmm0
jbe 0x41e191
movaps xmm0, xmm2
movss dword [edx + eax*4], xmm0
inc eax
cmp eax, ecx
jl 0x41e180
mov dword [ebp - 0x80], esi
movss xmm0, dword [ebp - 0xac]
addss xmm7, xmm5
mulss xmm0, dword [0x92b6c4]
mov edx, dword [ebp - 8]
movss dword [ebp - 0xac], xmm0
movss dword [ebp - 0x24], xmm7
mov edx, dword [edx + 0x40]
mov esi, edx
test edx, edx
jne 0x41e2af
xorps xmm5, xmm5
movss xmm0, dword [0x92b7b8]
cmp dword [ebp - 0x54], edx
je 0x41e1f1
movd xmm2, dword [ebp - 0x1c]
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x92b444]
jmp 0x41e1f4
xorps xmm2, xmm2
mov edx, dword [ebp - 0x14]
mov ecx, edx
mov eax, dword [ebp - 0x10]
cmp edx, eax
jge 0x41e25d
mov eax, dword [ebp - 0x20]
movss xmm3, dword [0x92b4d0]
add eax, edx
mov edx, dword [ebp - 0x90]
mov esi, dword [ebp - 0xc]
lea eax, [edx + eax*4]
nop dword [eax]
movss xmm1, dword [edx + ecx*4]
subss xmm0, xmm3
subss xmm1, xmm2
comiss xmm0, xmm1
ja 0x41e235
movaps xmm0, xmm1
cmp esi, 2
jne 0x41e24a
movss xmm1, dword [eax]
subss xmm1, xmm2
comiss xmm0, xmm1
ja 0x41e24a
movaps xmm0, xmm1
inc ecx
addss xmm5, xmm0
add eax, 4
cmp ecx, dword [ebp - 0x10]
jl 0x41e220
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
sub eax, edx
mov ecx, dword [ebp - 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm1, dword [ecx + 0xf0]
divss xmm5, xmm0
subss xmm5, xmm1
maxss xmm5, dword [0x92b794]
comiss xmm5, xmm4
movss dword [ebp - 0x78], xmm5
jbe 0x41e293
movaps xmm5, xmm4
movss dword [ebp - 0x78], xmm4
mov edx, dword [ecx + 0x40]
movaps xmm0, xmm5
mulss xmm0, dword [0x92b36c]
mov esi, edx
addss xmm0, xmm1
movss dword [ecx + 0xf0], xmm0
cmp dword [ebp - 0x2c], 0
jne 0x41e2d3
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0xc]
shl eax, 2
push eax
push dword [ebp - 0x90]
push dword [ebp - 0x60]
call fcn.004591f0
add esp, 0xc
mov edx, esi
mov esi, dword [ebp - 0x1c]
test esi, esi
jle 0x41e4c1
bsr eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x14]
sub ecx, eax
add ecx, 2
cmp ecx, dword [ebp - 0xb8]
jg 0x41e488
cmp dword [ebp - 0x88], 0
jne 0x41e488
mov eax, dword [ebp - 8]
cmp dword [eax + 0x18], 5
jl 0x41e488
test edx, edx
jne 0x41e488
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x41e488
push dword [ebp - 0xc]
mov edx, dword [ebp - 0x84]
push dword [ebp - 0x10]
mov ecx, dword [ebp - 0x90]
push eax
push dword [ebp - 0x20]
call fcn.0041a030
add esp, 0x10
test eax, eax
je 0x41e488
mov eax, dword [ebp - 0x44]
mov edx, eax
push ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x54], eax
push dword [ecx + 0x1c]
push esi
push dword [ebp - 0x58]
mov esi, dword [ebp - 0x28]
mov ecx, esi
push dword [ebp - 0xc]
push dword [ebp - 0x5c]
push dword [ebp - 0x34]
call fcn.0041a190
mov eax, dword [ebp - 8]
add esp, 0x1c
mov edx, dword [ebp - 0x5c]
mov ecx, esi
push dword [eax + 0x48]
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x70]
push dword [ebp - 0x4c]
call fcn.0042add0
mov edx, dword [ebp - 0x70]
add esp, 0x14
mov ecx, esi
push dword [ebp - 0xc]
push dword [ebp - 0x90]
push dword [ebp - 0x4c]
push dword [ebp - 0x10]
call fcn.0042aba0
mov ecx, dword [ebp - 0xc]
add esp, 0x10
test ecx, ecx
jle 0x41e47b
mov eax, dword [ebp - 0x20]
xor edi, edi
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x2c], ecx
add esi, 8
mov ecx, dword [ebp - 0x10]
lea edx, [eax*4]
mov dword [ebp - 0x50], edx
mov eax, edx
nop
xor edx, edx
cmp ecx, 4
jl 0x41e42c
movd xmm1, dword [ebp - 0x1c]
add ecx, 0xfffffffc
cvtdq2ps xmm1, xmm1
shr ecx, 2
mov eax, esi
inc ecx
mulss xmm1, dword [0x92b444]
lea edx, [ecx*4]
shufps xmm1, xmm1, 0
nop dword [eax + eax]
movups xmm0, xmmword [eax - 8]
addps xmm0, xmm1
movups xmmword [eax - 8], xmm0
add eax, 0x10
sub ecx, 1
jne 0x41e410
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
jl 0x41e430
jmp 0x41e466
test ecx, ecx
jle 0x41e469
movd xmm1, dword [ebp - 0x1c]
lea eax, [edx + edi]
mov ecx, dword [ebp - 0x60]
cvtdq2ps xmm1, xmm1
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x10]
sub ecx, edx
mulss xmm1, dword [0x92b444]
nop
movaps xmm0, xmm1
addss xmm0, dword [eax]
movss dword [eax], xmm0
add eax, 4
sub ecx, 1
jne 0x41e450
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x50]
add edi, dword [ebp - 0x20]
add esi, eax
sub dword [ebp - 0x2c], 1
jne 0x41e3e0
mov edi, dword [ebx + 0x14]
movss xmm0, dword [0x92b3f8]
movss dword [ebp - 0x50], xmm0
mov edx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x14]
bsr eax, edx
sub ecx, eax
add ecx, 2
cmp ecx, dword [ebp - 0xb8]
jg 0x41e4c1
mov ecx, dword [ebp - 0x88]
mov eax, edx
shr eax, 3
sub edx, eax
test ecx, ecx
je 0x41e4b4
add dword [edi + 0x20], edx
test ecx, ecx
cmovne edx, eax
mov ecx, edi
mov dword [edi + 0x1c], edx
call fcn.00418f30
mov eax, dword [ebp - 0x9c]
imul eax, dword [ebp - 0xc]
shl eax, 2
call fcn.00471740
mov eax, dword [ebp - 0x28]
xor edi, edi
movss xmm2, dword [0x92b2ac]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x48], esp
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x2c]
imul eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x7c], eax
xor eax, eax
mov dword [ebp - 0x34], eax
nop
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
test esi, esi
jle 0x41e598
lea esi, [edx + 2]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x4c]
movss xmm1, dword [0x92b4d0]
mov eax, dword [eax + 8]
imul eax, edi
add eax, ecx
movss xmm0, dword [edx + eax*4]
movsx edx, word [esi - 2]
addss xmm0, xmm2
movsx eax, word [esi]
imul edx, dword [ebp - 0x44]
imul eax, dword [ebp - 0x44]
divss xmm1, xmm0
cmp edx, eax
jge 0x41e583
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x48]
add eax, edx
mov edi, dword [ebp - 0x5c]
sub edi, dword [ebp - 0x48]
lea ecx, [ecx + eax*4]
nop word [eax + eax]
movaps xmm0, xmm1
lea ecx, [ecx + 4]
mulss xmm0, dword [edi + ecx - 4]
inc edx
movss dword [ecx - 4], xmm0
movsx eax, word [esi]
imul eax, dword [ebp - 0x44]
cmp edx, eax
jl 0x41e560
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x74]
inc ecx
add esi, 2
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [ebp - 0x70]
jl 0x41e510
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x70]
add eax, dword [ebp - 0x7c]
inc edi
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x34], eax
cmp edi, ecx
jl 0x41e500
mov eax, ecx
shl eax, 4
sub eax, ecx
cmp dword [ebp - 0x64], eax
jl 0x41e5d5
cmp dword [ebp - 0x14], 0
jne 0x41e5d5
mov eax, dword [ebp - 8]
cmp dword [eax + 0x18], 2
jl 0x41e5d5
cmp dword [eax + 0x40], 0
mov dword [ebp - 0x2c], 1
je 0x41e5dc
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x20]
lea esi, [eax*4]
mov eax, esi
call fcn.00471740
mov eax, esi
mov dword [ebp - 0x5c], esp
call fcn.00471740
mov eax, esi
mov dword [ebp - 0x74], esp
call fcn.00471740
mov ecx, dword [ebp - 8]
mov eax, esp
push eax
push dword [ebp - 0x74]
mov dword [ebp - 0x7c], eax
lea eax, [ecx + 0x78]
mov edx, dword [ebp - 0x60]
push eax
push dword [ebp - 0x3c]
lea eax, [ebp - 0xdc]
push dword [ecx + 0x40]
push eax
push dword [ebp - 0x64]
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x1c]
push dword [ebp - 0x30]
push dword [ecx + 0x34]
push dword [ecx + 0x2c]
push dword [ebp - 0x88]
push dword [eax + 0x38]
push dword [ecx + 0x3c]
mov ecx, dword [ebp - 0x90]
push dword [ebp - 0x5c]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x20]
push dword [ebp - 0x84]
call fcn.0041b520
add esp, 0x50
movss dword [ebp - 0x94], xmm0
mov eax, esi
call fcn.00471740
cmp dword [ebp - 0x2c], 0
mov esi, esp
mov dword [ebp - 0x18], esi
je 0x41e6ee
mov eax, 0x5000
movss xmm0, dword [ebp - 0x50]
cdq
mov ecx, 0x50
idiv dword [ebp - 0x64]
push dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
add eax, 2
push dword [ebp - 0x38]
cmp eax, ecx
push ecx
movss dword [esp], xmm0
cmovl eax, ecx
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x9c]
push ecx
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x28]
push eax
push esi
push dword [ebp - 0x88]
call fcn.0041a960
mov ecx, dword [ebp - 0x70]
add esp, 0x24
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
cmp ecx, edx
jge 0x41e750
mov edi, ecx
nop dword [eax]
mov eax, dword [esi + edi*4 - 4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x41e6e0
jmp 0x41e750
cmp dword [ebp - 0x14], 0
je 0x41e736
cmp dword [ebp - 0x68], 0
je 0x41e70a
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x41e749
mov ecx, eax
mov eax, 1
jmp 0x41e745
cmp dword [ebp - 0x64], 0xf
jge 0x41e736
mov eax, dword [ebp - 8]
cmp dword [eax + 0xb8], 2
je 0x41e736
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x41e72b
mov ecx, eax
mov edi, esi
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x38], eax
jmp 0x41e750
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x41e749
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov edi, esi
rep stosd dword es:[edi], eax
mov dword [ebp - 0x38], 0
mov esi, dword [ebp - 0x20]
mov eax, esi
imul eax, dword [ebp - 0xc]
shl eax, 2
call fcn.00471740
movss xmm2, dword [0x92bc50]
lea eax, [esi*4]
mov esi, dword [ebp - 0x90]
xor ecx, ecx
movss xmm3, dword [0x92b5b8]
movss xmm4, dword [0x92b408]
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x3c], esp
mov dword [ebp - 0x34], ecx
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x14], edi
jge 0x41e80e
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x10]
sub esi, dword [ebp - 0xb4]
sub edi, dword [ebp - 0x90]
sub edx, dword [ebp - 0x14]
nop dword [eax]
movss xmm1, dword [eax]
lea ecx, [edi + eax]
movaps xmm0, xmm1
subss xmm0, dword [esi + ecx]
andps xmm0, xmm2
comiss xmm3, xmm0
jbe 0x41e7f7
movss xmm0, dword [ecx]
mulss xmm0, xmm4
subss xmm1, xmm0
movss dword [eax], xmm1
add eax, 4
sub edx, 1
jne 0x41e7d0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
inc ecx
add eax, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], eax
cmp ecx, esi
jl 0x41e7a3
mov ecx, dword [ebp - 8]
xor eax, eax
mov edi, dword [ebx + 0x14]
mov edx, dword [ebp - 0x14]
push dword [ecx + 0x40]
cmp dword [ecx + 0x18], 4
push dword [ecx + 0x38]
setge al
push eax
lea eax, [ecx + 0x54]
push eax
push dword [ecx + 0xc]
push dword [ebp - 0xa0]
push dword [ebp - 0x1c]
push esi
mov esi, dword [ebp - 0x28]
mov ecx, esi
push edi
push dword [ebp - 0x3c]
push dword [ebp - 0xb8]
push dword [ebp - 0x84]
push dword [ebp - 0x90]
push dword [ebp - 0x70]
push dword [ebp - 0x10]
call fcn.0042a3c0
mov edx, dword [ebp - 0x10]
add esp, 0x3c
mov ecx, dword [ebp - 0x14]
push edi
push dword [ebp - 0x38]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
push dword [ebp - 0x88]
call fcn.0041ae50
bsr eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x14]
add esp, 0x14
sub ecx, eax
add ecx, 3
cmp ecx, dword [ebp - 0xb8]
jg 0x41e8ef
mov edx, dword [ebp - 8]
cmp dword [edx + 0x40], 0
je 0x41eab0
mov dword [edx + 0x64], 0
mov ecx, dword [edi + 0x1c]
mov esi, 0x537e82
mov dword [edx + 0x50], 2
mov edx, ecx
shr edx, 5
movzx eax, byte [esi - 1]
imul eax, edx
sub ecx, eax
add dword [edi + 0x20], ecx
movzx eax, byte [esi]
movzx ecx, byte [esi - 1]
sub ecx, eax
imul ecx, edx
lea eax, [edi + 0x1c]
mov dword [eax], ecx
mov ecx, edi
call fcn.00418f30
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
cmp dword [eax + 0x40], 0
je 0x41e916
mov eax, 0x55555556
mov ecx, 8
imul dword [ebp - 0x64]
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [ebp - 0x5c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
shl eax, 2
call fcn.00471740
mov eax, esp
mov ecx, esi
push dword [ebp - 0xc]
mov edx, eax
mov dword [ebp - 0x7c], eax
push dword [ebp - 0x1c]
call fcn.00404330
mov edx, dword [edi + 0x1c]
add esp, 8
bsr esi, edx
mov dword [ebp - 0x60], 6
inc esi
mov dword [ebp - 0x44], 0
lea ecx, [esi - 0x10]
shr edx, cl
mov ecx, edx
shr ecx, 0xc
sub ecx, 8
cmp dword [ecx*4 + 0x5ae9e4], edx
mov edx, dword [edi + 0x14]
sbb eax, eax
sub edx, esi
neg eax
mov dword [ebp - 0x64], edx
mov esi, edx
shl esi, 3
sub esi, eax
mov eax, dword [ebp - 0x14]
sub esi, ecx
mov ecx, eax
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x74], ecx
cmp eax, dword [ebp - 0x10]
jge 0x41ebd5
mov edx, dword [ebp - 0x5c]
lea eax, [edx + eax*4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
sub eax, edx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0xb8]
movsx edx, word [eax + ecx*2 + 2]
movsx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x1c]
sub edx, eax
imul edx, dword [ebp - 0xc]
mov eax, 0x30
shl edx, cl
cmp edx, 0x30
mov ecx, edx
cmovl ecx, eax
lea eax, [edx*8]
cmp eax, ecx
cmovl ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x70], ecx
xor edx, edx
lea ecx, [edi*8]
mov dword [ebp - 0x2c], eax
sub ecx, dword [ebp - 0x44]
mov edi, dword [ebx + 0x14]
lea eax, [esi + eax*8]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], edx
cmp eax, ecx
jge 0x41ebb4
mov esi, edx
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0xbc]
cmp edx, dword [ecx + eax]
jge 0x41eb99
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x1c]
mov edx, eax
shr edx, cl
mov ecx, dword [ebp - 0x68]
sub eax, edx
cmp esi, ecx
jge 0x41ea3a
add dword [edi + 0x20], eax
cmp esi, ecx
cmovl eax, edx
mov ecx, edi
mov dword [edi + 0x1c], eax
call fcn.00418f30
mov edx, dword [edi + 0x1c]
bsr esi, edx
inc esi
lea ecx, [esi - 0x10]
shr edx, cl
mov ecx, edx
shr ecx, 0xc
sub ecx, 8
cmp dword [ecx*4 + 0x5ae9e4], edx
mov edx, dword [edi + 0x14]
sbb eax, eax
sub edx, esi
mov esi, dword [ebp - 0x34]
neg eax
shl edx, 3
sub edx, eax
sub edx, ecx
mov dword [ebp - 0x64], edx
cmp esi, dword [ebp - 0x68]
jge 0x41eb96
mov eax, dword [ebp - 0x70]
inc esi
add dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xcc]
add dword [ebp - 0x44], eax
sub ecx, eax
lea eax, [edx + 8]
mov dword [ebp - 0x2c], 1
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x34], esi
cmp eax, ecx
jl 0x41ea02
jmp 0x41eb99
cmp dword [ebp - 0x14], 0
je 0x41eaf2
cmp dword [edx + 0x18], 0
jne 0x41eaca
mov dword [edx + 0x50], 0
xor eax, eax
jmp 0x41eb4e
cmp dword [ebp - 0x88], 0
je 0x41eae4
mov dword [edx + 0x50], 2
mov eax, 2
jmp 0x41eb4e
mov dword [edx + 0x50], 3
mov eax, 3
jmp 0x41eb4e
cmp dword [ebp - 0x54], 0
jne 0x41eb6b
cmp dword [edx + 0x18], 3
jl 0x41eb6b
mov ecx, dword [ebp - 0xc]
lea eax, [ecx + ecx*4]
add eax, eax
cmp dword [ebp - 0xa0], eax
jl 0x41eb6b
push dword [ebp - 0x7c]
xor eax, eax
push dword [ebp - 0x44]
cmp dword [ebp - 0xbc], eax
push ecx
push dword [ebp - 0x70]
setne al
mov ecx, esi
push eax
lea eax, [edx + 0x64]
push eax
lea eax, [edx + 0x60]
push eax
push dword [edx + 0x50]
lea eax, [edx + 0x58]
mov edx, dword [ebp - 0x48]
push eax
call fcn.0042b810
mov ecx, dword [ebp - 8]
add esp, 0x24
mov dword [ecx + 0x50], eax
mov ecx, dword [edi + 0x1c]
lea esi, [eax + 0x537e80]
mov edx, ecx
mov dword [ebp - 0xbc], ecx
shr edx, 5
test eax, eax
jle 0x41eb89
jmp 0x41e8c8
cmp dword [edx + 0x18], 0
jne 0x41e8b4
mov ecx, dword [edi + 0x1c]
mov esi, 0x537e80
mov dword [edx + 0x50], 0
mov edx, ecx
shr edx, 5
movzx eax, byte [esi]
imul eax, edx
sub ecx, eax
jmp 0x41e8e0
mov edx, dword [ebp - 0x38]
test esi, esi
mov esi, dword [ebp - 0x64]
je 0x41ebb4
mov eax, dword [ebp - 0x60]
dec eax
mov ecx, eax
cmp eax, 2
mov eax, 2
cmovl ecx, eax
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x74]
inc ecx
mov dword [ebp - 0x74], ecx
mov dword [eax], edx
add eax, 4
mov dword [ebp - 0xa0], eax
cmp ecx, dword [ebp - 0x10]
jl 0x41e9a1
mov edx, dword [ebp - 0xc]
cmp edx, 2
jne 0x41edbf
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x41ecfd
mov eax, dword [ebp - 0x28]
xor edi, edi
movss xmm6, dword [0x92b2b8]
movaps xmm5, xmm6
mov edx, dword [eax + 0x20]
mov dword [ebp - 0xbc], edx
lea esi, [edx + 2]
mov dword [ebp - 0x68], esi
nop dword [eax + eax]
movsx eax, word [esi]
movsx edx, word [edi + edx]
shl eax, cl
shl edx, cl
mov dword [ebp - 0xcc], eax
cmp edx, eax
jge 0x41ec94
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x48]
add eax, edx
movss xmm4, dword [0x92bc50]
mov esi, dword [ebp - 0x48]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xcc]
nop dword [eax + eax]
movss xmm2, dword [esi + edx*4]
inc edx
movss xmm3, dword [eax]
movaps xmm0, xmm2
movaps xmm1, xmm3
andps xmm0, xmm4
andps xmm1, xmm4
add eax, 4
addss xmm1, xmm0
movaps xmm0, xmm2
subss xmm0, xmm3
addss xmm3, xmm2
addss xmm6, xmm1
andps xmm0, xmm4
andps xmm3, xmm4
addss xmm0, xmm3
addss xmm5, xmm0
cmp edx, ecx
jl 0x41ec50
mov esi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xbc]
add edi, 2
add esi, 2
mov dword [ebp - 0x68], esi
cmp edi, 0x1a
jl 0x41ec10
mov eax, dword [ebp - 0x28]
inc ecx
mov edi, dword [ebx + 0x14]
mov esi, dword [ebp - 0x64]
mov eax, dword [eax + 0x20]
movsx edx, word [eax + 0x1a]
xor eax, eax
shl edx, cl
cmp dword [ebp - 0x1c], 1
setg al
movd xmm0, edx
cvtdq2ps xmm0, xmm0
lea eax, [eax*8 + 5]
add eax, edx
mulss xmm0, xmm6
movd xmm1, eax
xor eax, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm5
mulss xmm1, dword [0x92b47c]
comiss xmm1, xmm0
seta al
mov dword [ebp - 0xa8], eax
mov eax, 0x10624dd3
imul dword [ebp - 0x8c]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
xor ecx, ecx
movd xmm1, eax
mov eax, 0x537e90
cvtdq2ps xmm1, xmm1
movss xmm0, dword [eax + ecx*4]
comiss xmm0, xmm1
ja 0x41ed56
movss xmm0, dword [ecx*4 + 0x537e94]
comiss xmm0, xmm1
ja 0x41ed55
movss xmm0, dword [ecx*4 + 0x537e98]
comiss xmm0, xmm1
ja 0x41ed50
add ecx, 3
cmp ecx, 0x15
jl 0x41ed20
jmp 0x41ed56
add ecx, 2
jmp 0x41ed56
inc ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0xe8]
cmp ecx, eax
jle 0x41ed7e
movss xmm0, dword [eax*4 + 0x537e90]
addss xmm0, dword [eax*4 + 0x537ee8]
comiss xmm0, xmm1
jbe 0x41ed98
mov ecx, eax
jmp 0x41ed98
jge 0x41ed98
movss xmm0, dword [eax*4 + 0x537e8c]
subss xmm0, dword [eax*4 + 0x537ee4]
comiss xmm1, xmm0
cmova ecx, eax
cmp dword [ebp - 0x14], ecx
mov eax, ecx
mov edx, dword [ebp - 0x10]
cmovg eax, dword [ebp - 0x14]
cmp edx, eax
jge 0x41edac
mov ecx, edx
jmp 0x41edb3
cmp dword [ebp - 0x14], ecx
cmovg ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov dword [eax + 0xe8], ecx
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x34], 5
lea ecx, [eax*8]
sub ecx, dword [ebp - 0x44]
lea eax, [esi + 0x30]
cmp eax, ecx
jg 0x41eee3
cmp dword [ebp - 0x14], 0
mov ecx, dword [ebp - 8]
jg 0x41ee71
cmp dword [ecx + 0x40], 0
jne 0x41ee71
push dword [ecx + 0x48]
movss xmm0, dword [ebp - 0xac]
lea eax, [ecx + 0xe4]
push dword [ebp - 0x8c]
push ecx
movss dword [esp], xmm0
push dword [ecx + 0xe8]
movss xmm0, dword [ebp - 0x50]
push ecx
movss dword [esp], xmm0
push eax
lea eax, [ecx + 0x78]
mov ecx, dword [ebp - 0x28]
push eax
push dword [ebp - 0x9c]
push edx
push dword [ebp - 0x1c]
mov edx, dword [ebp - 0x48]
push dword [ebp - 0x10]
push dword [ebp - 0x90]
call fcn.0041afc0
mov ecx, dword [edi + 0x1c]
add esp, 0x30
mov edx, ecx
mov dword [ebp - 0x34], eax
shr edx, 7
lea esi, [eax + 0x537f3c]
test eax, eax
jg 0x41ee8f
movzx eax, byte [esi]
imul eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
jmp 0x41eea7
mov dword [ecx + 0xe4], 0
mov esi, 0x537f41
mov ecx, dword [edi + 0x1c]
mov edx, ecx
mov dword [ebp - 0x34], 5
shr edx, 7
movzx eax, byte [esi - 1]
imul eax, edx
sub ecx, eax
add dword [edi + 0x20], ecx
movzx ecx, byte [esi - 1]
movzx eax, byte [esi]
sub ecx, eax
imul ecx, edx
lea eax, [edi + 0x1c]
mov dword [eax], ecx
mov ecx, edi
call fcn.00418f30
mov edx, dword [edi + 0x1c]
bsr esi, edx
inc esi
lea ecx, [esi - 0x10]
shr edx, cl
mov ecx, edx
shr ecx, 0xc
sub ecx, 8
cmp dword [ecx*4 + 0x5ae9e4], edx
mov edx, dword [edi + 0x14]
sbb eax, eax
sub edx, esi
mov esi, edx
mov dword [ebp - 0x64], edx
neg eax
shl esi, 3
sub esi, eax
sub esi, ecx
cmp dword [ebp - 0xc0], 0
jle 0x41f1da
mov eax, dword [ebp - 0x28]
mov ecx, 3
sub ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xc0]
mov eax, dword [eax + 0x24]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x68], eax
mov eax, 0x4fb
sar eax, cl
mov ecx, dword [ebp - 0x40]
cmp ecx, eax
cmovge ecx, eax
cmp dword [ebp - 0x14], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x2c], ecx
jne 0x41ef35
lea eax, [eax + eax*4]
shl eax, 6
sub edx, eax
sub edx, 0xa0
jmp 0x41ef45
lea ecx, [eax + eax*8]
xor eax, eax
shl ecx, 3
sub edx, ecx
add edx, 0xffffffe0
cmovs edx, eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x38], edx
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x41ef71
mov eax, dword [eax + 0xd8]
mov ecx, dword [ebp - 0x68]
sar eax, cl
mov ecx, dword [ebp - 0xcc]
add edx, eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x14], 0
mov edi, dword [ebx + 0x14]
jne 0x41f01b
mov edi, dword [ebp - 8]
sub esp, 8
movss xmm0, dword [ebp - 0x78]
xor eax, eax
cmp dword [edi + 0xec], eax
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x24]
setne al
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x94]
push eax
mov eax, edi
push dword [eax + 0x40]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0xb0]
movss xmm0, dword [ebp - 0x50]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0xdc]
movss xmm0, dword [eax + 0xe4]
push ecx
movss dword [esp], xmm0
push ecx
push dword [eax + 0xe8]
mov ecx, dword [ebp - 0x28]
push dword [ebp - 0xc]
push dword [eax + 0x5c]
push dword [ebp - 0x8c]
push dword [ebp - 0x1c]
push edx
lea edx, [eax + 0x78]
call fcn.0041d110
mov ecx, dword [ebp - 0x44]
add esp, 0x40
mov edi, dword [ebx + 0x14]
add ecx, 0x3f
add ecx, esi
sar ecx, 6
lea edx, [esi + eax]
add ecx, 2
jmp 0x41f0ae
cmp dword [eax + 0xbc], 0x64
jge 0x41f038
mov ecx, 3
mov edx, 0x60
sub ecx, dword [ebp - 0x1c]
sar edx, cl
add edx, dword [ebp - 0x38]
jmp 0x41f04e
jle 0x41f04e
mov edx, dword [ebp - 0x38]
mov ecx, 3
sub ecx, dword [ebp - 0x1c]
mov eax, 0x90
sar eax, cl
sub edx, eax
movss xmm1, dword [ebp - 0x50]
movaps xmm0, xmm1
subss xmm0, dword [0x92b408]
mulss xmm0, dword [0x92b6f8]
cvttss2si eax, xmm0
add edx, eax
comiss xmm1, dword [0x92b474]
jbe 0x41f08b
cmp edx, 0x190
mov eax, 0x190
cmovg eax, edx
mov dword [ebp - 0x94], eax
mov edx, eax
mov eax, dword [ebp - 0x44]
add edx, esi
lea ecx, [eax + 0x3f]
add ecx, esi
mov esi, dword [ebp - 0x6c]
add esi, 0x167
sar ecx, 6
add eax, esi
add ecx, 2
sar eax, 6
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [ebp - 0x80]
lea esi, [edx + 0x20]
sar esi, 6
cmp ecx, esi
cmovg esi, ecx
cmp dword [ebp - 0x2c], esi
cmovl esi, dword [ebp - 0x2c]
sub edx, dword [ebp - 0xc0]
mov ecx, esi
shl ecx, 6
mov dword [ebp - 0x40], esi
test eax, eax
je 0x41f0e1
mov dword [ebp - 0x40], 2
mov ecx, 0x80
xor esi, esi
test eax, eax
cmove esi, edx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0xdc]
cmp eax, 0x3ca
jge 0x41f117
movss xmm1, dword [0x92b4d0]
inc eax
mov dword [edx + 0xdc], eax
add eax, 0x14
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
jmp 0x41f11f
movss xmm1, dword [0x92b324]
cmp dword [edx + 0x34], 0
je 0x41f1a2
mov eax, dword [edx + 0xd0]
sub eax, dword [ebp - 0xc0]
add eax, ecx
mov ecx, dword [ebp - 0x68]
shl esi, cl
mov ecx, dword [ebp - 8]
mov dword [edx + 0xd0], eax
mov edx, dword [edx + 0xd4]
sub esi, edx
mov dword [ebp - 0x94], eax
sub esi, dword [ecx + 0xd8]
movd xmm0, esi
mov esi, dword [ebp - 0x40]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add eax, edx
mov dword [ecx + 0xd4], eax
neg eax
mov dword [ecx + 0xd8], eax
mov eax, dword [ebp - 0x94]
test eax, eax
jns 0x41f1a5
cdq
and edx, 0x3f
add eax, edx
xor edx, edx
sar eax, 6
neg eax
mov dword [ecx + 0xd0], edx
cmp dword [ebp - 0x80], edx
cmovne eax, edx
add esi, eax
jmp 0x41f1a5
mov esi, dword [ebp - 0x40]
cmp dword [ebp - 0x2c], esi
mov eax, dword [edi + 0x18]
cmovl esi, dword [ebp - 0x2c]
mov edx, dword [edi + 8]
add eax, edx
mov dword [ebp - 0x40], esi
cmp eax, esi
ja 0x41ff6d
mov ecx, dword [edi]
mov eax, ecx
sub eax, edx
sub ecx, edx
add eax, dword [edi + 4]
add ecx, esi
push edx
push eax
push ecx
call fcn.004591f0
add esp, 0xc
mov dword [edi + 4], esi
mov eax, dword [ebp - 0x20]
lea esi, [eax*4]
mov eax, esi
call fcn.00471740
mov eax, esi
mov dword [ebp - 0x38], esp
call fcn.00471740
mov eax, esi
mov dword [ebp - 0x68], esp
call fcn.00471740
mov eax, dword [edi + 0x1c]
bsr esi, eax
mov dword [ebp - 0x2c], esp
lea ecx, [esi - 0xf]
shr eax, cl
mov edx, eax
shr edx, 0xc
cmp dword [edx*4 + 0x5ae9c4], eax
mov eax, dword [ebp - 0x40]
sbb ecx, ecx
sub edx, 9
neg ecx
lea eax, [eax*8 + 1]
add eax, esi
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0x14]
shl eax, 3
sub ecx, eax
add edx, ecx
cmp dword [ebp - 0x88], 0
je 0x41f25c
mov eax, dword [ebp - 0x1c]
cmp eax, 2
jl 0x41f25c
lea eax, [eax*8 + 0x10]
cmp edx, eax
jl 0x41f25c
mov eax, 8
jmp 0x41f25e
xor eax, eax
mov ecx, dword [ebp - 0x10]
sub edx, eax
mov dword [ebp - 0x30], eax
dec ecx
mov eax, dword [ebp - 8]
cmp dword [eax + 0x78], 0
je 0x41f2cd
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x8c]
imul eax, ecx, 0x7d00
cmp esi, eax
jge 0x41f28a
mov ecx, 0xd
jmp 0x41f2bc
imul eax, ecx, 0xbb80
cmp esi, eax
jge 0x41f29b
mov ecx, 0x10
jmp 0x41f2bc
imul eax, ecx, 0xea60
cmp esi, eax
jge 0x41f2ac
mov ecx, 0x12
jmp 0x41f2bc
imul eax, ecx, 0x13880
xor ecx, ecx
cmp esi, eax
setge cl
add ecx, 0x13
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x98]
cmp eax, ecx
cmovg ecx, eax
mov eax, dword [ebp - 8]
cmp dword [eax + 0x40], 0
mov esi, 1
cmovne ecx, esi
lea esi, [eax + 0x5c]
push ecx
push dword [esi]
lea ecx, [ebp - 0xbc]
add eax, 0xe8
push 1
push edi
push dword [ebp - 0x1c]
mov dword [ebp - 0x6c], eax
push dword [ebp - 0xc]
push dword [ebp - 0x2c]
push dword [ebp - 0x38]
push dword [ebp - 0x68]
push ecx
push edx
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, dword [ebp - 0x28]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x7c]
push dword [ebp - 0x5c]
push dword [ebp - 0x10]
call fcn.0042fef0
mov ecx, eax
add esp, 0x44
mov eax, dword [esi]
mov dword [ebp - 0x78], ecx
test eax, eax
je 0x41f351
lea edx, [eax - 1]
cmp edx, ecx
cmovg ecx, edx
inc eax
cmp eax, ecx
jl 0x41f343
mov eax, dword [ebp - 0x78]
cmp edx, eax
cmovg eax, edx
mov ecx, dword [ebp - 8]
add ecx, 0xe8
mov dword [ebp - 0x6c], ecx
jmp 0x41f353
mov eax, ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
mov dword [esi], eax
mov dword [ebp - 0xb0], edx
cmp ecx, dword [ebp - 0x10]
jge 0x41f50f
mov eax, dword [ebp - 0x38]
movsd xmm2, qword [0x92b6e0]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x24], eax
nop word [eax + eax]
mov ecx, dword [eax]
mov eax, 1
shl ax, cl
movzx eax, ax
test ecx, ecx
jle 0x41f4eb
cwde
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
movd xmm1, eax
lea esi, [eax - 1]
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0xcc], esi
movss dword [ebp - 0x94], xmm1
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebp - 0x28]
movsd xmm3, qword [0x92b758]
mov eax, dword [eax + 8]
imul eax, ecx
mov ecx, dword [ebp - 0x3c]
add eax, edx
movss xmm0, dword [ecx + eax*4]
mov ecx, esi
addss xmm0, dword [0x92b444]
mulss xmm0, xmm1
movaps xmm1, xmm2
cvtps2pd xmm4, xmm0
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
cmpltsd xmm0, xmm2
movaps xmm2, xmm4
andps xmm1, xmm0
orps xmm1, xmm3
addsd xmm2, xmm1
subsd xmm2, xmm1
movsd xmm1, qword [0x92b588]
movaps xmm0, xmm2
subsd xmm0, xmm4
cmpnlesd xmm0, xmm3
andps xmm0, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
cmp eax, esi
cmovle ecx, eax
mov eax, dword [ebp - 0x24]
xor esi, esi
test ecx, ecx
cmovns esi, ecx
mov ecx, edi
push dword [eax]
mov edx, esi
call fcn.004192a0
mov eax, dword [ebp - 0x24]
mov ecx, 0xe
mov edx, dword [ebp - 0xb0]
add esp, 4
mov edi, dword [ebp - 0x84]
movd xmm0, esi
sub ecx, dword [eax]
mov eax, 1
mov esi, dword [ebp - 0x28]
shl eax, cl
mov ecx, dword [ebp - 0x6c]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
addss xmm0, dword [0x92b444]
mov eax, dword [esi + 8]
cvtdq2ps xmm1, xmm1
imul eax, ecx
mulss xmm1, xmm0
movsd xmm2, qword [0x92b6e0]
mulss xmm1, dword [0x92b2f0]
add eax, edx
subss xmm1, dword [0x92b444]
movaps xmm0, xmm1
addss xmm0, dword [edi + eax*4]
movss dword [edi + eax*4], xmm0
mov eax, dword [esi + 8]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebx + 0x14]
imul eax, ecx
inc ecx
mov dword [ebp - 0x6c], ecx
add eax, edx
movss xmm0, dword [esi + eax*4]
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x94]
movss dword [esi + eax*4], xmm0
mov esi, dword [ebp - 0xcc]
cmp ecx, dword [ebp - 0xc]
jl 0x41f3c0
mov eax, dword [ebp - 0x24]
inc edx
add eax, 4
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x24], eax
cmp edx, dword [ebp - 0x10]
jl 0x41f380
mov esi, dword [ebp - 8]
add esi, 0xe8
jmp 0x41f512
mov esi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0xc]
call fcn.00471740
cmp dword [ebp - 0xc], 2
mov edx, esp
jne 0x41f534
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x9c]
lea ecx, [eax + ecx*4]
jmp 0x41f536
xor ecx, ecx
mov eax, dword [ebp - 8]
push dword [eax + 0x44]
push dword [eax + 0x48]
push dword [eax + 0x18]
add eax, 0x4c
push eax
push dword [ebp - 0x78]
mov eax, dword [ebp - 0x40]
push dword [ebp - 0x1c]
shl eax, 6
sub eax, dword [ebp - 0x30]
push edi
push dword [ebp - 0xbc]
push eax
push dword [ebp - 0x18]
push dword [esi]
mov esi, dword [ebp - 8]
push dword [ebp - 0xa8]
push dword [esi + 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0x68]
push dword [ebp - 0x4c]
push edx
mov edx, dword [ebp - 0x28]
push ecx
push dword [ebp - 0x48]
mov ecx, 1
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call fcn.0042d870
add esp, 0x54
cmp dword [ebp - 0x30], 0
jbe 0x41f61d
mov edx, dword [edi + 0x10]
xor eax, eax
cmp dword [esi + 0x74], 2
mov dword [ebp - 0x18], edx
setl al
mov dword [ebp - 0x94], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x24], eax
lea eax, [edx + 1]
cmp eax, 0x20
jbe 0x41f602
nop
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 8]
add eax, esi
mov ecx, dword [edi + 4]
cmp eax, ecx
jb 0x41f5d4
or eax, 0xffffffff
jmp 0x41f5e9
mov edx, dword [ebp - 0x24]
lea eax, [esi + 1]
mov dword [edi + 8], eax
sub ecx, eax
mov eax, dword [edi]
mov byte [ecx + eax], dl
xor eax, eax
mov edx, dword [ebp - 0x18]
or dword [edi + 0x2c], eax
sub edx, 8
mov eax, dword [ebp - 0x24]
shr eax, 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], edx
cmp edx, 8
jge 0x41f5c0
jmp 0x41f605
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x94]
mov ecx, edx
shl esi, cl
or esi, eax
inc dword [edi + 0x14]
lea eax, [edx + 1]
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], eax
bsr ecx, dword [edi + 0x1c]
mov eax, dword [ebp - 0x40]
xorps xmm2, xmm2
movss xmm3, dword [0x92b444]
shl eax, 3
sub eax, dword [edi + 0x14]
inc eax
add ecx, eax
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x50], edx
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x78], esi
cmp esi, eax
jge 0x41f7ce
mov eax, dword [ebp - 0x38]
mov edi, esi
lea eax, [eax + edi*4]
mov edi, dword [ebp - 0x2c]
sub edi, dword [ebp - 0x38]
mov dword [ebp - 0x94], edi
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0x30], eax
cmp ecx, dword [ebp - 0xc]
jl 0x41f7cb
cmp dword [eax], 8
jge 0x41f7b8
mov esi, dword [ebp - 0x94]
cmp dword [esi + eax], edx
mov esi, dword [ebp - 0x78]
jne 0x41f7b8
mov edx, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
imul eax, ecx
xor ecx, ecx
add eax, esi
comiss xmm2, dword [edx + eax*4]
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], edx
lea eax, [edx + 1]
setbe cl
mov dword [ebp - 0x6c], ecx
cmp eax, 0x20
jbe 0x41f711
nop dword [eax + eax]
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 8]
add eax, esi
mov ecx, dword [edi + 4]
cmp eax, ecx
jb 0x41f6e4
or eax, 0xffffffff
jmp 0x41f6f9
mov edx, dword [ebp - 0x24]
lea eax, [esi + 1]
mov dword [edi + 8], eax
sub ecx, eax
mov eax, dword [edi]
mov byte [ecx + eax], dl
xor eax, eax
mov edx, dword [ebp - 0x18]
or dword [edi + 0x2c], eax
sub edx, 8
shr dword [ebp - 0x24], 8
mov dword [ebp - 0x18], edx
cmp edx, 8
jge 0x41f6d0
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x78]
inc dword [edi + 0x14]
mov eax, ecx
movd xmm0, dword [ebp - 0x6c]
mov ecx, edx
shl eax, cl
mov ecx, 0xd
or eax, dword [ebp - 0x24]
mov dword [edi + 0xc], eax
lea eax, [edx + 1]
mov edx, dword [ebp - 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x84]
cvtdq2ps xmm0, xmm0
dec dword [ebp - 0xa8]
sub ecx, dword [eax]
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0xb0]
subss xmm0, xmm3
movd xmm1, eax
mov eax, dword [edx + 8]
cvtdq2ps xmm1, xmm1
imul eax, ecx
mulss xmm1, xmm0
mulss xmm1, dword [0x92b2f0]
add eax, esi
movaps xmm0, xmm1
addss xmm0, dword [edi + eax*4]
movss dword [edi + eax*4], xmm0
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x3c]
mov edi, dword [ebx + 0x14]
imul eax, ecx
inc ecx
mov dword [ebp - 0xb0], ecx
add eax, esi
movss xmm0, dword [edx + eax*4]
subss xmm0, xmm1
movss dword [edx + eax*4], xmm0
cmp ecx, dword [ebp - 0xc]
jl 0x41f6a0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x50]
inc esi
add eax, 4
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x30], eax
cmp esi, dword [ebp - 0x10]
jl 0x41f671
mov eax, dword [ebp - 0x10]
inc edx
mov dword [ebp - 0x50], edx
cmp edx, 2
jl 0x41f646
mov esi, dword [ebp - 0x20]
mov eax, esi
imul eax, dword [ebp - 0x58]
shl eax, 2
push eax
push 0
push dword [ebp - 0xb4]
call fcn.00458760
mov ecx, dword [ebp - 0x10]
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov eax, ecx
movaps xmm2, xmmword [0x92ba30]
sub eax, edx
movaps xmm3, xmmword [0x92bc90]
dec ecx
movss xmm4, dword [0x92b778]
mov dword [ebp - 0x18], eax
lea eax, [esi*4]
mov esi, dword [ebp - 0xb4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x3c]
sub esi, eax
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0xa8], esi
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x78], ecx
xor eax, eax
jmp 0x41f863
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
cmp edi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x24]
jge 0x41f97f
cmp dword [ebp - 0x18], 0x10
jb 0x41f933
lea eax, [esi + edi]
cmp eax, ecx
ja 0x41f88e
lea eax, [esi + ecx]
cmp eax, edi
jae 0x41f930
mov eax, dword [ebp - 0x18]
and eax, 0x8000000f
jns 0x41f89d
dec eax
or eax, 0xfffffff0
inc eax
mov esi, dword [ebp - 0x10]
lea ecx, [edi + 0x30]
sub esi, eax
add edi, 0x10
mov eax, dword [ebp - 0xa8]
add eax, edi
mov edi, dword [ebp - 0x3c]
sub edi, dword [ebp - 0xb4]
nop dword [eax]
movups xmm0, xmmword [ecx - 0x30]
lea eax, [eax + 0x40]
add edx, 0x10
movaps xmm1, xmm2
lea ecx, [ecx + 0x40]
minps xmm1, xmm0
movaps xmm0, xmm3
maxps xmm0, xmm1
movaps xmm1, xmm2
movups xmmword [eax - 0x50], xmm0
movups xmm0, xmmword [eax + edi - 0x40]
minps xmm1, xmm0
movaps xmm0, xmm3
maxps xmm0, xmm1
movaps xmm1, xmm2
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [ecx - 0x50]
minps xmm1, xmm0
movaps xmm0, xmm3
maxps xmm0, xmm1
movaps xmm1, xmm2
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [ecx - 0x40]
minps xmm1, xmm0
movaps xmm0, xmm3
maxps xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
cmp edx, esi
jl 0x41f8c0
mov eax, edx
mov dword [ebp - 0x94], edx
cmp eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
jge 0x41f976
jmp 0x41f933
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xb4]
add eax, edx
mov esi, dword [ebp - 0x3c]
movss xmm1, dword [0x92b444]
sub esi, ecx
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x10]
sub ecx, edx
mov edx, dword [ebp - 0x80]
movss xmm0, dword [esi + eax]
minss xmm0, xmm1
comiss xmm4, xmm0
jbe 0x41f964
movaps xmm0, xmm4
movss dword [eax], xmm0
add eax, 4
sub ecx, 1
jne 0x41f953
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x80], edx
mov esi, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x24]
inc edx
add eax, dword [ebp - 0x20]
add ecx, dword [ebp - 0xb0]
add edi, dword [ebp - 0xb0]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x24], edi
cmp edx, dword [ebp - 0xc]
jl 0x41f860
cmp dword [ebp - 0x80], 0
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
je 0x41f9cf
mov ecx, esi
imul ecx, eax
test ecx, ecx
jle 0x41f9cf
mov edi, dword [ebp - 0x84]
mov eax, 0xc1e00000
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x58], 2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xd0]
movss xmm0, dword [ebp - 0x98]
mov edi, dword [ebp - 0x84]
mov dword [ecx + 0x68], edx
mov edx, dword [ebp - 0xd4]
movss dword [ecx + 0x6c], xmm0
mov dword [ecx + 0x70], edx
jne 0x41fa17
cmp eax, 1
jne 0x41fa17
lea eax, [esi*4]
push eax
lea eax, [edi + esi*4]
push edi
push eax
call fcn.004591f0
add esp, 0xc
imul esi, dword [ebp - 0x58]
cmp dword [ebp - 0x88], 0
mov dword [ebp - 0x18], esi
jne 0x41fa62
lea eax, [esi*4]
push eax
push dword [ebp - 0xa4]
push dword [ebp - 0xc8]
call fcn.004591f0
mov eax, dword [ebp - 0x20]
add esp, 0xc
imul eax, dword [ebp - 0x58]
shl eax, 2
push eax
push edi
push dword [ebp - 0xa4]
call fcn.004591f0
add esp, 0xc
jmp 0x41fbdc
xor edx, edx
test esi, esi
jle 0x41fbdc
cmp esi, 0x10
jb 0x41fb1c
mov ecx, dword [ebp - 0xa4]
lea eax, [esi - 1]
add ecx, 0xfffffffc
lea eax, [edi + eax*4]
lea ecx, [ecx + esi*4]
cmp dword [ebp - 0xa4], eax
ja 0x41fa97
cmp ecx, edi
jae 0x41fb1c
mov eax, esi
and eax, 0x8000000f
jns 0x41faa5
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, esi
add edi, 0x30
sub ecx, eax
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x98]
add ecx, 0x10
movups xmm0, xmmword [edi - 0x30]
mov eax, ecx
add edx, 0x10
movups xmm1, xmmword [ecx - 0x10]
sub eax, dword [ebp - 0xc4]
lea edi, [edi + 0x40]
minps xmm1, xmm0
movups xmmword [ecx - 0x10], xmm1
movups xmm0, xmmword [eax]
mov eax, edx
movups xmm1, xmmword [ecx]
minps xmm1, xmm0
movups xmmword [ecx], xmm1
movups xmm0, xmmword [edi - 0x50]
movups xmm1, xmmword [ecx + 0x10]
minps xmm1, xmm0
movups xmmword [ecx + 0x10], xmm1
movups xmm0, xmmword [edi - 0x40]
movups xmm1, xmmword [ecx + 0x20]
minps xmm1, xmm0
movups xmmword [ecx + 0x20], xmm1
add ecx, 0x40
cmp edx, esi
jl 0x41fac1
mov esi, dword [ebp - 0x18]
cmp eax, esi
jge 0x41fbdc
mov eax, esi
sub eax, edx
cmp eax, 4
jl 0x41fbb3
mov edi, dword [ebp - 0x84]
mov eax, esi
mov ecx, dword [ebp - 0xa4]
sub eax, edx
sub eax, 4
add edi, 0xc
add ecx, 4
shr eax, 2
inc eax
mov dword [ebp - 0x98], eax
mov esi, eax
lea edi, [edi + edx*4]
lea ecx, [ecx + edx*4]
lea edx, [edx + eax*4]
nop word [eax + eax]
movss xmm0, dword [edi - 0xc]
lea edi, [edi + 0x10]
minss xmm0, dword [ecx - 4]
mov eax, ecx
sub eax, dword [ebp - 0xc4]
movss dword [ecx - 4], xmm0
movss xmm0, dword [eax]
minss xmm0, dword [ecx]
movss dword [ecx], xmm0
movss xmm0, dword [edi - 0x14]
minss xmm0, dword [ecx + 4]
movss dword [ecx + 4], xmm0
movss xmm0, dword [ecx + 8]
minss xmm0, dword [edi - 0x10]
movss dword [ecx + 8], xmm0
add ecx, 0x10
sub esi, 1
jne 0x41fb60
mov esi, dword [ebp - 0x18]
cmp edx, esi
jge 0x41fbdc
mov eax, dword [ebp - 0xa4]
sub esi, edx
lea ecx, [eax + edx*4]
mov edx, dword [ebp - 0xc4]
mov eax, ecx
sub eax, edx
movss xmm0, dword [eax]
minss xmm0, dword [ecx]
movss dword [ecx], xmm0
add ecx, 4
sub esi, 1
jne 0x41fbc4
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0x20]
mov eax, edx
sub eax, ecx
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x6c], eax
mov eax, edi
lea edi, [edi + ecx*4]
mov dword [ebp - 0x54], 0
mov ecx, eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x44], edi
lea ecx, [ecx + edx*4]
mov edx, eax
add ecx, 0xfffffffc
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x14]
dec ecx
lea ecx, [edx + ecx*4]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0xa4]
sub ecx, edx
sub esi, edx
mov dword [ebp - 0x50], ecx
nop dword [eax]
xor edx, edx
cmp dword [ebp - 0x14], edx
jle 0x41fd89
cmp dword [ebp - 0x14], 4
jb 0x41fd35
mov edi, dword [ebp - 0x8c]
lea eax, [edi + ecx]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xb4]
cmp dword [ebp - 0x18], eax
ja 0x41fc7c
add eax, ecx
cmp eax, edi
jae 0x41fd35
mov eax, dword [ebp - 0xb4]
lea edi, [eax + esi]
cmp dword [ebp - 0x18], edi
mov dword [ebp - 0x98], edi
mov edi, dword [ebp - 0x8c]
ja 0x41fc9d
add ecx, eax
lea eax, [edi + esi]
cmp ecx, eax
jae 0x41fd35
cmp edi, dword [ebp - 0x98]
ja 0x41fcb4
lea eax, [edi + esi]
cmp dword [ebp - 0xb4], eax
jae 0x41fd35
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, 0x80000003
jns 0x41fcc5
dec eax
or eax, 0xfffffffc
inc eax
sub ecx, eax
add edx, 4
cmp edx, ecx
jl 0x41fcc7
mov edi, dword [ebp - 0x54]
lea eax, [ecx + 3]
mov dword [ebp - 0x98], edx
cdq
and edx, 3
add edx, eax
xor eax, eax
sar edx, 2
shl edx, 4
mov dword [ebp - 0x18], edx
mov ecx, edx
mov edx, dword [ebp - 0x84]
shr ecx, 2
lea edi, [edx + edi*4]
mov edx, dword [ebp - 0xc8]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x54]
mov eax, 0xc1e00000
mov ecx, dword [ebp - 0x18]
shr ecx, 2
lea edi, [edx + edi*4]
mov edx, dword [ebp - 0x54]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x18]
shr ecx, 2
lea edi, [edi + edx*4]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x98]
mov edx, eax
cmp eax, dword [ebp - 0x14]
jge 0x41fd80
mov edi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x84]
add eax, edx
mov ecx, dword [ebp - 0xa4]
sub esi, edi
sub ecx, edi
mov dword [ebp - 0x50], ecx
lea eax, [edi + eax*4]
mov edi, dword [ebp - 0x14]
sub edi, edx
nop dword [eax + eax]
mov dword [eax + esi], 0
lea eax, [eax + 4]
mov dword [eax - 4], 0xc1e00000
mov dword [ecx + eax - 4], 0xc1e00000
sub edi, 1
jne 0x41fd60
jmp 0x41fd83
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
cmp edx, edi
mov edi, dword [ebp - 0x44]
jge 0x41fea7
cmp dword [ebp - 0x6c], 4
jb 0x41fe54
lea eax, [edi + ecx]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x18], eax
ja 0x41fdbf
add eax, ecx
cmp eax, edi
jae 0x41fe54
mov eax, dword [ebp - 0x30]
lea edi, [eax + esi]
cmp dword [ebp - 0x18], edi
mov dword [ebp - 0x98], edi
mov edi, dword [ebp - 0x44]
ja 0x41fddd
add ecx, eax
lea eax, [edi + esi]
cmp ecx, eax
jae 0x41fe54
cmp edi, dword [ebp - 0x98]
ja 0x41fded
lea eax, [edi + esi]
cmp dword [ebp - 0x30], eax
jae 0x41fe54
mov eax, dword [ebp - 0x6c]
and eax, 0x80000003
jns 0x41fdfc
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [ebp - 0x20]
sub ecx, eax
add edx, 4
cmp edx, ecx
jl 0x41fe01
sub ecx, dword [ebp - 0x10]
add edi, esi
mov dword [ebp - 0x98], edx
lea eax, [ecx + 3]
cdq
and edx, 3
add edx, eax
xor eax, eax
sar edx, 2
shl edx, 4
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x44]
mov ecx, edx
shr ecx, 2
mov eax, 0xc1e00000
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x44]
add edi, dword [ebp - 0x50]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x98]
mov edx, eax
cmp eax, dword [ebp - 0x20]
jge 0x41fe9e
mov edi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x84]
add eax, edx
mov ecx, dword [ebp - 0xa4]
sub esi, edi
sub ecx, edi
mov dword [ebp - 0x50], ecx
lea eax, [edi + eax*4]
mov edi, dword [ebp - 0x20]
sub edi, edx
nop word [eax + eax]
mov dword [eax + esi], 0
lea eax, [eax + 4]
mov dword [eax - 4], 0xc1e00000
mov dword [ecx + eax - 4], 0xc1e00000
sub edi, 1
jne 0x41fe80
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x20]
mov ecx, edx
add dword [ebp - 0x54], edx
inc dword [ebp - 0xc4]
lea edx, [ecx*4]
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0xb4], edx
add eax, edx
add dword [ebp - 0x30], edx
add edi, edx
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x44], edi
cmp edx, dword [ebp - 0x58]
jl 0x41fc40
cmp dword [ebp - 0x88], 0
jne 0x41ff02
cmp dword [ebp - 0xd8], 0
jne 0x41ff02
mov eax, dword [ebp - 8]
mov dword [eax + 0x74], 0
jmp 0x41ff08
mov eax, dword [ebp - 8]
inc dword [eax + 0x74]
mov esi, dword [ebx + 0x14]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x4c], ecx
mov ecx, esi
call fcn.00419380
cmp dword [esi + 0x2c], 0
mov ecx, 0xfffffffd
mov eax, dword [ebp - 0x40]
cmovne eax, ecx
jmp 0x41ff2c
or eax, 0xffffffff
lea esp, [ebp - 0x118]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004575d6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x622
mov edx, str.D:_aopus_tools_win32_buildopus_tools_win32_buildlibopusceltcelt_encoder.c
mov ecx, str.assertion_failed:_st__signalling0
call fcn.00403f00
push 0x707
mov edx, str.D:_aopus_tools_win32_buildopus_tools_win32_buildlibopusceltcelt_encoder.c
mov ecx, str.assertion_failed:_count_0
call fcn.00403f00
push 0xf9
mov edx, str.D:_aopus_tools_win32_buildopus_tools_win32_buildlibopusceltentenc.c
mov ecx, str.assertion_failed:__this__offs_this__end_offs__size
call fcn.00403f00
int3