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

Disassembly:
push ebp
push edi
mov edi, eax
push esi
push ebx
sub esp, 0xbc
mov eax, dword [eax + 4]
mov ebx, dword [edi + 0x2090]
mov esi, dword [edi + 0x2094]
mov dword [esp + 0x90], ecx
mov eax, dword [eax + 0x320]
mov dword [esp + 0x44], 8
mov dword [esp + 0x74], edx
mov dword [esp + 0x54], ebx
mov ecx, eax
sar dword [esp + 0x44], cl
cmp dword [edi + 0x1dbc], 4
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], esi
ja case.default.0x6c4ef549
mov eax, dword [edi + 0x1dbc]
jmp dword [eax*4 + 0x6c584860]
mov eax, dword [esp + 0xd4]
movzx ecx, byte [esp + 0x40]
mov edx, dword [edi + 0x2750]
mov ebp, dword [edi + 0x88]
shl eax, 5
mov ebx, dword [edi + eax + 0x1dc4]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xa4], edx
sar ebp, cl
add eax, 0xee
shl eax, 5
mov esi, dword [edi + eax]
mov eax, dword [esp + 0xd4]
mov eax, dword [edi + eax*8 + 0x1e00]
mov dword [esp + 0x7c], eax
mov eax, 2
shl eax, cl
lea edx, [eax - 1]
mov eax, dword [edi + 0x8c]
sar eax, cl
mov ecx, dword [edi + 0x11d4]
mov dword [esp + 0x60], eax
mov eax, dword [edi + 0x11d0]
add ecx, ecx
add eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [edi + 0x262c]
mov dword [esp + 0x78], ecx
test eax, eax
je 0x6c4ef5e9
mov eax, esi
shr eax, 0x1f
add esi, eax
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar esi, 1
sar ebx, 1
movzx ecx, byte [esp + 0x40]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x40]
sub eax, 1
imul eax, dword [esp + 0x7c]
add ecx, 1
sub ebx, eax
mov eax, esi
and eax, edx
mov dword [esp + 0x6c], eax
mov eax, ebx
and eax, edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x54]
add eax, eax
imul eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov eax, esi
sar eax, cl
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x50]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x4c]
add eax, eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x44]
imul eax, dword [esp + 0x84]
sar eax, 1
mov dword [esp + 0x58], eax
mov eax, ebx
sar eax, cl
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x48]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x1c]
cmp eax, 2
je 0x6c4f33d0
cmp eax, 1
je 0x6c4f352b
mov eax, dword [edi + 0x2754]
test eax, eax
je 0x6c4f3450
mov eax, esi
shr eax, 0x1f
add esi, eax
mov eax, ebx
shr eax, 0x1f
sar esi, 1
add ebx, eax
sar ebx, 1
mov eax, esi
and eax, edx
and edx, ebx
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x44]
sar esi, cl
imul edx, dword [esp + 0x54]
sar ebx, cl
mov dword [esp + 0x94], eax
add esi, edx
mov edx, dword [esp + 0x44]
imul edx, dword [esp + 0x4c]
mov dword [esp + 0x68], esi
sar edx, 1
lea esi, [edx + ebx]
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x5c]
imul ebx, dword [esp + 0x48]
mov ecx, dword [edx + 4]
imul eax, esi
add eax, dword [esp + 0x68]
add ebx, dword [esp + 0x50]
add ebx, dword [edx]
add ecx, eax
add eax, dword [edx + 8]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xa0], eax
xor eax, eax
test edx, edx
mov edx, ebp
setne al
neg ecx
sub edx, eax
xor eax, eax
lea edx, [edx + ecx*2]
test edx, edx
cmovs edx, eax
cmp dword [esp + 0x50], edx
ja 0x6c4f2b33
mov edx, dword [esp + 0x60]
sar edx, 1
test esi, esi
mov dword [esp + 0x88], edx
js 0x6c4f2b40
mov ecx, dword [esp + 0x70]
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x88]
setne dl
sub ecx, edx
mov edx, ecx
sub edx, dword [esp + 0x44]
cmovs edx, eax
cmp dword [esp + 0x48], edx
ja 0x6c4f2b40
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x6c4ef7a4
mov eax, dword [edi + 0x98]
add dword [esp + 0x54], eax
add dword [esp + 0x60], eax
add ebx, dword [edi + 0x94]
mov eax, dword [esp + 0x70]
movzx ecx, byte [esp + 0x40]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
shl eax, 2
mov edx, dword [esp + 0x74]
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
sub ebp, 1
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0xc], esi
mov dword [esp], edx
shl eax, 2
sar eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call dword [ebx + ebp*4]
mov eax, dword [edi + 0x2754]
mov ebx, esi
test eax, eax
je 0x6c4ef800
add ebx, 1
sar ebx, 1
test ebx, ebx
jne 0x6c4f3338
mov ebx, dword [esp + 0xd4]
mov ebp, 2
mov ecx, dword [edi + 4]
mov dword [esp + 0x58], 8
mov esi, dword [edi + 0x2750]
mov eax, dword [esp + 0xd4]
mov ebx, dword [edi + ebx*8 + 0x1e04]
mov ecx, dword [ecx + 0x320]
sar dword [esp + 0x58], cl
shl eax, 5
mov dword [esp + 0x70], ebx
mov ebx, dword [edi + 0x88]
add eax, edi
mov dword [esp + 0x40], ecx
movzx ecx, byte [esp + 0x40]
mov dword [esp + 0x98], esi
mov esi, dword [edi + 0x11d4]
mov edx, dword [eax + 0x1dcc]
mov eax, dword [eax + 0x1dc8]
sar ebx, cl
mov dword [esp + 0x54], ebx
mov ebx, dword [edi + 0x8c]
add esi, esi
mov dword [esp + 0x6c], esi
mov esi, dword [edi + 0x262c]
shl ebp, cl
sub ebp, 1
sar ebx, cl
mov dword [esp + 0x60], ebx
mov ebx, dword [edi + 0x11d0]
add ebx, ebx
test esi, esi
mov dword [esp + 0x48], ebx
je 0x6c4ef8b8
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
movzx ecx, byte [esp + 0x40]
sar eax, 1
sar edx, 1
mov esi, 1
mov ebx, esi
sub ebx, dword [esp + 0x70]
shl esi, cl
mov ecx, dword [esp + 0x40]
sub esi, 1
imul ebx, esi
add ecx, 1
add edx, ebx
mov ebx, eax
and ebx, ebp
mov esi, edx
mov dword [esp + 0x68], ebx
mov ebx, dword [edi + 0x2090]
and esi, ebp
mov dword [esp + 0x78], esi
mov esi, eax
sar esi, cl
mov dword [esp + 0x5c], ebx
add ebx, ebx
imul ebx, dword [esp + 0x58]
add esi, ebx
mov ebx, dword [esp + 0x84]
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x50], esi
mov esi, edx
sar esi, cl
sar ebx, 1
add esi, ebx
mov ebx, dword [edi + 0x1c]
cmp ebx, 2
je 0x6c4f3410
cmp ebx, 1
je 0x6c4f3584
mov ebx, dword [edi + 0x2754]
test ebx, ebx
je 0x6c4f34c0
mov ebx, eax
shr ebx, 0x1f
add eax, ebx
mov ebx, edx
sar eax, 1
shr ebx, 0x1f
add edx, ebx
mov ebx, eax
and ebx, ebp
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x58]
sar eax, cl
imul ebx, dword [esp + 0x5c]
sar edx, 1
and ebp, edx
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0x50]
sar edx, cl
add eax, ebx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0x58]
sar eax, 1
lea ebx, [eax + edx]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xd8]
imul eax, esi
mov ecx, dword [edx + 4]
add ebp, eax
mov eax, dword [esp + 0x6c]
add ebp, dword [edx]
imul eax, ebx
add eax, dword [esp + 0x5c]
add ecx, eax
add eax, dword [edx + 8]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x94], eax
xor eax, eax
test edx, edx
mov edx, dword [esp + 0x54]
setne al
neg ecx
sub edx, eax
xor eax, eax
lea edx, [edx + ecx*2]
test edx, edx
cmovs edx, eax
cmp dword [esp + 0x50], edx
ja 0x6c4f2a10
mov edx, dword [esp + 0x60]
sar edx, 1
test ebx, ebx
mov dword [esp + 0x4c], edx
js 0x6c4f2a1a
mov ecx, dword [esp + 0x78]
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x4c]
setne dl
sub ecx, edx
mov edx, ecx
sub edx, dword [esp + 0x44]
cmovs edx, eax
cmp esi, edx
ja 0x6c4f2a1a
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x58], edx
mov dword [esp + 0x64], ecx
mov eax, dword [edi + 0x94]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov esi, dword [edi + 0x98]
add edx, eax
test ecx, ecx
je 0x6c4efa4a
add dword [esp + 0x64], esi
add ebp, eax
add dword [esp + 0x58], esi
mov eax, dword [esp + 0x78]
movzx ecx, byte [esp + 0x40]
mov ebx, dword [esp + 0x40]
mov dword [esp], edx
mov edx, dword [esp + 0xdc]
shl eax, 2
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
sub ebx, 1
mov dword [esp + 4], ebp
shl eax, 2
sar eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
call dword [edx + ebx*4]
mov edi, dword [edi + 0x2754]
mov eax, dword [esp + 0x44]
sar eax, 1
test edi, edi
mov edi, dword [esp + 0x44]
cmovne edi, eax
test edi, edi
je case.default.0x6c4ef549
mov edx, dword [esp + 0x7c]
mov eax, 3
mov ebp, dword [esp + 0x84]
movzx ecx, byte [esp + 0x40]
add ebx, dword [esp + 0x98]
shl edx, 2
shl ebp, 2
sar edx, cl
sar ebp, cl
cmp ebx, 3
cmovg ebx, eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], ebp
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
add eax, esi
mov dword [esp], eax
call dword [ebx]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
add esi, dword [esp + 0xd0]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], edx
call dword [ebx]
nop
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [edi + 0x2724]
cmp eax, 3
je 0x6c4ef550
mov edx, dword [esp + 0xd4]
mov edx, dword [edi + edx*8 + 0x1e00]
mov dword [esp + 0x70], edx
add edx, 1
cmp eax, edx
je 0x6c4efb8f
cmp dword [edi + 0x16e8], 3
je 0x6c4efb8f
mov ebx, dword [edi + 0x2768]
test ebx, ebx
je 0x6c4f1905
mov esi, dword [esp + 0x44]
movzx ecx, byte [esp + 0x40]
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0xd4]
add esi, esi
mov ebx, dword [edi + 0x2750]
mov dword [esp + 0x4c], esi
mov esi, dword [edi + 0x88]
sar ebp, 1
shl eax, 5
mov edx, dword [edi + eax + 0x1dc4]
sar esi, cl
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x60], esi
mov esi, dword [edi + 0x8c]
mov dword [esp + 0x94], ebx
mov ebx, 2
shl ebx, cl
add eax, 0xee
sub ebx, 1
sar esi, cl
mov ecx, dword [edi + 0x262c]
mov dword [esp + 0x50], esi
mov esi, dword [edi + 0x11d0]
shl eax, 5
mov eax, dword [edi + eax]
test ecx, ecx
mov dword [esp + 0x48], esi
mov esi, dword [edi + 0x11d4]
mov dword [esp + 0x58], esi
je 0x6c4efc26
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov esi, eax
mov ecx, dword [esp + 0x40]
and esi, ebx
mov dword [esp + 0x6c], esi
mov esi, edx
and esi, ebx
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x54]
add ecx, 1
add esi, esi
imul esi, dword [esp + 0x44]
mov dword [esp + 0x64], esi
mov esi, eax
sar esi, cl
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x64]
add esi, dword [esp + 0x5c]
mov dword [esp + 0x5c], esi
lea esi, [ebp + ebp]
imul esi, dword [esp + 0x44]
mov dword [esp + 0x64], esi
mov esi, edx
sar esi, cl
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x64]
add esi, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov esi, dword [edi + 0x1c]
cmp esi, 2
je 0x6c4f2d90
cmp esi, 1
je 0x6c4f3060
mov esi, dword [edi + 0x2754]
test esi, esi
jne 0x6c4f1917
mov esi, dword [esp + 0x94]
test esi, esi
je 0x6c4f32c0
mov edx, eax
mov ebp, dword [esp + 0x68]
shr edx, 0x1f
mov esi, dword [esp + 0x5c]
add eax, edx
mov edx, dword [esp + 0x44]
imul edx, dword [esp + 0x54]
sar eax, 1
and ebx, eax
sar eax, cl
add eax, edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x48]
imul eax, dword [esp + 0x68]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x6c]
add esi, eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [edx + 4]
add esi, dword [eax]
mov eax, dword [esp + 0x58]
imul eax, ebp
add eax, dword [esp + 0x54]
add ecx, eax
add eax, dword [edx + 8]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x64], eax
xor eax, eax
test ebx, ebx
setne al
xor edx, edx
sub ecx, eax
mov eax, dword [esp + 0x44]
neg eax
lea eax, [ecx + eax*2]
test eax, eax
cmovs eax, edx
cmp dword [esp + 0x5c], eax
ja 0x6c4f1cb0
test ebp, ebp
js 0x6c4f1cb0
mov ecx, dword [esp + 0x78]
xor eax, eax
mov ebx, dword [esp + 0x50]
test ecx, ecx
setne al
sub ebx, eax
mov eax, ebx
sub eax, dword [esp + 0x4c]
cmovs eax, edx
cmp dword [esp + 0x68], eax
ja 0x6c4f1cb0
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x44], edx
mov ebp, dword [esp + 0x70]
test ebp, ebp
je 0x6c4efd9f
mov eax, dword [edi + 0x98]
add dword [esp + 0x44], eax
add esi, dword [edi + 0x94]
add ebx, eax
mov eax, dword [esp + 0x78]
movzx ecx, byte [esp + 0x40]
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x40]
shl eax, 2
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x74]
sub ebp, 1
mov dword [esp + 4], esi
mov esi, dword [esp + 0xdc]
shl eax, 2
sar eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 0xc], eax
call dword [esi + ebp*4]
mov edi, dword [edi + 0x2754]
test edi, edi
je 0x6c4efdfd
add dword [esp + 0x4c], 1
sar dword [esp + 0x4c], 1
mov esi, dword [esp + 0x4c]
test esi, esi
je case.default.0x6c4ef549
mov edi, dword [esp + 0x7c]
mov edx, 3
mov eax, dword [esp + 0x84]
movzx ecx, byte [esp + 0x40]
add ebp, dword [esp + 0x94]
mov esi, dword [esp + 0xdc]
shl edi, 2
shl eax, 2
sar eax, cl
sar edi, cl
cmp ebp, 3
mov ecx, dword [esp + 0x90]
cmovg ebp, edx
mov edx, dword [esp + 0x4c]
lea ebp, [esi + ebp*4]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x14], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 8], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edx
mov dword [esp], ecx
call dword [ebp]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [ebp]
jmp case.default.0x6c4ef549
mov ebx, dword [edi + 0x2724]
cmp ebx, 3
mov dword [esp + 0x70], ebx
je 0x6c4f20d0
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x40]
mov eax, dword [esp + 0xd4]
add esi, esi
mov ebp, dword [edi + 0x88]
mov dword [esp + 0x60], esi
sar esi, 1
mov dword [esp + 0x50], esi
mov esi, dword [edi + 0x8c]
sar ebx, 1
mov dword [esp + 0x4c], ebx
add ebx, ebx
mov dword [esp + 0x94], ebx
mov ebx, dword [edi + 0x2750]
shl eax, 5
mov edx, dword [edi + eax + 0x1dc4]
sar ebp, cl
sar esi, cl
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x5c], esi
mov esi, dword [edi + 0x11d0]
mov dword [esp + 0xa8], ebx
mov ebx, 2
shl ebx, cl
mov ecx, dword [edi + 0x262c]
add eax, 0xee
sub ebx, 1
mov dword [esp + 0x68], esi
mov esi, dword [edi + 0x11d4]
shl eax, 5
mov eax, dword [edi + eax]
test ecx, ecx
mov dword [esp + 0x48], esi
je 0x6c4eff59
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov esi, eax
mov ecx, dword [esp + 0x40]
and esi, ebx
mov dword [esp + 0x84], esi
mov esi, edx
and esi, ebx
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x54]
add ecx, 1
add esi, esi
imul esi, dword [esp + 0x44]
mov dword [esp + 0x58], esi
mov esi, eax
sar esi, cl
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x58]
add esi, dword [esp + 0x6c]
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x44]
imul esi, dword [esp + 0x94]
mov dword [esp + 0x58], esi
mov esi, edx
sar esi, cl
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x58]
add esi, dword [esp + 0x78]
mov dword [esp + 0x78], esi
mov esi, dword [edi + 0x1c]
cmp esi, 2
je 0x6c4f2c60
cmp esi, 1
je 0x6c4f30f0
mov esi, dword [edi + 0x2754]
test esi, esi
jne 0x6c4f18b4
mov esi, dword [esp + 0xa8]
test esi, esi
je 0x6c4f32e4
mov edx, eax
mov esi, dword [esp + 0x6c]
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x44]
imul edx, dword [esp + 0x54]
sar eax, 1
and ebx, eax
sar eax, cl
add eax, edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x54], edx
mov dword [esp + 0x9c], eax
lea esi, [esi]
mov eax, dword [esp + 0x68]
imul eax, dword [esp + 0x78]
mov edx, dword [esp + 0xd8]
add esi, eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [edx + 4]
add esi, dword [eax]
mov eax, dword [esp + 0x48]
imul eax, dword [esp + 0x54]
add eax, dword [esp + 0x7c]
add ecx, eax
add eax, dword [edx + 8]
mov edx, dword [esp + 0x84]
mov dword [esp + 0xa0], ecx
mov ecx, ebp
mov dword [esp + 0xa4], eax
xor eax, eax
test edx, edx
setne al
xor edx, edx
sub ecx, eax
mov eax, dword [esp + 0x44]
neg eax
lea eax, [ecx + eax*2]
test eax, eax
cmovs eax, edx
cmp dword [esp + 0x6c], eax
ja 0x6c4f1ee0
mov ebx, dword [esp + 0x54]
test ebx, ebx
js 0x6c4f1ee0
mov ecx, dword [esp + 0x88]
xor eax, eax
mov ebx, dword [esp + 0x5c]
test ecx, ecx
setne al
sub ebx, eax
mov eax, ebx
sub eax, dword [esp + 0x60]
cmovs eax, edx
cmp dword [esp + 0x78], eax
ja 0x6c4f1ee0
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x44], eax
cmp dword [esp + 0x70], 1
je 0x6c4f00f8
mov eax, dword [edi + 0x98]
add dword [esp + 0x44], eax
add esi, dword [edi + 0x94]
add ebx, eax
mov eax, dword [esp + 0x88]
movzx ecx, byte [esp + 0x40]
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x40]
shl eax, 2
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x74]
sub ebp, 1
mov dword [esp + 4], esi
mov esi, dword [esp + 0xdc]
shl eax, 2
sar eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp], edx
mov dword [esp + 0xc], eax
call dword [esi + ebp*4]
mov esi, dword [edi + 0x2754]
test esi, esi
mov esi, dword [esp + 0x60]
cmovne esi, dword [esp + 0x50]
test esi, esi
jne 0x6c4f2972
mov ebx, dword [edi + 0x2768]
test ebx, ebx
jne 0x6c4f0179
mov edx, dword [edi + 0x1660]
mov dword [esp + 0xd8], edx
mov eax, dword [edi + 4]
mov ebp, 8
mov esi, dword [edi + 0x2090]
mov ebx, dword [edi + 0x2724]
mov eax, dword [eax + 0x320]
mov dword [esp + 0x68], esi
mov esi, dword [edi + 0x88]
mov dword [esp + 0x84], ebx
mov ebx, dword [edi + 0x2750]
mov dword [esp + 0x44], eax
movzx ecx, byte [esp + 0x44]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x98], ebx
mov ebx, 2
sar esi, cl
mov dword [esp + 0x58], esi
mov esi, dword [edi + 0x8c]
shl ebx, cl
sar ebp, cl
sub ebx, 1
shl eax, 5
add eax, edi
sar esi, cl
mov ecx, dword [edi + 0x262c]
mov dword [esp + 0x80], esi
mov esi, dword [edi + 0x11d0]
mov edx, dword [eax + 0x1dd4]
mov eax, dword [eax + 0x1dd0]
test ecx, ecx
mov dword [esp + 0x54], esi
mov esi, dword [edi + 0x11d4]
mov dword [esp + 0x40], esi
je 0x6c4f0223
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov esi, eax
mov ecx, dword [esp + 0x44]
and esi, ebx
mov dword [esp + 0x6c], esi
mov esi, edx
and esi, ebx
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x68]
add ecx, 1
add esi, esi
imul esi, ebp
mov dword [esp + 0x5c], esi
mov esi, eax
sar esi, cl
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x5c]
add esi, dword [esp + 0x48]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x94]
imul esi, ebp
mov dword [esp + 0x64], esi
mov esi, edx
sar esi, cl
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x64]
add esi, dword [esp + 0x5c]
mov dword [esp + 0x5c], esi
mov esi, dword [edi + 0x1c]
cmp esi, 2
je 0x6c4f2dd0
cmp esi, 1
je 0x6c4f30a0
mov esi, dword [edi + 0x2754]
test esi, esi
je 0x6c4f2e07
mov esi, eax
shr esi, 0x1f
add esi, eax
mov eax, edx
shr eax, 0x1f
sar esi, 1
add edx, eax
sar edx, 1
mov eax, esi
and eax, ebx
and ebx, edx
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x68]
sar esi, cl
sar edx, cl
mov dword [esp + 0x70], eax
imul ebx, ebp
add esi, ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x68], esi
imul ebx, ebp
lea eax, [ebx + edx]
mov esi, dword [esp + 0xd8]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x54]
imul ebx, dword [esp + 0x5c]
mov ecx, dword [esi + 4]
imul edx, eax
add edx, dword [esp + 0x68]
add ebx, dword [esp + 0x48]
add ebx, dword [esi]
add ecx, edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x6c]
add edx, dword [esi + 8]
mov dword [esp + 0x88], edx
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x58]
setne dl
neg ebp
sub ecx, edx
xor edx, edx
lea ecx, [ecx + ebp*2]
test ecx, ecx
cmovs ecx, edx
cmp dword [esp + 0x48], ecx
ja 0x6c4f1dc2
test eax, eax
js 0x6c4f1dc2
mov esi, dword [esp + 0x78]
xor ecx, ecx
test esi, esi
mov esi, dword [esp + 0x80]
setne cl
sub esi, ecx
mov ecx, esi
sub ecx, dword [esp + 0x60]
cmovs ecx, edx
cmp dword [esp + 0x5c], ecx
ja 0x6c4f1dc2
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x64], edx
cmp dword [esp + 0x84], 2
je 0x6c4f0390
mov eax, dword [edi + 0x98]
add dword [esp + 0x64], eax
add ebx, dword [edi + 0x94]
add esi, eax
mov eax, dword [esp + 0x78]
movzx ecx, byte [esp + 0x44]
mov edx, dword [esp + 0x54]
mov dword [esp + 4], ebx
shl eax, 2
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x74]
shl eax, 2
sar eax, cl
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp], edx
mov dword [esp + 0xc], eax
call dword [edi + ecx*4 + 0x1c10]
mov eax, dword [edi + 0x2754]
mov ebx, dword [esp + 0x60]
test eax, eax
cmovne ebx, dword [esp + 0x50]
test ebx, ebx
mov dword [esp + 0x50], ebx
je case.default.0x6c4ef549
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
movzx ecx, byte [esp + 0x44]
mov edx, dword [esp + 0x98]
shl ebx, 2
shl ebp, 2
sar ebx, cl
sar ebp, cl
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x14], ebp
lea eax, [edx + ecx - 1]
mov edx, 3
mov ecx, dword [esp + 0x90]
cmp eax, 3
cmovg eax, edx
mov edx, dword [esp + 0x50]
add eax, 0x704
mov dword [esp], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
call dword [edi + eax*4 + 4]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], ecx
call dword [edi + eax*4 + 4]
jmp case.default.0x6c4ef549
mov ebx, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x40]
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0xd4]
add ebx, ebx
mov ebp, dword [edi + 0x94]
mov dword [esp + 0x68], ebx
mov ebx, dword [edi + 0x8c]
add esi, esi
shl eax, 5
mov edx, dword [edi + eax + 0x1dc4]
sar ebx, cl
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x54], ebx
mov ebx, dword [edi + 0x88]
mov dword [esp + 0x48], esi
add eax, 0xee
sar ebx, cl
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x44]
imul ebx, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
shl eax, 5
mov eax, dword [edi + eax]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x44]
imul ebx, esi
mov esi, dword [esp + 0xd8]
cmp dword [esp + 0x40], 3
mov dword [esp + 0x78], ebx
mov ebx, 3
mov esi, dword [esi]
cmovle ebx, dword [esp + 0x40]
mov dword [esp + 0x60], ebx
mov ebx, 2
shl ebx, cl
mov ecx, dword [edi + 0x262c]
sub ebx, 1
mov dword [esp + 0x7c], esi
test ecx, ecx
je 0x6c4f054c
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov ecx, dword [esp + 0x40]
mov esi, edx
and esi, ebx
mov dword [esp + 0x70], esi
mov esi, eax
add ecx, 1
sar edx, cl
add edx, dword [esp + 0x6c]
sar esi, cl
add esi, dword [esp + 0x78]
mov ecx, edx
imul ecx, ebp
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x7c]
add ecx, esi
add edx, ecx
mov ecx, dword [esp + 0x4c]
and ebx, eax
setne al
movzx eax, al
sub ecx, eax
mov eax, ecx
xor ecx, ecx
sub eax, dword [esp + 0x44]
cmovs eax, ecx
cmp esi, eax
ja 0x6c4f05be
xor eax, eax
cmp dword [esp + 0x70], 0
setne al
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x58]
mov dword [esp + 0x58], eax
sub eax, dword [esp + 0x44]
cmovs eax, ecx
cmp dword [esp + 0x50], eax
jbe 0x6c4f060a
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x4c]
add eax, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x1c], ecx
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov edx, dword [edi + 0x16b8]
movzx ecx, byte [esp + 0x40]
shl ebx, 2
mov eax, dword [esp + 0x70]
mov dword [esp + 4], edx
mov esi, dword [esp + 0xdc]
mov edx, dword [esp + 0x74]
sar ebx, cl
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x44]
shl eax, 2
sar eax, cl
mov dword [esp + 0x14], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebp
call dword [esi + ebx*4]
mov eax, dword [esp + 0x5c]
movzx ecx, byte [esp + 0x40]
mov esi, dword [edi + 0x8c]
mov ebx, dword [edi + 0x94]
shl eax, 5
mov eax, dword [edi + eax]
sar esi, cl
mov dword [esp + 0x60], esi
mov esi, dword [edi + 0x88]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xd4]
sar esi, cl
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x48]
shl eax, 5
add eax, edi
mov edx, dword [eax + 0x1dc4]
add esi, 1
imul esi, dword [esp + 0x44]
add ecx, dword [esp + 0x44]
mov dword [esp + 0x84], edx
mov edx, dword [edi + 4]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x94], ecx
mov ebx, dword [edx + 0x320]
mov edx, dword [eax + 0x1dcc]
mov esi, dword [esi]
mov eax, dword [eax + 0x1dc8]
cmp ebx, 3
mov ecx, ebx
mov dword [esp + 0x88], esi
mov esi, 3
cmovle esi, ebx
mov dword [esp + 0x48], esi
mov esi, 2
shl esi, cl
mov ecx, dword [edi + 0x262c]
sub esi, 1
test ecx, ecx
je 0x6c4f0713
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov ecx, edx
mov ebp, eax
and ecx, esi
mov dword [esp + 0x70], ecx
lea ecx, [ebx + 1]
sar ebp, cl
add ebp, dword [esp + 0x54]
sar edx, cl
mov ecx, dword [esp + 0x4c]
add edx, dword [esp + 0x6c]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x50]
imul ebp, edx
add ebp, dword [esp + 0x5c]
add ebp, dword [esp + 0x88]
and esi, eax
setne al
movzx eax, al
sub ecx, eax
mov eax, ecx
xor ecx, ecx
sub eax, dword [esp + 0x44]
cmovs eax, ecx
cmp dword [esp + 0x5c], eax
ja 0x6c4f0786
xor eax, eax
cmp dword [esp + 0x70], 0
setne al
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x58]
mov dword [esp + 0x58], eax
sub eax, dword [esp + 0x44]
cmovs eax, ecx
cmp edx, eax
jbe 0x6c4f07d6
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], ebp
add eax, 1
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov ebp, dword [edi + 0x16b8]
mov edx, dword [esp + 0x70]
mov ecx, ebx
mov ebx, dword [esp + 0x44]
lea eax, [esi*4]
sar eax, cl
mov esi, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x94]
shl edx, 2
sar edx, cl
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], ebp
call dword [ebx + edx*4]
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0x7c]
movzx ecx, byte [esp + 0x40]
mov edx, dword [esp + 0x84]
shl eax, 5
mov ebx, dword [edi + 0x94]
add eax, edi
add esi, dword [eax + 0x1dc8]
add edx, dword [eax + 0x1dcc]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x70], esi
mov esi, dword [edi + 0x8c]
mov dword [esp + 0x7c], edx
mov edx, dword [edi + 4]
sar esi, cl
mov dword [esp + 0x48], esi
mov esi, dword [edi + 0x88]
mov ebx, dword [edx + 0x320]
mov edx, dword [eax + 0x1dd4]
mov eax, dword [eax + 0x1dd0]
sar esi, cl
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x68]
imul ecx, dword [esp + 0x4c]
add ecx, dword [esp + 0x74]
add esi, 1
imul esi, dword [esp + 0x44]
cmp ebx, 3
mov dword [esp + 0x88], ecx
mov ecx, ebx
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0xd8]
mov esi, dword [esi]
mov dword [esp + 0x84], esi
mov esi, 3
cmovle esi, ebx
mov dword [esp + 0x5c], esi
mov esi, 2
shl esi, cl
mov ecx, dword [edi + 0x262c]
sub esi, 1
test ecx, ecx
je 0x6c4f08f0
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov ecx, edx
mov ebp, eax
and ecx, esi
mov dword [esp + 0x6c], ecx
lea ecx, [ebx + 1]
sar ebp, cl
add ebp, dword [esp + 0x78]
sar edx, cl
mov ecx, dword [esp + 0x50]
add edx, dword [esp + 0x60]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x4c]
imul ebp, edx
add ebp, dword [esp + 0x68]
add ebp, dword [esp + 0x84]
and esi, eax
setne al
movzx eax, al
sub ecx, eax
mov eax, ecx
xor ecx, ecx
sub eax, dword [esp + 0x44]
cmovs eax, ecx
cmp dword [esp + 0x68], eax
ja 0x6c4f0963
xor eax, eax
cmp dword [esp + 0x6c], 0
setne al
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x58]
mov dword [esp + 0x58], eax
sub eax, dword [esp + 0x44]
cmovs eax, ecx
cmp edx, eax
jbe 0x6c4f09b3
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 4], ebp
add eax, 1
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov ebp, dword [edi + 0x16b8]
mov edx, dword [esp + 0x6c]
mov ecx, ebx
mov ebx, dword [esp + 0x44]
lea eax, [esi*4]
sar eax, cl
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x88]
shl edx, 2
sar edx, cl
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], ebp
call dword [ebx + edx*4]
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0x70]
movzx ecx, byte [esp + 0x40]
mov edx, dword [esp + 0x7c]
shl eax, 5
mov ebx, dword [edi + 0x94]
add eax, edi
add esi, dword [eax + 0x1dd0]
add edx, dword [eax + 0x1dd4]
mov dword [esp + 0x78], esi
mov esi, dword [edi + 0x8c]
mov dword [esp + 0x70], edx
mov edx, dword [edi + 4]
sar esi, cl
mov dword [esp + 0x48], esi
mov esi, dword [edi + 0x88]
mov edx, dword [edx + 0x320]
sar esi, cl
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0xd8]
lea ecx, [ebx + 1]
imul ecx, dword [esp + 0x44]
add ecx, dword [esp + 0x74]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0x1ddc]
mov esi, dword [esi]
cmp dword [esp + 0x4c], 3
mov dword [esp + 0x6c], ecx
movzx ecx, byte [esp + 0x4c]
mov eax, dword [eax + 0x1dd8]
mov dword [esp + 0x68], esi
mov esi, 3
cmovle esi, dword [esp + 0x4c]
mov dword [esp + 0x40], esi
mov esi, 2
shl esi, cl
mov ecx, dword [edi + 0x262c]
sub esi, 1
test ecx, ecx
je 0x6c4f0aba
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov ecx, edx
mov ebp, eax
and ecx, esi
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x4c]
add ecx, 1
sar ebp, cl
sar edx, cl
mov ecx, dword [esp + 0x50]
add ebp, dword [esp + 0x54]
add edx, dword [esp + 0x60]
mov dword [esp + 0x74], ebp
mov ebp, edx
imul ebp, ebx
add ebp, dword [esp + 0x74]
add ebp, dword [esp + 0x68]
and esi, eax
setne al
movzx eax, al
sub ecx, eax
mov eax, ecx
xor ecx, ecx
sub eax, dword [esp + 0x44]
cmovs eax, ecx
cmp dword [esp + 0x74], eax
ja 0x6c4f0b2c
xor eax, eax
cmp dword [esp + 0x5c], 0
setne al
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x54]
mov dword [esp + 0x54], eax
sub eax, dword [esp + 0x44]
cmovs eax, ecx
cmp edx, eax
jbe 0x6c4f0b78
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 4], ebp
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x50]
add eax, 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov ebp, dword [edi + 0x16b8]
mov edx, dword [esp + 0x5c]
lea eax, [esi*4]
movzx ecx, byte [esp + 0x4c]
mov esi, dword [esp + 0x44]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xdc]
shl edx, 2
sar edx, cl
sar eax, cl
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], esi
mov esi, 3
mov dword [esp + 4], ebp
mov dword [esp], eax
call dword [ebx + edx*4]
mov ecx, dword [edi + 4]
mov ebx, 8
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0x78]
mov ebp, dword [ecx + 0x320]
shl edx, 5
add edx, edi
add eax, dword [edx + 0x1dd8]
mov edx, dword [edx + 0x1ddc]
mov ecx, ebp
add edx, dword [esp + 0x70]
cmp ebp, 3
cmovle esi, ebp
mov dword [esp + 0x74], esi
mov esi, 2
shl esi, cl
sub esi, 1
mov dword [esp + 0x40], esi
mov esi, dword [edi + 0x88]
sar ebx, cl
lea ecx, [ebp + 1]
sar esi, cl
mov dword [esp + 0x44], esi
mov esi, dword [edi + 0x8c]
sar esi, cl
mov dword [esp + 0x58], esi
mov esi, dword [edi + 0x262c]
test esi, esi
je 0x6c4f0c42
mov esi, eax
shr esi, 0x1f
add eax, esi
mov esi, edx
shr esi, 0x1f
add edx, esi
sar eax, 1
sar edx, 1
mov esi, eax
and esi, 0xf
movzx esi, byte [esi + 0x6c584e20]
sar eax, 3
add eax, esi
mov esi, edx
and esi, 0xf
movzx esi, byte [esi + 0x6c584e20]
sar edx, 3
add edx, esi
mov esi, dword [esp + 0x40]
and esi, edx
mov dword [esp + 0x50], esi
mov esi, dword [edi + 0x2090]
sar edx, cl
imul esi, ebx
mov dword [esp + 0x48], esi
mov esi, eax
sar esi, cl
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x48]
add esi, dword [esp + 0x4c]
mov dword [esp + 0x4c], esi
mov esi, dword [edi + 0x2094]
imul esi, ebx
add edx, esi
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x54], edx
mov edx, dword [edi + 0x98]
mov ecx, dword [esp + 0x54]
imul ecx, edx
add ecx, dword [esp + 0x4c]
mov dword [esp + 0x60], ecx
add ecx, dword [esi + 4]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x44]
and esi, eax
setne al
movzx eax, al
sub ecx, eax
mov eax, ecx
xor ecx, ecx
sub eax, ebx
cmovs eax, ecx
cmp dword [esp + 0x4c], eax
ja 0x6c4f1705
xor eax, eax
cmp dword [esp + 0x50], 0
setne al
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
sub eax, ebx
cmovs eax, ecx
cmp dword [esp + 0x54], eax
ja 0x6c4f1705
mov eax, dword [esp + 0x50]
mov ecx, ebp
shl esi, 2
sar esi, cl
mov dword [esp + 8], edx
mov edx, dword [esp + 0x48]
shl eax, 2
sar eax, cl
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
lea ebp, [ecx + eax*4]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov dword [esp], ecx
call dword [ebp]
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0x60]
add eax, dword [edx + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], edx
call dword [ebp]
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x44]
movzx ecx, byte [esp + 0x40]
mov esi, dword [edi + 0x8c]
mov ebx, dword [edi + 0x2750]
add eax, eax
mov ebp, dword [edi + 0x88]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xd4]
sar esi, cl
mov dword [esp + 0x50], esi
mov esi, dword [edi + 0x11d0]
mov dword [esp + 0x88], ebx
mov ebx, 2
shl eax, 5
mov edx, dword [edi + eax + 0x1dc4]
shl ebx, cl
mov eax, dword [esp + 0xd4]
sar ebp, cl
sub ebx, 1
mov ecx, dword [edi + 0x262c]
mov dword [esp + 0x48], esi
mov esi, dword [edi + 0x11d4]
add eax, 0xee
shl eax, 5
test ecx, ecx
mov eax, dword [edi + eax]
mov dword [esp + 0x58], esi
je 0x6c4f0e2d
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov esi, eax
mov ecx, dword [esp + 0x40]
and esi, ebx
mov dword [esp + 0x6c], esi
mov esi, edx
and esi, ebx
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x54]
add ecx, 1
add esi, esi
imul esi, dword [esp + 0x44]
mov dword [esp + 0x64], esi
mov esi, eax
sar esi, cl
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x64]
add esi, dword [esp + 0x5c]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x4c]
add esi, esi
imul esi, dword [esp + 0x44]
mov dword [esp + 0x64], esi
mov esi, edx
sar esi, cl
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x64]
add esi, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov esi, dword [edi + 0x1c]
cmp esi, 2
je 0x6c4f2092
cmp esi, 1
je 0x6c4f2d00
mov esi, dword [edi + 0x2754]
test esi, esi
jne 0x6c4f1870
mov esi, dword [esp + 0x88]
test esi, esi
je 0x6c4f3180
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x44]
imul edx, dword [esp + 0x54]
sar eax, 1
and ebx, eax
sar eax, cl
lea esi, [edx + eax]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x4c], edx
lea esi, [esi]
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0x58]
imul eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ecx, dword [edx + 4]
imul ebx, dword [esp + 0x68]
add eax, esi
add ebx, dword [esp + 0x5c]
add ecx, eax
add ebx, dword [edx]
add eax, dword [edx + 8]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x54], ecx
mov ecx, ebp
mov dword [esp + 0x84], eax
xor eax, eax
test edx, edx
setne al
xor edx, edx
sub ecx, eax
mov eax, dword [esp + 0x44]
neg eax
lea eax, [ecx + eax*2]
test eax, eax
cmovs eax, edx
cmp dword [esp + 0x5c], eax
ja 0x6c4f1960
mov eax, dword [esp + 0x4c]
test eax, eax
js 0x6c4f1960
mov ecx, dword [esp + 0x78]
xor eax, eax
test ecx, ecx
mov ecx, dword [esp + 0x50]
setne al
sub ecx, eax
mov eax, ecx
sub eax, dword [esp + 0x60]
cmovs eax, edx
cmp dword [esp + 0x68], eax
ja 0x6c4f1960
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x78]
movzx ecx, byte [esp + 0x40]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x60]
shl eax, 2
mov edx, dword [esp + 0x74]
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
sub ebp, 1
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0xc], esi
mov dword [esp], edx
shl eax, 2
sar eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
call dword [ebx + ebp*4]
mov edi, dword [edi + 0x2754]
test edi, edi
je 0x6c4f0fee
add esi, 1
sar esi, 1
mov dword [esp + 0x60], esi
mov ebx, dword [esp + 0x60]
test ebx, ebx
je case.default.0x6c4ef549
mov ebx, dword [esp + 0x70]
mov edx, 3
mov edi, dword [esp + 0x7c]
movzx ecx, byte [esp + 0x40]
add ebp, dword [esp + 0x88]
mov esi, dword [esp + 0xdc]
shl ebx, 2
shl edi, 2
mov eax, dword [esp + 0x60]
sar ebx, cl
sar edi, cl
cmp ebp, 3
mov ecx, dword [esp + 0x90]
cmovg ebp, edx
mov edx, dword [esp + 0x58]
lea ebp, [esi + ebp*4]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp + 0x14], edi
mov dword [esp], ecx
call dword [ebp]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x14], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [ebp]
jmp case.default.0x6c4ef549
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x44]
mov eax, dword [edi + eax*8 + 0x1e00]
sar edx, 1
mov ebp, dword [esp + 0xd8]
add esi, 1
add ebx, ebx
sar esi, 1
mov dword [esp + 0x4c], edx
add edx, edx
mov dword [esp + 0x94], eax
add eax, 1
cmp dword [edi + 0x2724], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x88], edx
mov dword [esp + 0x60], esi
je 0x6c4f10f8
cmp dword [edi + 0x16e8], 3
je 0x6c4f10f8
mov ebx, dword [edi + 0x2768]
test ebx, ebx
je 0x6c4f1860
movzx ecx, byte [esp + 0x40]
mov esi, dword [edi + 0x88]
mov eax, dword [esp + 0xd4]
mov ebx, dword [edi + 0x2750]
sar esi, cl
mov dword [esp + 0x48], esi
mov esi, dword [edi + 0x8c]
shl eax, 5
mov edx, dword [edi + eax + 0x1dc4]
mov dword [esp + 0xa8], ebx
mov eax, dword [esp + 0xd4]
mov ebx, 2
shl ebx, cl
sar esi, cl
mov ecx, dword [edi + 0x262c]
sub ebx, 1
mov dword [esp + 0x5c], esi
mov esi, dword [edi + 0x11d0]
add eax, 0xee
shl eax, 5
test ecx, ecx
mov eax, dword [edi + eax]
mov dword [esp + 0x68], esi
mov esi, dword [edi + 0x11d4]
mov dword [esp + 0x50], esi
je 0x6c4f117f
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov esi, eax
mov ecx, dword [esp + 0x40]
and esi, ebx
mov dword [esp + 0x7c], esi
mov esi, edx
and esi, ebx
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x54]
add ecx, 1
add esi, esi
imul esi, dword [esp + 0x44]
mov dword [esp + 0x58], esi
mov esi, eax
sar esi, cl
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x58]
add esi, dword [esp + 0x6c]
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x44]
imul esi, dword [esp + 0x88]
mov dword [esp + 0x58], esi
mov esi, edx
sar esi, cl
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x58]
add esi, dword [esp + 0x70]
mov dword [esp + 0x70], esi
mov esi, dword [edi + 0x1c]
cmp esi, 2
je 0x6c4f28f0
cmp esi, 1
je 0x6c4f2cb0
mov esi, dword [edi + 0x2754]
test esi, esi
jne 0x6c4f1811
mov edx, dword [esp + 0xa8]
test edx, edx
je 0x6c4f31a1
mov edx, eax
mov esi, dword [esp + 0x6c]
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x44]
imul edx, dword [esp + 0x54]
sar eax, 1
and ebx, eax
sar eax, cl
add eax, edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x70]
nop
lea esi, [esi]
mov edx, dword [esp + 0x68]
imul edx, dword [esp + 0x70]
mov ecx, dword [ebp + 4]
mov ebx, dword [esp + 0x44]
add esi, edx
mov edx, dword [esp + 0x50]
add esi, dword [ebp]
imul edx, eax
add edx, dword [esp + 0x54]
add ecx, edx
add edx, dword [ebp + 8]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xa4], edx
xor edx, edx
test ebp, ebp
setne dl
neg ebx
sub ecx, edx
xor edx, edx
lea ecx, [ecx + ebx*2]
test ecx, ecx
cmovs ecx, edx
cmp dword [esp + 0x6c], ecx
ja 0x6c4f1b91
test eax, eax
js 0x6c4f1b91
mov ebx, dword [esp + 0x84]
xor ecx, ecx
test ebx, ebx
mov ebx, dword [esp + 0x5c]
setne cl
sub ebx, ecx
mov ecx, ebx
sub ecx, dword [esp + 0x44]
cmovs ecx, edx
cmp dword [esp + 0x70], ecx
ja 0x6c4f1b91
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x48], eax
mov ebp, dword [esp + 0x94]
test ebp, ebp
je 0x6c4f1308
mov eax, dword [edi + 0x98]
add dword [esp + 0x48], eax
add esi, dword [edi + 0x94]
add ebx, eax
mov eax, dword [esp + 0x84]
movzx ecx, byte [esp + 0x40]
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x40]
shl eax, 2
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x74]
sub ebp, 1
mov dword [esp + 4], esi
mov esi, dword [esp + 0xdc]
shl eax, 2
sar eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 0xc], eax
call dword [esi + ebp*4]
mov ecx, dword [edi + 0x2754]
mov esi, dword [esp + 0x60]
test ecx, ecx
cmove esi, dword [esp + 0x44]
test esi, esi
jne 0x6c4f1ff0
mov edx, dword [esp + 0x78]
imul edx, dword [edi + 0x94]
mov eax, dword [esp + 0x78]
add edx, dword [esp + 0x74]
mov esi, dword [esp + 0xd4]
mov ebx, dword [edi + 0x2090]
sar eax, cl
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x90]
imul eax, dword [edi + 0x98]
mov esi, dword [edi + esi*8 + 0x1e04]
mov dword [esp + 0x48], ebx
add edx, eax
add eax, dword [esp + 0xd0]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x9c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x64], edx
mov eax, dword [eax + 0x320]
mov dword [esp + 0x40], eax
mov eax, esi
add eax, 1
cmp dword [edi + 0x2724], eax
je 0x6c4f140e
cmp dword [edi + 0x16e8], 3
je 0x6c4f140e
mov ebx, dword [edi + 0x2768]
test ebx, ebx
jne 0x6c4f140e
mov ebx, dword [edi + 0x1660]
mov dword [esp + 0x64], ebx
mov esi, dword [edi + 0x2750]
mov ebp, 8
mov ebx, 2
movzx ecx, byte [esp + 0x40]
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x94], esi
mov esi, dword [edi + 0x88]
shl ebx, cl
sar ebp, cl
sub ebx, 1
shl eax, 5
sar esi, cl
add eax, edi
mov dword [esp + 0x74], esi
mov esi, dword [edi + 0x8c]
add edx, dword [eax + 0x1dcc]
mov eax, dword [eax + 0x1dc8]
sar esi, cl
mov ecx, dword [edi + 0x262c]
mov dword [esp + 0x54], esi
mov esi, dword [edi + 0x11d0]
test ecx, ecx
mov dword [esp + 0x90], esi
mov esi, dword [edi + 0x11d4]
mov dword [esp + 0x58], esi
je 0x6c4f1498
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar eax, 1
sar edx, 1
mov esi, eax
mov ecx, dword [esp + 0x40]
and esi, ebx
mov dword [esp + 0x5c], esi
mov esi, edx
and esi, ebx
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x48]
add ecx, 1
add esi, esi
imul esi, ebp
mov dword [esp + 0x50], esi
mov esi, eax
sar esi, cl
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x50]
add esi, dword [esp + 0x8c]
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x88]
imul esi, ebp
mov dword [esp + 0x70], esi
mov esi, edx
sar esi, cl
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x70]
add esi, dword [esp + 0x50]
mov dword [esp + 0x50], esi
mov esi, dword [edi + 0x1c]
cmp esi, 2
je 0x6c4f28b3
cmp esi, 1
je 0x6c4f2d40
mov esi, dword [edi + 0x2754]
test esi, esi
je 0x6c4f2934
mov esi, eax
shr esi, 0x1f
add esi, eax
mov eax, edx
shr eax, 0x1f
sar esi, 1
add edx, eax
sar edx, 1
mov eax, esi
and eax, ebx
and ebx, edx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x48]
sar esi, cl
sar edx, cl
mov dword [esp + 0x78], eax
imul ebx, ebp
add esi, ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x48], esi
imul ebx, ebp
lea eax, [ebx + edx]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x90]
imul ebx, dword [esp + 0x50]
mov ecx, dword [esi + 4]
imul edx, eax
add edx, dword [esp + 0x48]
add ebx, dword [esp + 0x8c]
add ebx, dword [esi]
add ecx, edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x5c]
add edx, dword [esi + 8]
mov dword [esp + 0x7c], edx
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x74]
setne dl
neg ebp
sub ecx, edx
xor edx, edx
lea ecx, [ecx + ebp*2]
test ecx, ecx
cmovs ecx, edx
cmp dword [esp + 0x8c], ecx
ja 0x6c4f1a78
test eax, eax
js 0x6c4f1a78
mov esi, dword [esp + 0x68]
xor ecx, ecx
test esi, esi
mov esi, dword [esp + 0x54]
setne cl
sub esi, ecx
mov ecx, esi
sub ecx, dword [esp + 0x44]
cmovs ecx, edx
cmp dword [esp + 0x50], ecx
ja 0x6c4f1a78
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x6c4f1609
mov eax, dword [edi + 0x98]
add dword [esp + 0x64], eax
add ebx, dword [edi + 0x94]
add esi, eax
mov eax, dword [esp + 0x68]
movzx ecx, byte [esp + 0x40]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x90]
shl eax, 2
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x5c]
sub ebp, 1
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 8], edx
shl eax, 2
sar eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xdc]
call dword [eax + ebp*4]
mov eax, dword [edi + 0x2754]
mov edx, dword [esp + 0x44]
test eax, eax
cmovne edx, dword [esp + 0x60]
test edx, edx
mov dword [esp + 0x60], edx
je case.default.0x6c4ef549
mov ebx, dword [esp + 0x78]
mov edx, 3
mov edi, dword [esp + 0x70]
movzx ecx, byte [esp + 0x40]
add ebp, dword [esp + 0x94]
shl ebx, 2
mov eax, dword [esp + 0xdc]
shl edi, 2
sar ebx, cl
sar edi, cl
cmp ebp, 3
cmovg ebp, edx
mov edx, dword [esp + 0x60]
lea ebp, [eax + ebp*4]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], ebx
mov dword [esp + 4], esi
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 8], eax
mov dword [esp + 0x14], edi
mov dword [esp], edx
call dword [ebp]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x14], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [ebp]
jmp case.default.0x6c4ef549
mov eax, dword [esp + 0x58]
shl esi, 2
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x14], 9
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], 9
mov dword [esp + 4], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov eax, dword [esp + 0x50]
mov ecx, ebp
mov edx, dword [esp + 0x74]
sar esi, cl
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
shl eax, 2
sar eax, cl
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xdc]
lea ebp, [eax + edx*4]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], edx
mov eax, dword [edi + 0x98]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x16b8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [ebp]
mov edx, dword [esp + 0x58]
mov eax, dword [edi + 0x98]
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xd8]
add eax, dword [edx + 8]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov eax, dword [edi + 0x16b8]
jmp 0x6c4f0d6a
mov esi, eax
shr esi, 0x1f
add esi, eax
mov eax, edx
sar esi, 1
shr eax, 0x1f
add edx, eax
mov eax, esi
and eax, ebx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
sar edx, 1
imul eax, dword [esp + 0x54]
and ebx, edx
sar esi, cl
mov dword [esp + 0x9c], ebx
add esi, eax
mov dword [esp + 0x54], esi
mov ebx, dword [esp + 0x44]
sar edx, cl
imul ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x6c]
lea eax, [ebx + edx]
jmp 0x6c4f1250
mov ebp, dword [edi + 0x1660]
jmp 0x6c4f10f8
mov esi, eax
shr esi, 0x1f
add eax, esi
mov esi, edx
shr esi, 0x1f
add edx, esi
sar eax, 1
sar edx, 1
mov esi, eax
and esi, ebx
and ebx, edx
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x44]
imul ebx, dword [esp + 0x54]
mov dword [esp + 0x70], esi
sar eax, cl
lea esi, [ebx + eax]
mov eax, dword [esp + 0x44]
imul eax, dword [esp + 0x4c]
sar edx, cl
add edx, eax
mov dword [esp + 0x4c], edx
jmp 0x6c4f0ef0
mov esi, eax
shr esi, 0x1f
add eax, esi
mov esi, edx
shr esi, 0x1f
add edx, esi
sar eax, 1
sar edx, 1
mov esi, eax
and esi, ebx
and ebx, edx
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x44]
imul ebx, dword [esp + 0x54]
mov dword [esp + 0x98], esi
sar eax, cl
mov esi, dword [esp + 0x6c]
add eax, ebx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x44]
sar edx, cl
imul eax, dword [esp + 0x4c]
add edx, eax
mov dword [esp + 0x54], edx
jmp 0x6c4f0030
mov ebx, dword [edi + 0x1660]
mov dword [esp + 0xd8], ebx
jmp 0x6c4efb8f
mov esi, eax
shr esi, 0x1f
add eax, esi
mov esi, edx
shr esi, 0x1f
add edx, esi
sar eax, 1
sar edx, 1
mov esi, eax
and esi, ebx
and ebx, edx
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x44]
imul ebx, dword [esp + 0x54]
mov dword [esp + 0x7c], esi
sar eax, cl
mov esi, dword [esp + 0x5c]
add eax, ebx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
sar edx, cl
imul eax, ebp
lea ebp, [eax + edx]
jmp 0x6c4efce6
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x10], 0x11
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [edi + 0x16b8]
mov eax, dword [edi + 0x94]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x18], esi
lea eax, [eax + eax*8]
lea eax, [ebx + eax*2]
mov dword [esp + 0xc], ecx
sar edx, 1
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x44], eax
mov eax, ebp
sar eax, 1
mov dword [esp + 0x24], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp], ecx
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
call dword [edi + 0x1cf4]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], esi
add ecx, 0x10
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x24], edx
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], esi
call dword [edi + 0x1cf4]
jmp 0x6c4f0f90
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x74]
mov dword [esp + 4], ebx
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x10], 0x11
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov edx, dword [edi + 0x16b8]
mov dword [esp + 0x38], eax
mov dword [esp], edx
call dword [edi + 0x1cf4]
mov ecx, dword [esp + 0x48]
mov edx, dword [edi + 0x94]
mov ebx, dword [edi + 0x16b8]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x58]
lea edx, [edx + edx*8]
mov eax, dword [esp + 0x38]
lea esi, [ebx + edx*2]
mov edx, dword [esp + 0x54]
sar ebp, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4c]
sar edx, 1
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp], esi
call dword [edi + 0x1cf4]
mov eax, dword [esp + 0x38]
lea ecx, [esi + 0x10]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edi + 0x1cf4]
jmp 0x6c4f15ef
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
mov dword [esp + 4], esi
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x10], 0x11
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov edx, dword [edi + 0x16b8]
mov dword [esp + 0x38], eax
mov dword [esp], edx
call dword [edi + 0x1cf4]
mov ecx, dword [esp + 0x54]
mov edx, dword [edi + 0x94]
mov esi, dword [edi + 0x16b8]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
lea edx, [edx + edx*8]
mov eax, dword [esp + 0x38]
lea ebx, [esi + edx*2]
mov edx, dword [esp + 0x5c]
sar ebp, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xa0]
sar edx, 1
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp], ebx
call dword [edi + 0x1cf4]
mov eax, dword [esp + 0x38]
lea ecx, [ebx + 0x10]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edi + 0x1cf4]
jmp 0x6c4f12eb
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x68]
mov dword [esp + 4], esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp + 0x10], 0x11
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov ecx, dword [esp + 0x54]
mov eax, dword [edi + 0x94]
mov esi, dword [edi + 0x16b8]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x58]
lea eax, [eax + eax*8]
lea ebx, [esi + eax*2]
mov eax, dword [esp + 0x60]
sar edx, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x88]
sar eax, 1
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp], ebx
call dword [edi + 0x1cf4]
mov eax, dword [esp + 0x38]
lea ecx, [ebx + 0x10]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edi + 0x1cf4]
jmp 0x6c4efd85
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x10], 0x11
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov edx, dword [edi + 0x16b8]
mov dword [esp + 0x38], eax
mov dword [esp], edx
call dword [edi + 0x1cf4]
mov ecx, dword [esp + 0x68]
mov edx, dword [edi + 0x94]
mov ebx, dword [edi + 0x16b8]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x40]
lea edx, [edx + edx*8]
mov eax, dword [esp + 0x38]
lea esi, [ebx + edx*2]
mov edx, dword [esp + 0x80]
sar ebp, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4c]
sar edx, 1
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp], esi
call dword [edi + 0x1cf4]
mov eax, dword [esp + 0x38]
lea ecx, [esi + 0x10]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edi + 0x1cf4]
jmp 0x6c4f0374
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x20], ebp
sar ebp, 1
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 4], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x10], 0x11
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov eax, dword [edi + 0x94]
mov esi, dword [edi + 0x16b8]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0xa0]
lea eax, [eax + eax*8]
lea ebx, [esi + eax*2]
mov eax, dword [esp + 0x54]
sar edx, 1
mov dword [esp + 0x24], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], 9
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], 9
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
call dword [edi + 0x1cf4]
mov edx, dword [esp + 0x3c]
lea eax, [ebx + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], 9
mov dword [esp + 0x10], 9
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
call dword [edi + 0x1cf4]
jmp 0x6c4f00df
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
movzx ecx, byte [esp + 0x40]
add ebp, dword [esp + 0xa8]
shl edx, 2
shl eax, 2
sar edx, cl
sar eax, cl
cmp ebp, 3
mov ecx, 3
cmovg ebp, ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], esi
lea ebp, [ecx + ebp*4]
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
call dword [ebp]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [ebp]
mov ecx, dword [edi + 0x2754]
jmp 0x6c4f136f
mov esi, dword [esp + 0x6c]
sar eax, 1
and eax, ebx
sar edx, 1
and edx, ebx
and esi, 1
or esi, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x5c]
and eax, 1
or eax, edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x7c], eax
sar esi, 1
sar edx, 1
mov dword [esp + 0x4c], edx
jmp 0x6c4f0ef0
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x58], 0
add eax, 1
sar eax, 1
add esi, esi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xd4]
sar edx, 1
mov dword [esp + 0x88], esi
mov dword [esp + 0xac], edx
shl eax, 5
lea eax, [edi + eax + 0x1dc4]
mov dword [esp + 0x60], eax
mov esi, eax
movzx ecx, byte [esp + 0x40]
mov ebx, dword [esi]
mov eax, dword [esi - 4]
mov esi, 8
mov edx, dword [edi + 0x2750]
sar esi, cl
mov ebp, dword [edi + 0x262c]
mov dword [esp + 0x48], esi
mov esi, dword [edi + 0x88]
mov dword [esp + 0xa8], edx
mov edx, 2
shl edx, cl
sar esi, cl
sub edx, 1
mov dword [esp + 0x50], esi
mov esi, dword [edi + 0x8c]
sar esi, cl
mov ecx, dword [edi + 0x11d4]
mov dword [esp + 0x5c], esi
mov esi, dword [edi + 0x11d0]
add ecx, ecx
add esi, esi
test ebp, ebp
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ecx
je 0x6c4f2191
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, ebx
shr ecx, 0x1f
add ebx, ecx
sar eax, 1
sar ebx, 1
movzx ecx, byte [esp + 0x40]
mov esi, 1
mov ebp, eax
shl esi, cl
mov ecx, dword [esp + 0x40]
sub esi, 1
imul esi, dword [esp + 0x58]
add ecx, 1
sar ebp, cl
sub ebx, esi
mov esi, eax
and esi, edx
mov dword [esp + 0x70], esi
mov esi, ebx
and esi, edx
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x54]
add esi, esi
imul esi, dword [esp + 0x48]
add ebp, esi
mov esi, dword [esp + 0x48]
imul esi, dword [esp + 0x88]
mov dword [esp + 0x68], ebp
mov ebp, ebx
sar ebp, cl
sar esi, 1
add ebp, esi
mov esi, dword [edi + 0x1c]
mov dword [esp + 0x6c], ebp
cmp esi, 2
je 0x6c4f2f90
cmp esi, 1
je 0x6c4f31f4
mov esi, dword [edi + 0x2754]
test esi, esi
jne 0x6c4f3131
mov ebx, dword [esp + 0xa8]
test ebx, ebx
je 0x6c4f3505
mov ebx, eax
shr ebx, 0x1f
add eax, ebx
sar eax, 1
and edx, eax
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x48]
sar eax, cl
imul edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x6c]
lea ebp, [edx + eax]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x78]
imul ebx, dword [esp + 0x6c]
imul eax, ecx
mov edx, dword [esi + 4]
add ebx, dword [esp + 0x68]
add ebx, dword [esi]
add eax, ebp
add edx, eax
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x70]
add eax, dword [esi + 8]
mov esi, dword [esp + 0x50]
mov dword [esp + 0xa4], eax
xor eax, eax
test edx, edx
setne al
xor edx, edx
sub esi, eax
mov eax, dword [esp + 0x48]
neg eax
lea eax, [esi + eax*2]
test eax, eax
cmovs eax, edx
cmp dword [esp + 0x68], eax
ja 0x6c4f2782
test ecx, ecx
js 0x6c4f32a0
mov esi, dword [esp + 0x5c]
xor eax, eax
sar esi, 1
cmp dword [esp + 0x84], 0
mov dword [esp + 0x48], esi
setne al
sub esi, eax
mov eax, esi
sub eax, dword [esp + 0x44]
cmovs eax, edx
cmp dword [esp + 0x6c], eax
ja 0x6c4f278c
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6c4f2312
mov eax, dword [edi + 0x98]
add dword [esp + 0x54], eax
add ebx, dword [edi + 0x94]
add esi, eax
mov eax, dword [esp + 0x84]
movzx ecx, byte [esp + 0x40]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x40]
shl eax, 2
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x74]
sub ebp, 1
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xdc]
shl eax, 2
sar eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 0xc], eax
call dword [ebx + ebp*4]
mov eax, dword [edi + 0x2754]
mov ebx, dword [esp + 0x44]
test eax, eax
cmovne ebx, dword [esp + 0x94]
test ebx, ebx
jne 0x6c4f2ef0
mov ebx, dword [esp + 0x60]
mov ebp, 2
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x58]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + 0x320]
mov eax, dword [ebx + 4]
xor esi, 1
mov ebx, dword [edi + 0x2750]
mov dword [esp + 0x84], esi
mov esi, 8
sar esi, cl
mov dword [esp + 0x40], ecx
movzx ecx, byte [esp + 0x40]
mov dword [esp + 0xa8], ebx
mov ebx, dword [edi + 0x88]
mov dword [esp + 0x50], esi
mov esi, dword [edi + 0x11d4]
shl ebp, cl
sar ebx, cl
sub ebp, 1
mov dword [esp + 0x54], ebx
mov ebx, dword [edi + 0x8c]
add esi, esi
mov dword [esp + 0x70], esi
sar ebx, cl
mov dword [esp + 0x48], ebx
mov ebx, dword [edi + 0x11d0]
add ebx, ebx
mov dword [esp + 0x6c], ebx
mov ebx, dword [edi + 0x262c]
test ebx, ebx
je 0x6c4f2419
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
movzx ecx, byte [esp + 0x40]
sar eax, 1
sar edx, 1
mov esi, 1
mov ebx, esi
sub ebx, dword [esp + 0x84]
shl esi, cl
mov ecx, dword [esp + 0x40]
sub esi, 1
imul ebx, esi
add ecx, 1
add edx, ebx
mov ebx, eax
and ebx, ebp
mov esi, edx
and esi, ebp
mov dword [esp + 0x78], ebx
mov ebx, dword [edi + 0x2090]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x64], ebx
add ebx, ebx
imul esi, ebx
mov ebx, eax
sar ebx, cl
add esi, ebx
mov ebx, dword [esp + 0x50]
imul ebx, dword [esp + 0x88]
mov dword [esp + 0x5c], esi
mov esi, edx
sar esi, cl
sar ebx, 1
add ebx, esi
mov dword [esp + 0x68], ebx
mov ebx, dword [edi + 0x1c]
cmp ebx, 2
je 0x6c4f2fd0
cmp ebx, 1
je 0x6c4f3248
mov esi, dword [edi + 0x2754]
test esi, esi
jne 0x6c4f3010
mov ebx, dword [esp + 0xa8]
test ebx, ebx
je 0x6c4f3496
mov edx, eax
mov esi, dword [esp + 0x64]
shr edx, 0x1f
imul esi, dword [esp + 0x50]
add eax, edx
sar eax, 1
and ebp, eax
sar eax, cl
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x98], ebp
lea ebp, [esi + eax]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x9c], eax
nop
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x6c]
imul ebx, dword [esp + 0x68]
imul eax, ecx
mov edx, dword [esi + 4]
add ebx, dword [esp + 0x5c]
add ebx, dword [esi]
add eax, ebp
add edx, eax
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x78]
add eax, dword [esi + 8]
mov esi, dword [esp + 0x54]
mov dword [esp + 0xa4], eax
xor eax, eax
test edx, edx
setne al
xor edx, edx
sub esi, eax
mov eax, dword [esp + 0x50]
neg eax
lea eax, [esi + eax*2]
test eax, eax
cmovs eax, edx
cmp dword [esp + 0x5c], eax
ja 0x6c4f2651
test ecx, ecx
js 0x6c4f32b0
mov esi, dword [esp + 0x48]
xor eax, eax
sar esi, 1
cmp dword [esp + 0x7c], 0
mov dword [esp + 0x50], esi
setne al
sub esi, eax
mov eax, esi
sub eax, dword [esp + 0x44]
cmovs eax, edx
cmp dword [esp + 0x68], eax
ja 0x6c4f265b
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x94]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x84]
mov ecx, dword [edi + 0x98]
add edx, eax
test ebp, ebp
mov dword [esp + 0x50], ecx
je 0x6c4f25ac
add dword [esp + 0x54], ecx
add ebx, eax
add esi, ecx
mov eax, dword [esp + 0x7c]
movzx ecx, byte [esp + 0x40]
mov ebp, dword [esp + 0x40]
mov dword [esp], edx
mov edx, dword [esp + 0xdc]
shl eax, 2
sar eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x78]
sub ebp, 1
mov dword [esp + 4], ebx
shl eax, 2
sar eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call dword [edx + ebp*4]
mov ebx, dword [edi + 0x2754]
test ebx, ebx
mov ebx, dword [esp + 0x44]
cmovne ebx, dword [esp + 0xac]
test ebx, ebx
jne 0x6c4f2e45
add dword [esp + 0x58], 1
add dword [esp + 0x60], 0x10
cmp dword [esp + 0x58], 2
je case.default.0x6c4ef549
lea eax, [edi + 0x1c14]
mov edx, dword [edi + 0x2090]
mov dword [esp + 0xdc], eax
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x54], edx
mov eax, dword [eax + 0x320]
mov dword [esp + 0x40], eax
jmp 0x6c4f2119
mov esi, dword [esp + 0x48]
sar esi, 1
mov dword [esp + 0x50], esi
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x68]
sar eax, 1
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], 0x12
add edx, edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x10], 0x11
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 0x18], edx
mov eax, dword [edi + 0x16b8]
mov dword [esp + 0x3c], ecx
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov ecx, dword [esp + 0x3c]
mov eax, dword [edi + 0x94]
mov ebx, dword [edi + 0x16b8]
mov edx, dword [esp + 0x54]
add ecx, ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x50]
lea eax, [eax + eax*8]
lea esi, [ebx + eax*2]
mov eax, dword [esp + 0x70]
sar edx, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x48]
sar eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x18], ebp
mov dword [esp + 4], ecx
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 9
mov dword [esp], esi
call dword [edi + 0x1cf4]
lea ecx, [esi + 0x10]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], 9
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edi + 0x1cf4]
jmp 0x6c4f2583
mov esi, dword [esp + 0x5c]
sar esi, 1
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x68]
sar eax, 1
mov dword [esp + 0x14], 0x12
add esi, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], 0x11
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0x16b8]
mov dword [esp + 0x3c], ecx
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x50]
mov eax, dword [edi + 0x94]
mov ebx, dword [edi + 0x16b8]
add ecx, ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x48]
sar edx, 1
lea eax, [eax + eax*8]
lea esi, [ebx + eax*2]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x3c], edx
sar eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], ebp
mov dword [esp + 4], ecx
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 9
mov dword [esp], esi
call dword [edi + 0x1cf4]
lea ecx, [esi + 0x10]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], 9
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edi + 0x1cf4]
jmp 0x6c4f22f8
mov esi, dword [esp + 0x5c]
sar eax, 1
and eax, ebx
sar edx, 1
and edx, ebx
and esi, 1
or esi, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x78], esi
and eax, 1
or eax, edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x50]
sar edx, 1
mov dword [esp + 0x48], edx
sar eax, 1
jmp 0x6c4f1559
mov esi, dword [esp + 0x7c]
sar eax, 1
and eax, ebx
sar edx, 1
and edx, ebx
and esi, 1
or esi, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x6c]
and eax, 1
or eax, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x70]
sar edx, 1
mov dword [esp + 0x54], edx
sar eax, 1
jmp 0x6c4f1250
mov esi, dword [esp + 0x94]
test esi, esi
je 0x6c4f31d0
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x68]
sar eax, 1
and ebx, eax
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x48]
sar eax, cl
mov dword [esp + 0x70], edx
imul ebx, ebp
add eax, ebx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x50]
jmp 0x6c4f1559
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
movzx ecx, byte [esp + 0x40]
add ebp, dword [esp + 0xa8]
shl edx, 2
shl eax, 2
sar edx, cl
sar eax, cl
cmp ebp, 3
mov ecx, 3
cmovg ebp, ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], esi
lea ebp, [ecx + ebp*4]
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
call dword [ebp]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [ebp]
jmp 0x6c4f0162
mov eax, dword [esp + 0x60]
sar eax, 1
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x60]
add esi, esi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 4], ebp
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x54]
sar eax, 1
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x12
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], 0x11
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov edx, dword [esp + 0x4c]
mov eax, dword [edi + 0x94]
mov ebp, dword [edi + 0x16b8]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x5c]
lea eax, [eax + eax*8]
mov ecx, dword [esp + 0x88]
lea eax, [ebp + eax*2]
mov dword [esp + 0x64], eax
lea eax, [ebx + ebx]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x64]
sar esi, 1
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], eax
sar ebx, 1
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 9
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
call dword [edi + 0x1cf4]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x94]
add edx, 0x10
mov dword [esp + 0x58], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 9
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [edi + 0x1cf4]
jmp 0x6c4efa26
mov eax, dword [esp + 0x60]
sar eax, 1
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
sar ecx, 1
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], ecx
add eax, eax
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 0x12
mov dword [esp + 0x10], 0x11
mov eax, dword [edi + 0x16b8]
mov dword [esp], eax
call dword [edi + 0x1cf4]
mov eax, dword [edi + 0x94]
mov ebx, dword [edi + 0x16b8]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x68]
lea eax, [eax + eax*8]
lea eax, [ebx + eax*2]
mov dword [esp + 0x54], eax
mov eax, ebp
lea ebp, [esi + esi]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x9c]
sar eax, 1
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x20], eax
sar esi, 1
mov dword [esp + 0xc], esi
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 9
call dword [edi + 0x1cf4]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xc], esi
add edx, 0x10
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x60]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 9
mov dword [esp + 4], edx
mov dword [esp], esi
call dword [edi + 0x1cf4]
jmp 0x6c4ef788
mov esi, dword [esp + 0x84]
sar eax, 1
and eax, ebx
sar edx, 1
and edx, ebx
mov ebx, dword [esp + 0x78]
and esi, 1
or esi, eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x6c]
sar ebx, 1
mov dword [esp + 0x54], ebx
and eax, 1
or eax, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x9c], eax
sar edx, 1
mov dword [esp + 0x7c], edx
jmp 0x6c4f0030
test eax, eax
lea ecx, [eax + 3]
cmovs eax, ecx
sar eax, 2
test edx, edx
lea ecx, [edx + 3]
cmovs edx, ecx
movzx ecx, byte [esp + 0x40]
lea esi, [eax + eax]
and esi, ebx
sar edx, 2
mov dword [esp + 0x98], esi
lea esi, [edx + edx]
and esi, ebx
mov ebx, dword [esp + 0x44]
imul ebx, dword [esp + 0x54]
sar eax, cl
mov dword [esp + 0x9c], esi
add eax, ebx
mov dword [esp + 0x54], eax
jmp 0x6c4f1848
test eax, eax
lea ecx, [eax + 3]
cmovs eax, ecx
sar eax, 2
test edx, edx
lea ecx, [edx + 3]
cmovs edx, ecx
movzx ecx, byte [esp + 0x40]
lea esi, [eax + eax]
and esi, ebx
sar edx, 2
mov dword [esp + 0x70], esi
lea esi, [edx + edx]
and esi, ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x7c], esi
imul ebx, dword [esp + 0x54]
jmp 0x6c4f1899
test eax, eax
lea ecx, [eax + 3]
cmovs eax, ecx
sar eax, 2
test edx, edx
lea ecx, [edx + 3]
cmovs edx, ecx
movzx ecx, byte [esp + 0x40]
lea esi, [eax + eax]
and esi, ebx
sar edx, 2
mov dword [esp + 0x78], esi
lea esi, [edx + edx]
and esi, ebx
mov ebx, dword [esp + 0x48]
sar eax, cl
sar edx, cl
mov dword [esp + 0x70], esi
imul ebx, ebp
add eax, ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
imul ebx, ebp
lea eax, [ebx + edx]
jmp 0x6c4f1559
mov esi, dword [esp + 0x6c]
sar eax, 1
and eax, ebx
mov ebp, dword [esp + 0x68]
sar edx, 1
and edx, ebx
and esi, 1
or esi, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x7c], esi
sar ebp, 1
mov esi, dword [esp + 0x5c]
and eax, 1
or eax, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x84], eax
sar edx, 1
mov dword [esp + 0x54], edx
jmp 0x6c4efce6
mov esi, dword [esp + 0x6c]
sar eax, 1
and eax, ebx
sar edx, 1
and edx, ebx
and esi, 1
or esi, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], esi
and eax, 1
or eax, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x5c]
sar edx, 1
mov dword [esp + 0x68], edx
sar eax, 1
jmp 0x6c4f02db
mov esi, dword [esp + 0x98]
test esi, esi
je 0x6c4f3317
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x68]
sar eax, 1
and ebx, eax
sar eax, cl
imul edx, ebp
mov dword [esp + 0x70], ebx
add eax, edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], edx
jmp 0x6c4f02db
mov eax, dword [esp + 0x98]
movzx ecx, byte [esp + 0x40]
mov edx, dword [esp + 0x9c]
add ebp, dword [esp + 0xa8]
shl eax, 2
sar eax, cl
shl edx, 2
sar edx, cl
cmp ebp, 3
mov dword [esp + 0x48], eax
mov eax, 3
cmovg ebp, eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], esi
lea ebp, [eax + ebp*4]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x90]
add eax, dword [esp + 0x50]
mov dword [esp], eax
call dword [ebp]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x48]
add eax, dword [esp + 0x50]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x10], edx
mov dword [esp], eax
call dword [ebp]
jmp 0x6c4f260f
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
movzx ecx, byte [esp + 0x40]
add ebp, dword [esp + 0xa8]
shl edx, 2
shl eax, 2
sar edx, cl
sar eax, cl
cmp ebp, 3
mov ecx, 3
cmovg ebp, ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebx
lea ebp, [ecx + ebp*4]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
call dword [ebp]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp], eax
call dword [ebp]
jmp 0x6c4f237c
mov esi, dword [esp + 0x70]
sar eax, 1
mov ecx, ebp
and eax, edx
mov ebp, dword [esp + 0x68]
sar ebx, 1
and ebx, edx
and esi, 1
or esi, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x98], esi
sar ebp, 1
sar ecx, 1
and eax, 1
or eax, ebx
mov dword [esp + 0x9c], eax
jmp 0x6c4f2252
mov ebx, dword [esp + 0x78]
sar eax, 1
mov esi, dword [esp + 0x7c]
sar edx, 1
and eax, ebp
and edx, ebp
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x5c]
and ebx, 1
and esi, 1
or ebx, eax
or esi, edx
mov dword [esp + 0x98], ebx
sar ebp, 1
mov dword [esp + 0x9c], esi
sar ecx, 1
jmp 0x6c4f24e0
mov ebx, eax
mov esi, dword [esp + 0x64]
shr ebx, 0x1f
add eax, ebx
mov ebx, edx
shr ebx, 0x1f
imul esi, dword [esp + 0x50]
add edx, ebx
sar eax, 1
sar edx, 1
mov ebx, eax
and ebx, ebp
and ebp, edx
sar eax, cl
mov dword [esp + 0x9c], ebp
lea ebp, [esi + eax]
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0x50]
sar edx, cl
mov dword [esp + 0x98], ebx
sar eax, 1
lea ecx, [eax + edx]
jmp 0x6c4f24e0
test eax, eax
lea ecx, [eax + 3]
cmovs eax, ecx
sar eax, 2
test edx, edx
lea ecx, [edx + 3]
cmovs edx, ecx
movzx ecx, byte [esp + 0x40]
lea esi, [eax + eax]
and esi, ebx
sar edx, 2
mov dword [esp + 0x7c], esi
lea esi, [edx + edx]
and esi, ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x84], esi
imul ebx, dword [esp + 0x54]
jmp 0x6c4f1943
test eax, eax
lea ecx, [eax + 3]
cmovs eax, ecx
sar eax, 2
test edx, edx
lea ecx, [edx + 3]
cmovs edx, ecx
movzx ecx, byte [esp + 0x44]
lea esi, [eax + eax]
and esi, ebx
sar edx, 2
mov dword [esp + 0x70], esi
lea esi, [edx + edx]
and esi, ebx
mov ebx, dword [esp + 0x68]
sar eax, cl
sar edx, cl
mov dword [esp + 0x7c], esi
imul ebx, ebp
add eax, ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x68], eax
imul ebx, ebp
lea eax, [ebx + edx]
jmp 0x6c4f02db
test eax, eax
lea ecx, [eax + 3]
cmovs eax, ecx
sar eax, 2
test edx, edx
lea ecx, [edx + 3]
cmovs edx, ecx
movzx ecx, byte [esp + 0x40]
lea esi, [eax + eax]
and esi, ebx
sar edx, 2
mov dword [esp + 0x98], esi
lea esi, [edx + edx]
and esi, ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x9c], esi
imul ebx, dword [esp + 0x54]
jmp 0x6c4f18e3
mov esi, eax
shr esi, 0x1f
add eax, esi
mov esi, ebx
shr esi, 0x1f
sar eax, 1
add ebx, esi
sar ebx, 1
mov esi, eax
and esi, edx
and edx, ebx
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x48]
sar eax, cl
imul edx, dword [esp + 0x54]
sar ebx, cl
mov dword [esp + 0x98], esi
lea ebp, [edx + eax]
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0x48]
sar eax, 1
lea ecx, [eax + ebx]
jmp 0x6c4f2252
mov esi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x4c], eax
jmp 0x6c4f0ef0
mov esi, dword [esp + 0x7c]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x98], esi
mov dword [esp + 0x54], edx
mov esi, edx
mov dword [esp + 0x9c], ebx
jmp 0x6c4f1250
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x78], esi
mov dword [esp + 0x48], edx
jmp 0x6c4f1559
test eax, eax
lea ecx, [eax + 3]
cmovs eax, ecx
sar eax, 2
test ebx, ebx
lea ecx, [ebx + 3]
cmovs ebx, ecx
movzx ecx, byte [esp + 0x40]
lea esi, [eax + eax]
and esi, edx
sar ebx, 2
mov dword [esp + 0x98], esi
lea esi, [ebx + ebx]
and esi, edx
mov edx, dword [esp + 0x48]
imul edx, dword [esp + 0x54]
sar eax, cl
sar ebx, cl
mov dword [esp + 0x9c], esi
lea ebp, [edx + eax]
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0x48]
lea ecx, [eax + ebx]
jmp 0x6c4f2252
test eax, eax
lea ecx, [eax + 3]
cmovs eax, ecx
sar eax, 2
test edx, edx
lea ecx, [edx + 3]
lea esi, [eax + eax]
cmovs edx, ecx
movzx ecx, byte [esp + 0x40]
and esi, ebp
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x64]
sar edx, 2
imul esi, dword [esp + 0x50]
sar eax, cl
lea ebx, [edx + edx]
and ebx, ebp
lea ebp, [esi + eax]
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0x50]
sar edx, cl
mov dword [esp + 0x9c], ebx
lea ecx, [eax + edx]
jmp 0x6c4f24e0
mov edx, dword [esp + 0x5c]
sar edx, 1
mov dword [esp + 0x48], edx
jmp 0x6c4f278c
mov edx, dword [esp + 0x48]
sar edx, 1
mov dword [esp + 0x50], edx
jmp 0x6c4f265b
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x54], esi
jmp 0x6c4efce6
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x7c], ebx
mov esi, ebx
mov dword [esp + 0x98], eax
mov dword [esp + 0x54], edx
jmp 0x6c4f0030
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x68], edx
jmp 0x6c4f02db
mov edx, dword [esp + 0x94]
mov eax, 3
mov esi, dword [esp + 0x98]
movzx ecx, byte [esp + 0x40]
add ebp, dword [esp + 0xa4]
shl edx, 2
shl esi, 2
sar edx, cl
sar esi, cl
cmp ebp, 3
mov ecx, dword [esp + 0x90]
cmovg ebp, eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebx
lea ebp, [eax + ebp*4]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x3c], edx
mov dword [esp], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call dword [ebp]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x10], edx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call dword [ebp]
jmp 0x6c4ef808
mov eax, dword [esp + 0x6c]
sar esi, 1
and esi, edx
sar ebx, 1
and ebx, edx
and eax, 1
or eax, esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x50]
and esi, 1
or esi, ebx
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x48]
sar eax, 1
mov dword [esp + 0x68], eax
sar esi, 1
jmp 0x6c4ef6d6
mov ebx, dword [esp + 0x68]
sar eax, 1
and eax, ebp
sar edx, 1
and edx, ebp
mov ebp, dword [esp + 0x50]
and ebx, 1
or ebx, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x7c], ebx
mov ebx, esi
sar ebx, 1
and eax, 1
or eax, edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x84], eax
sar edx, 1
mov dword [esp + 0x5c], edx
jmp 0x6c4ef97e
mov ebx, dword [esp + 0xa4]
test ebx, ebx
je 0x6c4f35dc
mov eax, esi
shr eax, 0x1f
add esi, eax
mov eax, dword [esp + 0x44]
sar esi, 1
and edx, esi
imul eax, dword [esp + 0x54]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x70]
sar esi, cl
add esi, eax
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x98], edx
jmp 0x6c4ef6d6
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], edx
jmp 0x6c4f24e0
mov ebx, dword [esp + 0x98]
test ebx, ebx
je 0x6c4f3603
mov edx, eax
mov ebx, esi
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x58]
imul edx, dword [esp + 0x5c]
sar eax, 1
and ebp, eax
sar eax, cl
add eax, edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x84], eax
jmp 0x6c4ef97e
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], ebx
jmp 0x6c4f2252
test esi, esi
movzx ecx, byte [esp + 0x40]
lea eax, [esi + 3]
cmovs esi, eax
sar esi, 2
test ebx, ebx
lea eax, [ebx + 3]
cmovs ebx, eax
lea eax, [esi + esi]
and eax, edx
sar ebx, 2
mov dword [esp + 0x94], eax
lea eax, [ebx + ebx]
and eax, edx
mov edx, ebx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
sar esi, cl
imul eax, dword [esp + 0x54]
sar edx, cl
add esi, eax
mov eax, dword [esp + 0x44]
imul eax, dword [esp + 0x4c]
mov dword [esp + 0x68], esi
lea esi, [eax + edx]
jmp 0x6c4ef6d6
test eax, eax
lea ecx, [eax + 3]
cmovs eax, ecx
sar eax, 2
test edx, edx
lea ecx, [edx + 3]
cmovs edx, ecx
movzx ecx, byte [esp + 0x40]
lea ebx, [eax + eax]
and ebx, ebp
sar edx, 2
mov dword [esp + 0x7c], ebx
lea ebx, [edx + edx]
and ebx, ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x58]
sar eax, cl
imul ebx, dword [esp + 0x5c]
sar edx, cl
add eax, ebx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0x58]
lea ebx, [eax + edx]
jmp 0x6c4ef97e
mov esi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x94], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x68], eax
jmp 0x6c4ef6d6
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x7c], ebx
mov ebx, esi
mov dword [esp + 0x5c], eax
mov ebp, eax
mov dword [esp + 0x84], edx
jmp 0x6c4ef97e