Function at 0x422220
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 - 0x40], 0xf
mov eax, edx
mov dword [ebp - 8], esi
xorps xmm0, xmm0
mov dword [ebp - 0x48], eax
push edi
mov ecx, dword [esi + 4]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0xc], ecx
xor ecx, ecx
cmp dword [ebx + 0x10], 2
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x50], ecx
mov ecx, dword [esi]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0xc4], 0
movss dword [ebp - 0x2c], xmm0
mov edx, dword [ecx + 8]
mov edi, dword [ecx + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x54], edx
mov edx, dword [esi + 0x20]
mov dword [ebp - 0x14], edx
mov edx, dword [esi + 0x24]
movss dword [ebp - 0xa0], xmm0
movss dword [ebp - 0xa8], xmm0
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x10], edx
movss dword [ebp - 0x70], xmm0
movss dword [ebp - 0x84], xmm0
jl 0x424c15
test eax, eax
je 0x424c15
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 0x42231c
mov edi, dword [ecx + 0x2c]
xor ecx, ecx
mov eax, edi
shl eax, cl
cmp eax, edx
je 0x422314
inc ecx
cmp ecx, esi
jle 0x422307
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
jmp 0x42231e
xor ecx, ecx
cmp ecx, esi
jg 0x424c15
mov esi, dword [ebp - 0x5c]
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ecx + 0x2c]
imul ecx, eax
mov eax, edi
imul eax, esi
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 8]
add eax, 0x3d
lea eax, [ecx + eax*4]
mov dword [ebp - 0x58], 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 - 0x74], ecx
lea esi, [eax*4]
lea eax, [esi + ecx]
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xa4], eax
add eax, esi
mov dword [ebp - 0xc0], eax
add eax, esi
mov dword [ebp - 0xb0], eax
test edi, edi
jne 0x4223ad
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x8c], eax
jmp 0x4223fe
mov esi, dword [edi + 0x1c]
mov eax, esi
bsr edx, esi
mov esi, dword [edi + 0x14]
inc edx
mov dword [ebp - 0x24], esi
lea ecx, [edx - 0x10]
shr eax, cl
mov ecx, eax
shr ecx, 0xc
sub ecx, 8
cmp dword [ecx*4 + 0x5992d4], 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 - 0x24]
mov dword [ebp - 0x8c], esi
mov esi, dword [edi + 0x1c]
bsr eax, esi
sub ecx, eax
dec ecx
mov dword [ebp - 0x24], ecx
add ecx, 4
mov eax, dword [ebp - 0x24]
sar ecx, 3
mov esi, dword [ebp - 8]
mov dword [ebp - 0x44], ecx
cmp dword [esi + 0x30], 0
jne 0x424c31
cmp dword [ebx + 0x10], 0x4fb
mov edi, 0x4fb
cmovl edi, dword [ebx + 0x10]
mov esi, edi
mov dword [ebp - 0x38], edi
mov edi, dword [ebx + 0x14]
sub esi, ecx
mov dword [ebp - 0x9c], esi
mov esi, dword [ebp - 8]
cmp dword [esi + 0x2c], 0
je 0x42245b
mov ecx, dword [esi + 0x28]
cmp ecx, 0xffffffff
je 0x42245b
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 - 0x68], eax
sar eax, 6
jmp 0x4224bb
mov ecx, dword [esi + 0x28]
mov esi, ecx
imul esi, edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x68], 0
cmp eax, 1
jle 0x42247a
mov eax, dword [edx]
imul eax, dword [ebp - 0x24]
add esi, eax
cmp ecx, 0xffffffff
je 0x4224b5
mov eax, dword [edx]
lea ecx, [esi + eax*4]
lea esi, [eax*8]
mov eax, ecx
cdq
idiv esi
mov edx, dword [ebp - 0x38]
cmp edx, eax
mov ecx, eax
cmovl ecx, edx
cmp ecx, 2
jge 0x4224a6
mov edx, 2
jmp 0x4224ab
cmp edx, eax
cmovge edx, eax
mov ecx, edi
mov dword [ebp - 0x38], edx
call fcn.0041dfd0
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x44]
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 - 0x38], 0x190
shl eax, cl
mov ecx, eax
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 0x28]
sub ecx, edx
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0xbc], ecx
cmp eax, 0xffffffff
je 0x422517
sub eax, edx
cmp ecx, eax
cmovge ecx, eax
mov dword [ebp - 0xbc], ecx
test edi, edi
jne 0x422534
push dword [ebp - 0x38]
mov edx, dword [ebx + 0xc]
lea ecx, [ebp - 0x10c]
call fcn.0041dc90
mov edi, ecx
add esp, 4
mov dword [ebx + 0x14], edi
mov eax, dword [ebp - 0x68]
test eax, eax
jle 0x42258f
mov edx, dword [ebp - 8]
cmp dword [edx + 0x34], 0
je 0x42258f
lea ecx, [eax + eax]
mov eax, 2
sub ecx, dword [edx + 0xd0]
xor edx, edx
sar ecx, 6
cmp dword [ebp - 0x24], 1
cmove edx, eax
mov eax, ecx
cmp edx, ecx
cmovg eax, edx
cmp eax, dword [ebp - 0x9c]
jge 0x42258f
cmp edx, ecx
cmovg ecx, edx
cmp ecx, dword [ebp - 0x9c]
jge 0x42258f
lea eax, [ecx + esi]
mov dword [ebp - 0x9c], ecx
mov edx, eax
mov dword [ebp - 0x38], eax
mov ecx, edi
call fcn.0041dfd0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
shl eax, 3
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
cmp ecx, eax
cmovg ecx, eax
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x5c]
mov dword [ebp - 0x6c], ecx
shl eax, 2
call fcn.0047a3e0
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x3c], esp
mov ecx, dword [eax + 0x1c]
movss xmm7, dword [eax + 0xe0]
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], ecx
cdq
idiv ecx
mov ecx, esi
mov edx, eax
mov dword [ebp - 0x30], eax
call fcn.00412c60
comiss xmm7, xmm0
ja 0x4225fc
movaps xmm7, xmm0
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x30]
cdq
lea ecx, [esi + ecx*4]
idiv dword [ebp - 0x18]
mov edx, eax
call fcn.00412c60
mov ecx, dword [ebp - 8]
maxss xmm7, xmm0
movss xmm1, dword [0x5ba77c]
mov eax, 1
xor edx, edx
movss dword [ecx + 0xe0], xmm0
mov ecx, dword [ecx + 0x3c]
shl eax, cl
movss dword [ebp - 0xd0], xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm7
setae dl
cmp dword [ebp - 0x24], 1
mov dword [ebp - 0x60], edx
jne 0x4226e2
mov eax, dword [edi + 0x1c]
mov ecx, eax
shr ecx, 0xf
sub eax, ecx
test edx, edx
je 0x422670
add dword [edi + 0x20], eax
test edx, edx
cmovne eax, ecx
mov ecx, edi
mov dword [edi + 0x1c], eax
call fcn.0041dbc0
mov esi, dword [ebp - 0x60]
test esi, esi
je 0x4226e9
cmp dword [ebp - 0x68], 0
jle 0x4226c6
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x38]
add eax, 2
cmp ecx, eax
mov dword [ebp - 0x9c], 2
cmovge ecx, eax
mov dword [ebp - 0x38], ecx
mov edx, ecx
mov dword [ebp - 0x64], ecx
lea eax, [ecx*8]
mov ecx, edi
mov dword [ebp - 0xac], eax
call fcn.0041dfd0
movss xmm7, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x60], esi
lea ecx, [eax*8]
bsr eax, dword [edi + 0x1c]
mov dword [ebp - 0x24], ecx
inc eax
add eax, ecx
mov dword [edi + 0x14], eax
jmp 0x4226e9
mov dword [ebp - 0x60], 0
mov ecx, dword [ebp - 0x4c]
xor esi, esi
mov eax, dword [ebp - 0x98]
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 - 0x3c]
mov dword [ebp - 0x30], edx
lea ecx, [eax + ecx*4]
mov dword [ebp - 0xd4], ecx
nop word [eax + eax]
mov eax, dword [ebp - 8]
cmp dword [eax + 0x10], 0
je 0x422739
comiss xmm7, dword [0x5baa3c]
jbe 0x422739
mov eax, 1
jmp 0x42273b
xor eax, eax
push eax
mov eax, dword [ebp - 8]
push edi
push edx
mov edx, ecx
mov ecx, dword [ebp - 0x48]
push dword [eax + 0x1c]
push dword [ebp - 0x5c]
push dword [ebp - 0x98]
call fcn.0041f300
mov ecx, dword [ebp - 0xd4]
inc esi
add ecx, dword [ebp - 0x18]
add esp, 0x18
add dword [ebp - 0x48], 4
add edi, 4
movss xmm7, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xd4], ecx
cmp esi, dword [ebp - 0x5c]
jl 0x422720
mov edx, dword [ebp - 8]
mov edi, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x9c]
cmp dword [edx + 0x40], 0
je 0x422798
cmp ecx, 3
jg 0x4227a5
mov eax, dword [ebp - 0xc]
lea eax, [eax + eax*2]
shl eax, 2
cmp ecx, eax
jle 0x4227c4
cmp dword [ebp - 0x14], 0
jne 0x4227c4
cmp dword [ebp - 0x60], 0
jne 0x4227c4
cmp dword [edx + 0x14], 0
jne 0x4227c4
cmp dword [edx + 0x18], 5
jl 0x4227c4
mov eax, 1
jmp 0x4227c6
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 - 0x3c]
mov ecx, dword [ebp - 8]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0xd4]
push dword [ebp - 0x98]
push dword [ebp - 0x5c]
push dword [ebp - 0x58]
call fcn.00421a50
movss xmm0, dword [ebp - 0x80]
add esp, 0x28
movss xmm1, dword [0x5ba6d0]
comiss xmm0, xmm1
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xd0], edx
movss dword [ebp - 0x94], xmm0
ja 0x422837
movss xmm0, dword [ecx + 0x6c]
comiss xmm0, xmm1
jbe 0x422888
cmp dword [esi], 0
je 0x42284e
movss xmm0, dword [ecx + 0x7c]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [str.333333]
jbe 0x422888
movd xmm1, dword [ecx + 0x68]
cvtdq2pd xmm1, xmm1
movd xmm2, edx
cvtdq2pd xmm2, xmm2
movaps xmm0, xmm1
mulsd xmm0, qword [0x5ba860]
comisd xmm2, xmm0
ja 0x42287e
mulsd xmm1, qword [0x5ba828]
comisd xmm1, xmm2
jbe 0x422888
mov dword [ebp - 0xb8], 1
test eax, eax
jne 0x4228be
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x422940
mov eax, dword [ebp - 0x24]
add eax, 0x10
cmp eax, dword [ebp - 0xac]
jg 0x42293d
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shr eax, 1
sub ecx, eax
mov dword [edi + 0x1c], ecx
mov ecx, edi
call fcn.0041dbc0
jmp 0x42293a
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.0041dbc0
mov edi, dword [ebp - 0xd0]
mov ecx, dword [ebx + 0x14]
inc edi
bsr esi, edi
push 6
lea edx, [esi - 4]
call fcn.0041de40
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.0041df30
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.0041df30
mov edx, dword [ebp - 0xd4]
add esp, 4
mov ecx, edi
push 2
push 0x48d19c
call fcn.0041dd70
add esp, 8
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x78], 0
cmp dword [ecx + 0x18], 1
lea esi, [ecx + 0x18]
mov dword [ebp - 0x44], edx
jl 0x4229c2
cmp dword [ecx + 0x40], edx
jne 0x4229c2
test eax, eax
je 0x422972
cmp dword [ebp - 0x64], 0xf
jge 0x422972
cmp dword [ecx + 0xb8], 2
je 0x422972
lea eax, [edx + 1]
jmp 0x422974
xor eax, eax
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x5c]
lea edx, [edx + eax]
call fcn.0041eb30
mov esi, dword [ebp - 8]
add esp, 0x14
movss xmm0, dword [ebp - 0x84]
add esi, 0x18
mov dword [ebp - 0x78], eax
xor edx, edx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x34], eax
movss dword [ebp - 0x70], xmm0
cmp dword [ebp - 0x1c], 0
jle 0x4229ef
bsr eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x14]
sub ecx, eax
add ecx, 2
cmp ecx, dword [ebp - 0xac]
jg 0x4229ef
cmp dword [ebp - 0x78], 0
mov esi, dword [ebp - 8]
cmovne edx, dword [ebp - 0x7c]
add esi, 0x18
mov dword [ebp - 0x44], edx
jmp 0x422a00
mov dword [ebp - 0x78], 0
mov dword [ebp - 0xd8], 1
mov eax, dword [ebp - 0x98]
imul eax, dword [ebp - 0x5c]
shl eax, 2
call fcn.0047a3e0
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x5c]
mov dword [ebp - 0x80], esp
shl eax, 2
call fcn.0047a3e0
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x5c]
mov dword [ebp - 0x24], esp
shl eax, 2
call fcn.0047a3e0
cmp dword [ebp - 0x44], 0
mov dword [ebp - 0x90], esp
je 0x422a4e
cmp dword [esi], 8
jl 0x422a4e
mov esi, 1
jmp 0x422a50
xor esi, esi
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], esi
shl eax, 2
call fcn.0047a3e0
test esi, esi
mov dword [ebp - 0x4c], esp
mov esi, dword [ebp - 0x28]
je 0x422b92
mov eax, dword [ebp - 8]
xor edx, edx
push ecx
mov ecx, esi
push dword [eax + 0x1c]
push dword [ebp - 0x1c]
push dword [ebp - 0x5c]
push dword [ebp - 0xc]
push dword [ebp - 0x80]
push dword [ebp - 0x3c]
call fcn.0041f000
mov eax, dword [ebp - 8]
add esp, 0x1c
mov edx, dword [ebp - 0x80]
mov ecx, esi
push dword [eax + 0x48]
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x6c]
push dword [ebp - 0x24]
call fcn.0042fe00
mov edx, dword [ebp - 0x6c]
add esp, 0x14
mov ecx, esi
push dword [ebp - 0xc]
push dword [ebp - 0x4c]
push dword [ebp - 0x24]
push dword [ebp - 0x10]
call fcn.0042fbd0
mov eax, dword [ebp - 0xc]
add esp, 0x10
test eax, eax
jle 0x422b95
mov eax, dword [ebp - 0x20]
xor edi, edi
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x10]
add esi, 8
lea edx, [eax*4]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x84], eax
mov eax, edx
mov dword [ebp - 0x48], edx
xor edx, edx
cmp ecx, 4
jl 0x422b3f
movd xmm1, dword [ebp - 0x1c]
add ecx, 0xfffffffc
cvtdq2ps xmm1, xmm1
shr ecx, 2
mov eax, esi
inc ecx
mulss xmm1, dword [0x5ba6ec]
lea edx, [ecx*4]
shufps xmm1, xmm1, 0
movups xmm0, xmmword [eax - 8]
addps xmm0, xmm1
movups xmmword [eax - 8], xmm0
add eax, 0x10
sub ecx, 1
jne 0x422b23
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
jl 0x422b43
jmp 0x422b77
test ecx, ecx
jle 0x422b7a
movd xmm1, dword [ebp - 0x1c]
lea eax, [edi + edx]
mov ecx, dword [ebp - 0x4c]
cvtdq2ps xmm1, xmm1
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x10]
sub ecx, edx
mulss xmm1, dword [0x5ba6ec]
movaps xmm0, xmm1
addss xmm0, dword [eax]
movss dword [eax], xmm0
add eax, 4
sub ecx, 1
jne 0x422b61
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
add edi, dword [ebp - 0x20]
add esi, eax
sub dword [ebp - 0x84], 1
jne 0x422af8
mov edi, dword [ebx + 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 8]
push dword [ecx + 0x1c]
mov ecx, esi
push dword [ebp - 0x1c]
push dword [ebp - 0x5c]
push eax
push dword [ebp - 0x80]
push dword [ebp - 0x3c]
call fcn.0041f000
add esp, 0x1c
cmp dword [ebp - 0x5c], 2
jne 0x422bcb
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp dword [ebp - 0xc], 1
cmove eax, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
mov ecx, esi
mov edx, dword [ebp - 0x80]
push dword [eax + 0x48]
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x6c]
push dword [ebp - 0x24]
call fcn.0042fe00
mov eax, dword [ebp - 8]
add esp, 0x14
movss xmm3, dword [0x5ba568]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
cmp dword [eax + 0x40], 0
je 0x422c4e
mov eax, 2
cmp edx, eax
jle 0x422c4e
movss xmm2, dword [0x5ba5a4]
mov edi, dword [ebp - 0x60]
nop word [eax + eax]
movss xmm1, dword [ecx]
movss xmm0, dword [ecx + eax*4]
mulss xmm1, xmm2
comiss xmm1, xmm0
ja 0x422c35
movaps xmm0, xmm1
maxss xmm0, xmm3
movss dword [ecx + eax*4], xmm0
inc eax
cmp eax, edx
jl 0x422c20
mov eax, edi
mov dword [ebp - 0x60], edi
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0x60], eax
push dword [ebp - 0xc]
push dword [ebp - 0x90]
push ecx
push edx
mov edx, dword [ebp - 0x6c]
mov ecx, esi
call fcn.0042fbd0
mov eax, dword [ebp - 0x20]
add esp, 0x10
imul eax, dword [ebp - 0xc]
shl eax, 2
call fcn.0047a3e0
mov eax, dword [ebp - 0x10]
mov ecx, esp
shl eax, 2
push eax
push 0
push ecx
mov dword [ebp - 0x48], ecx
call fcn.00458e80
movss xmm6, dword [0x5ba6a8]
add esp, 0xc
cmp dword [ebp - 0x14], 0
movss xmm5, dword [0x5ba698]
movss xmm4, dword [0x5ba8c0]
mov ecx, dword [ebp - 8]
jne 0x423023
mov esi, dword [ecx + 0xec]
mov dword [ebp - 0x18], esi
test esi, esi
je 0x423023
cmp dword [ecx + 0x40], 0
jne 0x423023
mov edx, dword [ebp - 0xc]
xor eax, eax
mov dword [ebp - 0x2c], eax
xorps xmm0, xmm0
mov eax, dword [ecx + 0x5c]
xorps xmm7, xmm7
cmp eax, 2
mov ecx, 2
xorps xmm3, xmm3
cmovl eax, ecx
mov dword [ebp - 0x40], eax
test edx, edx
jle 0x424c45
movss xmm2, dword [0x5baa9c]
xor ecx, ecx
movss xmm4, dword [0x5ba6ec]
mov eax, edx
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x58], eax
xor edx, edx
test edi, edi
je 0x422da0
mov eax, 1
sub eax, edi
add esi, ecx
mov dword [ebp - 0x84], eax
nop
movss xmm1, dword [esi]
minss xmm1, xmm6
comiss xmm1, xmm2
jbe 0x422d48
comiss xmm1, xmm0
jbe 0x422d4b
mulss xmm1, xmm4
jmp 0x422d4b
movaps xmm1, xmm2
mov eax, dword [ebp - 0x54]
add esi, 4
movsx ecx, word [eax + edx*2 + 2]
movsx eax, word [eax + edx*2]
inc edx
sub ecx, eax
mov eax, dword [ebp - 0x84]
add dword [ebp - 0x2c], ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm7, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
add eax, 2
mov dword [ebp - 0x84], eax
mulss xmm0, xmm1
addss xmm3, xmm0
xorps xmm0, xmm0
cmp edx, edi
jl 0x422d30
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x58]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
lea edx, [edi*4]
mov edi, dword [ebp - 0x40]
add ecx, edx
sub eax, 1
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x58], eax
jne 0x422d16
mov eax, dword [ebp - 0x2c]
movss xmm4, dword [0x5ba8c0]
mov edi, dword [ebx + 0x14]
test eax, eax
jle 0x424c45
mov edx, dword [ebp - 0x40]
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 [0x5baa6c]
mulss xmm1, xmm3
minss xmm1, dword [0x5ba634]
comiss xmm1, xmm0
movss dword [ebp - 0xa8], xmm1
ja 0x422e30
movss dword [ebp - 0xa8], xmm0
mov eax, dword [ebp - 0x54]
xor ecx, ecx
movsx eax, word [eax + edx*2]
cdq
sub eax, edx
mov edx, dword [ebp - 0x54]
add edx, 2
mov esi, eax
sar esi, 1
movsx eax, word [edx]
cmp eax, esi
jge 0x422e5c
nop dword [eax]
movsx eax, word [edx + 2]
lea edx, [edx + 2]
inc ecx
cmp eax, esi
jl 0x422e50
xor edx, edx
cmp dword [ebp - 0x40], edx
jbe 0x422fff
movss xmm4, dword [ebp - 0xa8]
neg ecx
cmp dword [ebp - 0xc], 2
xorps xmm2, xmm2
jne 0x422ee3
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x20]
mov esi, dword [eax + 0xec]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], esi
lea esi, [esi + edi*4]
mov edi, eax
sub dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x58], edi
nop word [eax + eax]
mov edi, dword [ebp - 0x2c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss xmm1, dword [edi + eax]
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 0x422ed4
subss xmm1, xmm6
inc edx
movss dword [eax], xmm1
inc ecx
add esi, 4
add eax, 4
sub dword [ebp - 0x58], 1
jne 0x422ea0
jmp 0x422f36
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x48]
mov esi, dword [esi + 0xec]
sub esi, eax
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x18]
nop word [eax + eax]
movss xmm1, dword [eax + edi]
movd xmm0, ecx
minss xmm1, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm7
subss xmm1, xmm0
comiss xmm1, xmm6
jbe 0x422f2a
subss xmm1, xmm6
inc edx
movss dword [eax], xmm1
inc ecx
add eax, 4
sub esi, 1
jne 0x422f00
mov edi, dword [ebx + 0x14]
movss xmm4, dword [0x5ba8c0]
cmp edx, 3
jl 0x422fff
addss xmm7, xmm6
comiss xmm7, xmm2
jbe 0x422f88
mov eax, dword [ebp - 0x40]
shl eax, 2
push eax
push 0
push dword [ebp - 0x48]
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0xa8], xmm2
call fcn.00458e80
movss xmm4, dword [0x5ba8c0]
add esp, 0xc
movss xmm5, dword [0x5ba698]
movss xmm7, dword [ebp - 0x2c]
jmp 0x422fff
mov edx, dword [ebp - 0x40]
xor eax, eax
mov esi, dword [ebp - 0x48]
cmp edx, 8
jb 0x422fde
movaps xmm2, xmmword [0x5bad30]
mov ecx, edx
and ecx, 0xfffffff8
xorps xmm3, xmm3
movups xmm1, xmmword [esi + eax*4]
subps xmm1, xmm2
movaps xmm0, xmm1
cmpltps xmm0, xmm3
andnps xmm0, xmm1
movups xmmword [esi + eax*4], xmm0
movups xmm1, xmmword [esi + eax*4 + 0x10]
subps xmm1, xmm2
movaps xmm0, xmm1
cmpltps xmm0, xmm3
andnps xmm0, xmm1
movups xmmword [esi + eax*4 + 0x10], xmm0
add eax, 8
cmp eax, ecx
jl 0x422fa4
cmp eax, edx
jge 0x422fff
xorps xmm2, xmm2
mov ecx, dword [ebp - 0x60]
movss xmm0, dword [esi + eax*4]
subss xmm0, xmm6
comiss xmm2, xmm0
jbe 0x422ff2
movaps xmm0, xmm2
movss dword [esi + eax*4], xmm0
inc eax
cmp eax, edx
jl 0x422fe1
mov dword [ebp - 0x60], ecx
movss xmm0, dword [ebp - 0xa8]
addss xmm7, xmm5
mulss xmm0, dword [0x5ba9c0]
mov ecx, dword [ebp - 8]
movss dword [ebp - 0xa8], xmm0
movss dword [ebp - 0x2c], xmm7
mov edx, dword [ecx + 0x40]
mov esi, edx
test edx, edx
jne 0x423115
xorps xmm5, xmm5
movss xmm0, dword [0x5baac4]
cmp dword [ebp - 0x44], edx
je 0x423052
movd xmm2, dword [ebp - 0x1c]
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x5ba6ec]
jmp 0x423055
xorps xmm2, xmm2
mov edx, dword [ebp - 0x14]
mov ecx, edx
mov eax, dword [ebp - 0x10]
cmp edx, eax
jge 0x4230bd
mov eax, dword [ebp - 0x20]
movss xmm3, dword [0x5ba77c]
add eax, edx
mov edx, dword [ebp - 0x90]
mov esi, dword [ebp - 0xc]
lea eax, [edx + eax*4]
nop word [eax + eax]
movss xmm1, dword [edx + ecx*4]
subss xmm0, xmm3
subss xmm1, xmm2
comiss xmm0, xmm1
ja 0x423095
movaps xmm0, xmm1
cmp esi, 2
jne 0x4230aa
movss xmm1, dword [eax]
subss xmm1, xmm2
comiss xmm0, xmm1
ja 0x4230aa
movaps xmm0, xmm1
inc ecx
addss xmm5, xmm0
add eax, 4
cmp ecx, dword [ebp - 0x10]
jl 0x423080
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 [0x5baa90]
comiss xmm5, xmm4
movss dword [ebp - 0xa0], xmm5
jbe 0x4230f9
movaps xmm5, xmm4
movss dword [ebp - 0xa0], xmm4
mov edx, dword [ecx + 0x40]
movaps xmm0, xmm5
mulss xmm0, dword [0x5ba618]
mov esi, edx
addss xmm0, xmm1
movss dword [ecx + 0xf0], xmm0
cmp dword [ebp - 0x30], 0
jne 0x423139
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0xc]
shl eax, 2
push eax
push dword [ebp - 0x90]
push dword [ebp - 0x4c]
call fcn.00459900
add esp, 0xc
mov edx, esi
mov esi, dword [ebp - 0x1c]
test esi, esi
jle 0x42331e
bsr eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x14]
sub ecx, eax
add ecx, 2
cmp ecx, dword [ebp - 0xac]
jg 0x4232e8
cmp dword [ebp - 0x78], 0
jne 0x4232e8
mov eax, dword [ebp - 8]
cmp dword [eax + 0x18], 5
jl 0x4232e8
test edx, edx
jne 0x4232e8
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4232e8
push dword [ebp - 0xc]
mov edx, dword [ebp - 0x74]
push dword [ebp - 0x10]
mov ecx, dword [ebp - 0x90]
push eax
push dword [ebp - 0x20]
call fcn.0041ee90
add esp, 0x10
test eax, eax
je 0x4232e8
mov eax, dword [ebp - 0x7c]
mov edx, eax
push ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x78], 1
mov dword [ebp - 0x44], eax
push dword [ecx + 0x1c]
push esi
push dword [ebp - 0x5c]
mov esi, dword [ebp - 0x28]
mov ecx, esi
push dword [ebp - 0xc]
push dword [ebp - 0x80]
push dword [ebp - 0x3c]
call fcn.0041f000
mov eax, dword [ebp - 8]
add esp, 0x1c
mov edx, dword [ebp - 0x80]
mov ecx, esi
push dword [eax + 0x48]
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x6c]
push dword [ebp - 0x24]
call fcn.0042fe00
mov edx, dword [ebp - 0x6c]
add esp, 0x14
mov ecx, esi
push dword [ebp - 0xc]
push dword [ebp - 0x90]
push dword [ebp - 0x24]
push dword [ebp - 0x10]
call fcn.0042fbd0
mov ecx, dword [ebp - 0xc]
add esp, 0x10
test ecx, ecx
jle 0x4232db
mov eax, dword [ebp - 0x20]
xor edi, edi
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x30], ecx
add esi, 8
mov ecx, dword [ebp - 0x10]
lea edx, [eax*4]
mov dword [ebp - 0x70], edx
mov eax, edx
nop dword [eax]
xor edx, edx
cmp ecx, 4
jl 0x42328c
movd xmm1, dword [ebp - 0x1c]
add ecx, 0xfffffffc
cvtdq2ps xmm1, xmm1
shr ecx, 2
mov eax, esi
inc ecx
mulss xmm1, dword [0x5ba6ec]
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 0x423270
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
jl 0x423290
jmp 0x4232c6
test ecx, ecx
jle 0x4232c9
movd xmm1, dword [ebp - 0x1c]
lea eax, [edi + edx]
mov ecx, dword [ebp - 0x4c]
cvtdq2ps xmm1, xmm1
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x10]
sub ecx, edx
mulss xmm1, dword [0x5ba6ec]
nop
movaps xmm0, xmm1
addss xmm0, dword [eax]
movss dword [eax], xmm0
add eax, 4
sub ecx, 1
jne 0x4232b0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x70]
add edi, dword [ebp - 0x20]
add esi, eax
sub dword [ebp - 0x30], 1
jne 0x423240
mov edi, dword [ebx + 0x14]
movss xmm0, dword [0x5ba698]
movss dword [ebp - 0x70], xmm0
mov edx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x14]
bsr eax, edx
sub ecx, eax
add ecx, 2
cmp ecx, dword [ebp - 0xac]
jg 0x42331e
mov ecx, dword [ebp - 0x78]
mov eax, edx
shr eax, 3
sub edx, eax
test ecx, ecx
je 0x423311
add dword [edi + 0x20], edx
test ecx, ecx
cmovne edx, eax
mov ecx, edi
mov dword [edi + 0x1c], edx
call fcn.0041dbc0
mov eax, dword [ebp - 0x98]
imul eax, dword [ebp - 0xc]
shl eax, 2
call fcn.0047a3e0
mov eax, dword [ebp - 0x28]
xor edi, edi
movss xmm2, dword [0x5ba55c]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x40], esp
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x2c]
imul eax, dword [ebp - 0x7c]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x84], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
nop
xor ecx, ecx
mov dword [ebp - 0x30], ecx
test esi, esi
jle 0x4233f8
lea esi, [edx + 2]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
movss xmm1, dword [0x5ba77c]
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 - 0x7c]
imul eax, dword [ebp - 0x7c]
divss xmm1, xmm0
cmp edx, eax
jge 0x4233e3
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
add eax, edx
mov edi, dword [ebp - 0x80]
sub edi, dword [ebp - 0x40]
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 - 0x7c]
cmp edx, eax
jl 0x4233c0
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x58]
inc ecx
add esi, 2
mov dword [ebp - 0x30], ecx
cmp ecx, dword [ebp - 0x6c]
jl 0x423370
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x6c]
add eax, dword [ebp - 0x84]
inc edi
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x3c], eax
cmp edi, ecx
jl 0x423360
mov eax, ecx
shl eax, 4
sub eax, ecx
cmp dword [ebp - 0x64], eax
jl 0x423438
cmp dword [ebp - 0x14], 0
jne 0x423438
mov eax, dword [ebp - 8]
cmp dword [eax + 0x18], 2
jl 0x423438
cmp dword [eax + 0x40], 0
mov dword [ebp - 0x30], 1
je 0x42343f
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x20]
lea esi, [eax*4]
mov eax, esi
call fcn.0047a3e0
mov eax, esi
mov dword [ebp - 0x80], esp
call fcn.0047a3e0
mov eax, esi
mov dword [ebp - 0x58], esp
call fcn.0047a3e0
mov ecx, dword [ebp - 8]
mov eax, esp
push eax
push dword [ebp - 0x58]
mov dword [ebp - 0x84], eax
lea eax, [ecx + 0x78]
mov edx, dword [ebp - 0x4c]
push eax
push dword [ebp - 0x48]
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 - 0x54]
push dword [ecx + 0x34]
push dword [ecx + 0x2c]
push dword [ebp - 0x78]
push dword [eax + 0x38]
push dword [ecx + 0x3c]
mov ecx, dword [ebp - 0x90]
push dword [ebp - 0x80]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x20]
push dword [ebp - 0x74]
call fcn.004203a0
add esp, 0x50
movss dword [ebp - 0x88], xmm0
mov eax, esi
call fcn.0047a3e0
cmp dword [ebp - 0x30], 0
mov esi, esp
mov dword [ebp - 0x18], esi
je 0x423540
mov eax, 0x5000
movss xmm0, dword [ebp - 0x70]
cdq
mov ecx, 0x50
idiv dword [ebp - 0x64]
push dword [ebp - 0x58]
mov edx, dword [ebp - 0x6c]
add eax, 2
push dword [ebp - 0x34]
cmp eax, ecx
push ecx
movss dword [esp], xmm0
cmovl eax, ecx
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x98]
push ecx
push dword [ebp - 0x40]
mov ecx, dword [ebp - 0x28]
push eax
push esi
push dword [ebp - 0x78]
call fcn.0041f7c0
mov ecx, dword [ebp - 0x6c]
add esp, 0x24
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
cmp ecx, edx
jge 0x42359c
mov edi, ecx
mov eax, dword [esi + edi*4 - 4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x423532
jmp 0x42359c
cmp dword [ebp - 0x14], 0
je 0x423585
cmp dword [ebp - 0x50], 0
je 0x42355c
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x423595
mov ecx, eax
mov eax, 1
jmp 0x423591
cmp dword [ebp - 0x64], 0xf
jge 0x423585
mov eax, dword [ebp - 8]
cmp dword [eax + 0xb8], 2
je 0x423585
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x42357d
mov ecx, eax
mov edi, esi
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x34], eax
jmp 0x42359c
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x423595
mov ecx, eax
mov eax, dword [ebp - 0x78]
mov edi, esi
rep stosd dword es:[edi], eax
mov dword [ebp - 0x34], 0
mov esi, dword [ebp - 0x20]
mov eax, esi
imul eax, dword [ebp - 0xc]
shl eax, 2
call fcn.0047a3e0
movss xmm2, dword [0x5baf00]
lea eax, [esi*4]
mov esi, dword [ebp - 0x90]
xor ecx, ecx
movss xmm3, dword [0x5ba87c]
movss xmm4, dword [0x5ba6a8]
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x4c], esp
mov dword [ebp - 0x30], ecx
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x58], eax
nop
cmp dword [ebp - 0x14], edi
jge 0x42364e
mov esi, dword [ebp - 0x74]
mov edi, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x10]
sub esi, dword [ebp - 0xb0]
sub edi, dword [ebp - 0x90]
sub edx, dword [ebp - 0x14]
movss xmm1, dword [eax]
lea ecx, [edi + eax]
movaps xmm0, xmm1
subss xmm0, dword [ecx + esi]
andps xmm0, xmm2
comiss xmm3, xmm0
jbe 0x423637
movss xmm0, dword [ecx]
mulss xmm0, xmm4
subss xmm1, xmm0
movss dword [eax], xmm1
add eax, 4
sub edx, 1
jne 0x423610
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
inc ecx
add eax, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x58], eax
cmp ecx, esi
jl 0x4235f0
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 - 0x9c]
push dword [ebp - 0x1c]
push esi
mov esi, dword [ebp - 0x28]
mov ecx, esi
push edi
push dword [ebp - 0x4c]
push dword [ebp - 0xac]
push dword [ebp - 0x74]
push dword [ebp - 0x90]
push dword [ebp - 0x6c]
push dword [ebp - 0x10]
call fcn.0042f6d0
mov edx, dword [ebp - 0x10]
add esp, 0x3c
mov ecx, dword [ebp - 0x14]
push edi
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
push dword [ebp - 0x78]
call fcn.0041fcc0
bsr eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x14]
add esp, 0x14
sub ecx, eax
add ecx, 3
cmp ecx, dword [ebp - 0xac]
jg 0x423729
mov edx, dword [ebp - 8]
cmp dword [edx + 0x40], 0
je 0x4238f0
mov dword [edx + 0x64], 0
mov ecx, dword [edi + 0x1c]
mov esi, 0x48d19a
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 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.0041dbc0
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
cmp dword [eax + 0x40], 0
je 0x423750
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 - 0x80]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
shl eax, 2
call fcn.0047a3e0
mov eax, esp
mov ecx, esi
push dword [ebp - 0xc]
mov edx, eax
mov dword [ebp - 0x84], eax
push dword [ebp - 0x1c]
call fcn.00412bd0
mov edx, dword [edi + 0x1c]
add esp, 8
bsr esi, edx
mov dword [ebp - 0x48], 6
inc esi
mov dword [ebp - 0x7c], 0
lea ecx, [esi - 0x10]
shr edx, cl
mov ecx, edx
shr ecx, 0xc
sub ecx, 8
cmp dword [ecx*4 + 0x5992d4], 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 - 0x58], ecx
cmp eax, dword [ebp - 0x10]
jge 0x423a0a
mov edx, dword [ebp - 0x80]
lea eax, [edx + eax*4]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x84]
sub eax, edx
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x54]
mov edi, dword [ebp - 0xac]
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 - 0x48]
mov dword [ebp - 0x6c], ecx
xor edx, edx
lea ecx, [edi*8]
mov dword [ebp - 0x30], eax
sub ecx, dword [ebp - 0x7c]
mov edi, dword [ebx + 0x14]
lea eax, [esi + eax*8]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x3c], edx
cmp eax, ecx
jge 0x4239e9
mov esi, edx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebp - 0xb4]
cmp edx, dword [eax + ecx]
jge 0x4239ce
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0x1c]
mov edx, eax
shr edx, cl
mov ecx, dword [ebp - 0x50]
sub eax, edx
cmp esi, ecx
jge 0x42387a
add dword [edi + 0x20], eax
cmp esi, ecx
cmovl eax, edx
mov ecx, edi
mov dword [edi + 0x1c], eax
call fcn.0041dbc0
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 + 0x5992d4], edx
mov edx, dword [edi + 0x14]
sbb eax, eax
sub edx, esi
mov esi, dword [ebp - 0x3c]
neg eax
shl edx, 3
sub edx, eax
sub edx, ecx
mov dword [ebp - 0x64], edx
cmp esi, dword [ebp - 0x50]
jge 0x4239cb
mov eax, dword [ebp - 0x6c]
inc esi
add dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0xc8]
add dword [ebp - 0x7c], eax
sub ecx, eax
lea eax, [edx + 8]
mov dword [ebp - 0x30], 1
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], esi
cmp eax, ecx
jl 0x423842
jmp 0x4239ce
cmp dword [ebp - 0x14], 0
je 0x42392c
cmp dword [edx + 0x18], 0
jne 0x42390a
mov dword [edx + 0x50], 0
xor eax, eax
jmp 0x423983
cmp dword [ebp - 0x78], 0
je 0x42391e
mov dword [edx + 0x50], 2
mov eax, 2
jmp 0x423983
mov dword [edx + 0x50], 3
mov eax, 3
jmp 0x423983
cmp dword [ebp - 0x44], 0
jne 0x4239a0
cmp dword [edx + 0x18], 3
jl 0x4239a0
mov ecx, dword [ebp - 0xc]
lea eax, [ecx + ecx*4]
add eax, eax
cmp dword [ebp - 0x9c], eax
jl 0x4239a0
push dword [ebp - 0x84]
xor eax, eax
push dword [ebp - 0x7c]
cmp dword [ebp - 0xb4], eax
push ecx
push dword [ebp - 0x6c]
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 - 0x40]
push eax
call fcn.00430470
mov ecx, dword [ebp - 8]
add esp, 0x24
mov dword [ecx + 0x50], eax
mov ecx, dword [edi + 0x1c]
lea esi, [eax + 0x48d198]
mov edx, ecx
mov dword [ebp - 0xb4], ecx
shr edx, 5
test eax, eax
jle 0x4239be
jmp 0x423702
cmp dword [edx + 0x18], 0
jne 0x4236ee
mov ecx, dword [edi + 0x1c]
mov esi, 0x48d198
mov dword [edx + 0x50], 0
mov edx, ecx
shr edx, 5
movzx eax, byte [esi]
imul eax, edx
sub ecx, eax
jmp 0x42371a
mov edx, dword [ebp - 0x34]
test esi, esi
mov esi, dword [ebp - 0x64]
je 0x4239e9
mov eax, dword [ebp - 0x48]
dec eax
mov ecx, eax
cmp eax, 2
mov eax, 2
cmovl ecx, eax
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x58]
inc ecx
mov dword [ebp - 0x58], ecx
mov dword [eax], edx
add eax, 4
mov dword [ebp - 0x9c], eax
cmp ecx, dword [ebp - 0x10]
jl 0x4237e1
mov edx, dword [ebp - 0xc]
cmp edx, 2
jne 0x423be3
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x423b21
mov eax, dword [ebp - 0x28]
xor edi, edi
movss xmm6, dword [0x5ba568]
movaps xmm5, xmm6
mov edx, dword [eax + 0x20]
mov dword [ebp - 0xb4], edx
lea esi, [edx + 2]
mov dword [ebp - 0x50], esi
movsx eax, word [esi]
movsx edx, word [edx + edi]
shl eax, cl
shl edx, cl
mov dword [ebp - 0xc8], eax
cmp edx, eax
jge 0x423ab8
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x40]
add eax, edx
movss xmm4, dword [0x5baf00]
mov esi, dword [ebp - 0x40]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xc8]
movss xmm3, dword [esi + edx*4]
inc edx
movss xmm2, dword [eax]
movaps xmm1, xmm3
movaps xmm0, xmm2
andps xmm1, xmm4
andps xmm0, xmm4
add eax, 4
addss xmm1, xmm0
movaps xmm0, xmm3
subss xmm0, xmm2
addss xmm3, xmm2
addss xmm6, xmm1
andps xmm0, xmm4
andps xmm3, xmm4
addss xmm0, xmm3
addss xmm5, xmm0
cmp edx, ecx
jl 0x423a74
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xb4]
add edi, 2
add esi, 2
mov dword [ebp - 0x50], esi
cmp edi, 0x1a
jl 0x423a40
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 [0x5ba72c]
comiss xmm1, xmm0
seta al
mov dword [ebp - 0xc4], eax
mov eax, 0x10624dd3
imul dword [ebp - 0xbc]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
xor ecx, ecx
movd xmm1, eax
mov eax, 0x48d1a0
cvtdq2ps xmm1, xmm1
movss xmm0, dword [eax + ecx*4]
comiss xmm0, xmm1
ja 0x423b7a
movss xmm0, dword [ecx*4 + 0x48d1a4]
comiss xmm0, xmm1
ja 0x423b79
movss xmm0, dword [ecx*4 + 0x48d1a8]
comiss xmm0, xmm1
ja 0x423b74
add ecx, 3
cmp ecx, 0x15
jl 0x423b44
jmp 0x423b7a
add ecx, 2
jmp 0x423b7a
inc ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0xe8]
cmp ecx, eax
jle 0x423ba2
movss xmm0, dword [eax*4 + 0x48d1a0]
addss xmm0, dword [eax*4 + 0x48d1f8]
comiss xmm0, xmm1
jbe 0x423bbc
mov ecx, eax
jmp 0x423bbc
jge 0x423bbc
movss xmm0, dword [eax*4 + 0x48d19c]
subss xmm0, dword [eax*4 + 0x48d1f4]
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 0x423bd0
mov ecx, edx
jmp 0x423bd7
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 - 0xac]
mov dword [ebp - 0x3c], 5
lea ecx, [eax*8]
sub ecx, dword [ebp - 0x7c]
lea eax, [esi + 0x30]
cmp eax, ecx
jg 0x423d07
cmp dword [ebp - 0x14], 0
mov ecx, dword [ebp - 8]
jg 0x423c95
cmp dword [ecx + 0x40], 0
jne 0x423c95
push dword [ecx + 0x48]
movss xmm0, dword [ebp - 0xa8]
lea eax, [ecx + 0xe4]
push dword [ebp - 0xbc]
push ecx
movss dword [esp], xmm0
push dword [ecx + 0xe8]
movss xmm0, dword [ebp - 0x70]
push ecx
movss dword [esp], xmm0
push eax
lea eax, [ecx + 0x78]
mov ecx, dword [ebp - 0x28]
push eax
push dword [ebp - 0x98]
push edx
push dword [ebp - 0x1c]
mov edx, dword [ebp - 0x40]
push dword [ebp - 0x10]
push dword [ebp - 0x90]
call fcn.0041fe30
mov ecx, dword [edi + 0x1c]
add esp, 0x30
mov edx, ecx
mov dword [ebp - 0x3c], eax
shr edx, 7
lea esi, [eax + 0x48d24c]
test eax, eax
jg 0x423cb3
movzx eax, byte [esi]
imul eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
jmp 0x423ccb
mov dword [ecx + 0xe4], 0
mov esi, 0x48d251
mov ecx, dword [edi + 0x1c]
mov edx, ecx
mov dword [ebp - 0x3c], 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.0041dbc0
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 + 0x5992d4], 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 - 0x68], 0
jle 0x423ff5
mov eax, dword [ebp - 0x28]
mov ecx, 3
sub ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x68]
mov eax, dword [eax + 0x24]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x50], eax
mov eax, 0x4fb
sar eax, cl
mov ecx, dword [ebp - 0x38]
cmp ecx, eax
cmovge ecx, eax
cmp dword [ebp - 0x14], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], ecx
jne 0x423d53
lea eax, [eax + eax*4]
shl eax, 6
sub edx, eax
sub edx, 0xa0
jmp 0x423d63
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 - 0x34], edx
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x423d8f
mov eax, dword [eax + 0xd8]
mov ecx, dword [ebp - 0x50]
sar eax, cl
mov ecx, dword [ebp - 0xc8]
add edx, eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x14], 0
jne 0x423e39
mov edi, dword [ebp - 8]
sub esp, 8
movss xmm0, dword [ebp - 0xa0]
xor eax, eax
cmp dword [edi + 0xec], eax
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x2c]
setne al
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x88]
push eax
mov eax, edi
push dword [eax + 0x40]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0xb8]
movss xmm0, dword [ebp - 0x70]
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 - 0xbc]
push dword [ebp - 0x1c]
push edx
lea edx, [eax + 0x78]
call fcn.00421f60
mov ecx, dword [ebp - 0x7c]
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 0x423ecf
cmp dword [eax + 0xbc], 0x64
jge 0x423e56
mov ecx, 3
mov edx, 0x60
sub ecx, dword [ebp - 0x1c]
sar edx, cl
add edx, dword [ebp - 0x34]
jmp 0x423e6c
jle 0x423e6c
mov edx, dword [ebp - 0x34]
mov ecx, 3
sub ecx, dword [ebp - 0x1c]
mov eax, 0x90
sar eax, cl
sub edx, eax
movss xmm1, dword [ebp - 0x70]
movaps xmm0, xmm1
subss xmm0, dword [0x5ba6a8]
mulss xmm0, dword [0x5ba9f4]
cvttss2si eax, xmm0
add edx, eax
comiss xmm1, dword [0x5ba724]
jbe 0x423ea9
cmp edx, 0x190
mov eax, 0x190
cmovg eax, edx
mov dword [ebp - 0x88], eax
mov edx, eax
mov eax, dword [ebp - 0x7c]
add edx, esi
lea ecx, [eax + 0x3f]
add ecx, esi
mov esi, dword [ebp - 0x8c]
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 - 0x60]
lea esi, [edx + 0x20]
sar esi, 6
cmp ecx, esi
cmovg esi, ecx
cmp dword [ebp - 0x30], esi
cmovl esi, dword [ebp - 0x30]
sub edx, dword [ebp - 0x68]
mov ecx, esi
shl ecx, 6
mov dword [ebp - 0x38], esi
test eax, eax
je 0x423eff
mov dword [ebp - 0x38], 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 0x423f35
movss xmm1, dword [0x5ba77c]
inc eax
mov dword [edx + 0xdc], eax
add eax, 0x14
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
jmp 0x423f3d
movss xmm1, dword [0x5ba5d0]
cmp dword [edx + 0x34], 0
je 0x423fbd
mov eax, dword [edx + 0xd0]
sub eax, dword [ebp - 0x68]
add eax, ecx
mov ecx, dword [ebp - 0x50]
shl esi, cl
mov ecx, dword [ebp - 8]
mov dword [edx + 0xd0], eax
mov edx, dword [edx + 0xd4]
sub esi, edx
mov dword [ebp - 0x88], eax
sub esi, dword [ecx + 0xd8]
movd xmm0, esi
mov esi, dword [ebp - 0x38]
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 - 0x88]
test eax, eax
jns 0x423fc0
cdq
and edx, 0x3f
add eax, edx
xor edx, edx
sar eax, 6
neg eax
mov dword [ecx + 0xd0], edx
cmp dword [ebp - 0x60], edx
cmovne eax, edx
add esi, eax
jmp 0x423fc0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x30], esi
mov eax, dword [edi + 0x18]
cmovl esi, dword [ebp - 0x30]
mov edx, dword [edi + 8]
add eax, edx
mov dword [ebp - 0x38], esi
cmp eax, esi
ja 0x424c59
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.00459900
add esp, 0xc
mov dword [edi + 4], esi
mov eax, dword [ebp - 0x20]
lea esi, [eax*4]
mov eax, esi
call fcn.0047a3e0
mov eax, esi
mov dword [ebp - 0x34], esp
call fcn.0047a3e0
mov eax, esi
mov dword [ebp - 0x50], esp
call fcn.0047a3e0
mov eax, dword [edi + 0x1c]
bsr esi, eax
mov dword [ebp - 0x30], esp
lea ecx, [esi - 0xf]
shr eax, cl
mov edx, eax
shr edx, 0xc
cmp dword [edx*4 + 0x5992b4], eax
mov eax, dword [ebp - 0x38]
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 - 0x78], 0
je 0x424074
mov eax, dword [ebp - 0x1c]
cmp eax, 2
jl 0x424074
lea eax, [eax*8 + 0x10]
cmp edx, eax
jl 0x424074
mov eax, 8
jmp 0x424076
xor eax, eax
mov ecx, dword [ebp - 0x10]
sub edx, eax
mov dword [ebp - 0x54], eax
dec ecx
mov eax, dword [ebp - 8]
cmp dword [eax + 0x78], 0
je 0x4240e5
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xbc]
imul eax, ecx, 0x7d00
cmp esi, eax
jge 0x4240a2
mov ecx, 0xd
jmp 0x4240d4
imul eax, ecx, 0xbb80
cmp esi, eax
jge 0x4240b3
mov ecx, 0x10
jmp 0x4240d4
imul eax, ecx, 0xea60
cmp esi, eax
jge 0x4240c4
mov ecx, 0x12
jmp 0x4240d4
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]
add eax, 0xe8
push ecx
push edi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x8c], eax
push dword [ebp - 0xc]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x50]
push ecx
push edx
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, dword [ebp - 0x28]
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x84]
push dword [ebp - 0x80]
push dword [ebp - 0x10]
call fcn.00433f00
mov ecx, eax
add esp, 0x44
mov eax, dword [esi]
mov dword [ebp - 0xa0], ecx
test eax, eax
je 0x424177
lea edx, [eax - 1]
cmp edx, ecx
cmovg ecx, edx
inc eax
cmp eax, ecx
jl 0x424166
mov eax, dword [ebp - 0xa0]
cmp edx, eax
cmovg eax, edx
mov ecx, dword [ebp - 8]
add ecx, 0xe8
mov dword [ebp - 0x8c], ecx
jmp 0x424179
mov eax, ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
mov dword [esi], eax
mov dword [ebp - 0xb8], edx
cmp ecx, dword [ebp - 0x10]
jge 0x424332
mov eax, dword [ebp - 0x34]
movsd xmm2, qword [0x5ba9e0]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x2c], eax
mov ecx, dword [eax]
mov eax, 1
shl ax, cl
movzx eax, ax
test ecx, ecx
jle 0x42430e
cwde
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
movd xmm1, eax
lea esi, [eax - 1]
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0xc8], esi
movss dword [ebp - 0x88], xmm1
nop word [eax + eax]
mov eax, dword [ebp - 0x28]
movsd xmm3, qword [0x5baa60]
mov eax, dword [eax + 8]
imul eax, ecx
mov ecx, dword [ebp - 0x4c]
add eax, edx
movss xmm0, dword [ecx + eax*4]
mov ecx, esi
addss xmm0, dword [0x5ba6ec]
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 [0x5ba840]
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 - 0x2c]
xor esi, esi
test ecx, ecx
cmovns esi, ecx
mov ecx, edi
push dword [eax]
mov edx, esi
call fcn.0041df30
mov eax, dword [ebp - 0x2c]
mov ecx, 0xe
mov edx, dword [ebp - 0xb8]
add esp, 4
mov edi, dword [ebp - 0x74]
movd xmm0, esi
sub ecx, dword [eax]
mov eax, 1
mov esi, dword [ebp - 0x28]
shl eax, cl
mov ecx, dword [ebp - 0x8c]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
addss xmm0, dword [0x5ba6ec]
mov eax, dword [esi + 8]
cvtdq2ps xmm1, xmm1
imul eax, ecx
mulss xmm1, xmm0
movsd xmm2, qword [0x5ba9e0]
mulss xmm1, dword [0x5ba5a0]
add eax, edx
subss xmm1, dword [0x5ba6ec]
movaps xmm0, xmm1
addss xmm0, dword [edi + eax*4]
movss dword [edi + eax*4], xmm0
mov eax, dword [esi + 8]
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebx + 0x14]
imul eax, ecx
inc ecx
mov dword [ebp - 0x8c], ecx
add eax, edx
movss xmm0, dword [esi + eax*4]
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x88]
movss dword [esi + eax*4], xmm0
mov esi, dword [ebp - 0xc8]
cmp ecx, dword [ebp - 0xc]
jl 0x4241e0
mov eax, dword [ebp - 0x2c]
inc edx
add eax, 4
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0x2c], eax
cmp edx, dword [ebp - 0x10]
jl 0x4241a0
mov esi, dword [ebp - 8]
add esi, 0xe8
jmp 0x424338
mov esi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0xc]
call fcn.0047a3e0
cmp dword [ebp - 0xc], 2
mov edx, esp
jne 0x42435a
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x98]
lea ecx, [eax + ecx*4]
jmp 0x42435c
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 - 0xa0]
mov eax, dword [ebp - 0x38]
push dword [ebp - 0x1c]
shl eax, 6
sub eax, dword [ebp - 0x54]
push edi
push dword [ebp - 0xb4]
push eax
push dword [ebp - 0x18]
push dword [esi]
mov esi, dword [ebp - 8]
push dword [ebp - 0xc4]
push dword [esi + 0x50]
push dword [ebp - 0x44]
push dword [ebp - 0x50]
push dword [ebp - 0x24]
push edx
mov edx, dword [ebp - 0x28]
push ecx
push dword [ebp - 0x40]
mov ecx, 1
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call fcn.004324f0
add esp, 0x54
cmp dword [ebp - 0x54], 0
jbe 0x424445
mov edx, dword [edi + 0x10]
xor eax, eax
cmp dword [esi + 0x74], 2
mov dword [ebp - 0x18], edx
setl al
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x2c], eax
lea eax, [edx + 1]
cmp eax, 0x20
jbe 0x42442a
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 8]
add eax, esi
mov ecx, dword [edi + 4]
cmp eax, ecx
jb 0x4243fc
or eax, 0xffffffff
jmp 0x424411
mov edx, dword [ebp - 0x2c]
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 - 0x2c]
shr eax, 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], edx
cmp edx, 8
jge 0x4243e8
jmp 0x42442d
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x88]
mov ecx, edx
shl esi, cl
or eax, esi
inc dword [edi + 0x14]
mov dword [edi + 0xc], eax
lea eax, [edx + 1]
mov dword [edi + 0x10], eax
bsr ecx, dword [edi + 0x1c]
mov eax, dword [ebp - 0x38]
xorps xmm2, xmm2
movss xmm3, dword [0x5ba6ec]
shl eax, 3
sub eax, dword [edi + 0x14]
inc eax
add ecx, eax
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x50], edx
nop
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0xa0], esi
cmp esi, eax
jge 0x424607
mov eax, dword [ebp - 0x34]
mov edi, esi
lea eax, [eax + edi*4]
mov edi, dword [ebp - 0x30]
sub edi, dword [ebp - 0x34]
mov dword [ebp - 0x88], edi
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0x54], eax
nop dword [eax + eax]
cmp ecx, dword [ebp - 0xc]
jl 0x424604
cmp dword [eax], 8
jge 0x4245ee
mov esi, dword [ebp - 0x88]
cmp dword [esi + eax], edx
mov esi, dword [ebp - 0xa0]
jne 0x4245ee
mov edx, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp - 0xb8], 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 - 0x2c], eax
mov dword [ebp - 0x18], edx
lea eax, [edx + 1]
setbe cl
mov dword [ebp - 0x8c], ecx
cmp eax, 0x20
jbe 0x424547
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 8]
add eax, esi
mov ecx, dword [edi + 4]
cmp eax, ecx
jb 0x424514
or eax, 0xffffffff
jmp 0x424529
mov edx, dword [ebp - 0x2c]
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 - 0x2c], 8
mov dword [ebp - 0x18], edx
cmp edx, 8
jge 0x424500
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xa0]
inc dword [edi + 0x14]
mov eax, ecx
movd xmm0, dword [ebp - 0x8c]
mov ecx, edx
shl eax, cl
mov ecx, 0xd
or eax, dword [ebp - 0x2c]
mov dword [edi + 0xc], eax
lea eax, [edx + 1]
mov edx, dword [ebp - 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x54]
mov edi, dword [ebp - 0x74]
cvtdq2ps xmm0, xmm0
dec dword [ebp - 0xc4]
sub ecx, dword [eax]
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0xb8]
subss xmm0, xmm3
movd xmm1, eax
mov eax, dword [edx + 8]
cvtdq2ps xmm1, xmm1
imul eax, ecx
mulss xmm1, xmm0
mulss xmm1, dword [0x5ba5a0]
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 - 0x4c]
mov edi, dword [ebx + 0x14]
imul eax, ecx
inc ecx
mov dword [ebp - 0xb8], 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 0x4244d2
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x50]
inc esi
add eax, 4
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x54], eax
cmp esi, dword [ebp - 0x10]
jl 0x4244a0
mov eax, dword [ebp - 0x10]
inc edx
mov dword [ebp - 0x50], edx
cmp edx, 2
jl 0x424470
mov edi, dword [ebp - 0x20]
mov eax, edi
imul eax, dword [ebp - 0x5c]
shl eax, 2
push eax
push 0
push dword [ebp - 0xb0]
call fcn.00458e80
mov ecx, dword [ebp - 0x14]
lea eax, [edi*4]
mov edx, dword [ebp - 0xb0]
add esp, 0xc
movss xmm1, dword [0x5baa78]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x88], eax
lea edi, [edx + ecx*4]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
nop dword [eax]
cmp dword [ebp - 0x14], ecx
jge 0x4246b4
mov edx, dword [ebp - 0x4c]
mov eax, edi
sub edx, dword [ebp - 0xb0]
sub ecx, dword [ebp - 0x14]
movss xmm2, dword [0x5ba6ec]
mov esi, dword [ebp - 0x60]
nop
movss xmm0, dword [edx + eax]
minss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x424691
movaps xmm0, xmm1
movss dword [eax], xmm0
add eax, 4
sub ecx, 1
jne 0x424680
mov edx, dword [ebp - 0xc]
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x60], esi
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x88]
inc esi
add edi, eax
mov dword [ebp - 0x18], esi
cmp esi, edx
jl 0x424660
cmp dword [ebp - 0x60], 0
mov esi, dword [ebp - 0x20]
je 0x4246da
mov ecx, esi
imul ecx, edx
test ecx, ecx
jle 0x4246da
mov edi, dword [ebp - 0x74]
mov eax, 0xc1e00000
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xd0]
movss xmm0, dword [ebp - 0x94]
mov edi, dword [ebp - 0x74]
mov dword [eax + 0x68], ecx
mov ecx, dword [ebp - 0xd4]
movss dword [eax + 0x6c], xmm0
mov dword [eax + 0x70], ecx
mov eax, dword [ebp - 0x5c]
cmp eax, 2
jne 0x424724
cmp edx, 1
jne 0x424724
lea eax, [esi*4]
push eax
lea eax, [edi + esi*4]
push edi
push eax
call fcn.00459900
mov eax, dword [ebp - 0x5c]
add esp, 0xc
imul esi, eax
cmp dword [ebp - 0x78], 0
mov dword [ebp - 0x18], esi
jne 0x42476b
lea eax, [esi*4]
push eax
push dword [ebp - 0xa4]
push dword [ebp - 0xc0]
call fcn.00459900
mov eax, dword [ebp - 0x20]
add esp, 0xc
imul eax, dword [ebp - 0x5c]
shl eax, 2
push eax
push edi
push dword [ebp - 0xa4]
call fcn.00459900
add esp, 0xc
jmp 0x4248df
xor edx, edx
test esi, esi
jle 0x4248df
cmp esi, 0x10
jb 0x42482b
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 0x4247a0
cmp ecx, edi
jae 0x42482b
mov eax, esi
and eax, 0x8000000f
jns 0x4247ae
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, esi
add edi, 0x30
sub ecx, eax
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x94]
add ecx, 0x10
nop word [eax + eax]
movups xmm0, xmmword [edi - 0x30]
mov eax, ecx
add edx, 0x10
movups xmm1, xmmword [ecx - 0x10]
sub eax, dword [ebp - 0xcc]
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 0x4247d0
mov esi, dword [ebp - 0x18]
cmp eax, esi
jge 0x4248df
mov eax, esi
sub eax, edx
cmp eax, 4
jl 0x4248b6
mov edi, dword [ebp - 0x74]
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 - 0x94], eax
mov esi, eax
lea edi, [edi + edx*4]
lea ecx, [ecx + edx*4]
lea edx, [edx + eax*4]
movss xmm0, dword [edi - 0xc]
lea edi, [edi + 0x10]
minss xmm0, dword [ecx - 4]
mov eax, ecx
sub eax, dword [ebp - 0xcc]
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 0x424863
mov esi, dword [ebp - 0x18]
cmp edx, esi
jge 0x4248df
mov eax, dword [ebp - 0xa4]
sub esi, edx
lea ecx, [eax + edx*4]
mov edx, dword [ebp - 0xcc]
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 0x4248c7
mov edi, dword [ebp - 0xc0]
xor edx, edx
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0x20]
mov eax, edx
dec edx
mov dword [ebp - 0x44], 0
sub eax, ecx
lea ecx, [edi + ecx*4]
mov dword [ebp - 0x8c], eax
mov eax, edi
sub esi, eax
mov dword [ebp - 0x68], eax
lea edx, [edi + edx*4]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x14]
lea edi, [edi + edx*4]
add edi, 0xfffffffc
mov dword [ebp - 0x54], edi
mov edi, dword [ebp - 0x74]
sub edi, eax
mov dword [ebp - 0xb0], edi
xor edx, edx
cmp dword [ebp - 0x14], edx
jle 0x424a6e
mov ecx, dword [ebp - 0x14]
cmp ecx, 4
jb 0x424a1e
lea ecx, [esi + eax]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x54]
cmp dword [ebp - 0x18], ecx
ja 0x424966
lea eax, [esi + ecx]
cmp eax, dword [ebp - 0x68]
jae 0x424a1b
lea eax, [edi + ecx]
cmp dword [ebp - 0x18], eax
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x68]
ja 0x424983
add ecx, esi
add eax, edi
cmp ecx, eax
jae 0x424a1b
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x94]
ja 0x42499a
lea eax, [edi + ecx]
cmp dword [ebp - 0x54], eax
jae 0x424a1b
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, 0x80000003
jns 0x4249ab
dec eax
or eax, 0xfffffffc
inc eax
sub ecx, eax
nop dword [eax]
add edx, 4
cmp edx, ecx
jl 0x4249b0
mov edi, dword [ebp - 0x44]
lea eax, [ecx + 3]
mov dword [ebp - 0x94], 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 - 0x74]
shr ecx, 2
lea edi, [edx + edi*4]
mov edx, dword [ebp - 0xc0]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x44]
mov eax, 0xc1e00000
mov ecx, dword [ebp - 0x18]
shr ecx, 2
lea edi, [edx + edi*4]
mov edx, dword [ebp - 0x44]
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 - 0x94]
mov edx, eax
cmp eax, dword [ebp - 0x14]
jge 0x424a65
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0xc0]
add eax, edx
mov edi, dword [ebp - 0x74]
sub edi, esi
mov dword [ebp - 0xb0], edi
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0xa4]
sub esi, dword [ebp - 0xc0]
sub ecx, edx
mov dword [edi + eax], 0
lea eax, [eax + 4]
mov dword [eax - 4], 0xc1e00000
mov dword [esi + eax - 4], 0xc1e00000
sub ecx, 1
jne 0x424a45
jmp 0x424a6b
mov edi, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
cmp edx, ecx
mov ecx, dword [ebp - 0x24]
jge 0x424b99
cmp dword [ebp - 0x8c], 4
jb 0x424b4f
lea eax, [esi + ecx]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x18], eax
ja 0x424aa7
add eax, esi
cmp eax, ecx
jae 0x424b4f
mov eax, dword [ebp - 0x70]
lea ecx, [edi + eax]
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0x24]
ja 0x424acb
lea ecx, [esi + eax]
mov eax, dword [ebp - 0x24]
add eax, edi
cmp ecx, eax
jae 0x424b4f
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x94]
ja 0x424adf
lea eax, [edi + ecx]
cmp dword [ebp - 0x70], eax
jae 0x424b4f
mov eax, dword [ebp - 0x8c]
and eax, 0x80000003
jns 0x424af1
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [ebp - 0x20]
sub ecx, eax
add edx, 4
cmp edx, ecx
jl 0x424af6
sub ecx, dword [ebp - 0x10]
add edi, dword [ebp - 0x24]
mov dword [ebp - 0x88], edx
lea eax, [ecx + 3]
cdq
and edx, 3
add edx, eax
xor eax, eax
sar edx, 2
shl edx, 4
mov ecx, edx
mov dword [ebp - 0x94], edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x24]
mov ecx, edx
shr ecx, 2
mov eax, 0xc1e00000
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x24]
shr edx, 2
add edi, esi
mov ecx, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x88]
mov edx, eax
cmp eax, dword [ebp - 0x20]
jge 0x424b93
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x74]
add eax, edx
mov esi, dword [ebp - 0xa4]
sub edi, ecx
sub esi, ecx
mov dword [ebp - 0xb0], edi
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x20]
sub ecx, edx
mov dword [eax + edi], 0
lea eax, [eax + 4]
mov dword [eax - 4], 0xc1e00000
mov dword [eax + esi - 4], 0xc1e00000
sub ecx, 1
jne 0x424b75
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov edi, edx
add dword [ebp - 0x44], edx
inc dword [ebp - 0xcc]
lea edx, [edi*4]
mov edi, dword [ebp - 0xb0]
add dword [ebp - 0x54], edx
add eax, edx
add dword [ebp - 0x70], edx
add ecx, edx
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x24], ecx
cmp edx, dword [ebp - 0x5c]
jl 0x424935
cmp dword [ebp - 0x78], 0
jne 0x424bee
cmp dword [ebp - 0xd8], 0
jne 0x424bee
mov eax, dword [ebp - 8]
mov dword [eax + 0x74], 0
jmp 0x424bf4
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.0041e020
cmp dword [esi + 0x2c], 0
mov ecx, 0xfffffffd
mov eax, dword [ebp - 0x38]
cmovne eax, ecx
jmp 0x424c18
or eax, 0xffffffff
lea esp, [ebp - 0x118]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00457d6e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x622
mov edx, str.C:projectlibopusceltcelt_encoder.c
mov ecx, str.assertion_failed:_st__signalling0
call fcn.004127a0
push 0x707
mov edx, str.C:projectlibopusceltcelt_encoder.c
mov ecx, str.assertion_failed:_count_0
call fcn.004127a0
push 0xf9
mov edx, str.C:projectlibopusceltentenc.c
mov ecx, str.assertion_failed:__this__offs_this__end_offs__size
call fcn.004127a0
int3