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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x664
push esi
push edi
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x80]
and ecx, 0x80000
je 0x444eb1
mov dword [ebp - 0x230], 1
jmp 0x444ebb
mov dword [ebp - 0x230], 0
mov edx, dword [ebp - 0x230]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x80]
and ecx, 0x20000
je 0x444ee1
mov dword [ebp - 0x234], 1
jmp 0x444eeb
mov dword [ebp - 0x234], 0
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp + 0x14]
sub eax, 0x38
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 4]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x4c], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x48], 0xffffffff
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov dword [edx + 0x38], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x3c], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x54], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], 0xffffffff
mov dword [ebp - 0x90], 0
jmp 0x44516d
mov eax, dword [ebp - 4]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp + 0x14]
cmp ecx, dword [ebp - 0x240]
jb 0x44513b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x28]
sub eax, dword [edx + 0x18]
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 0x7fffffff
jb 0x444fcd
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 0xfffffffe
jne 0x444fc1
mov eax, 0xffffffd0
jmp 0x46288e
mov dword [ebp - 0x13c], 0xfffffffe
jmp 0x444fdb
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x1c]
shl ecx, 1
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
shr edx, 0xa
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0xc]
jb 0x445077
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x1c]
shr edx, 0xa
mov dword [ebp - 0x238], edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [ebp - 0x238]
ja 0x445019
mov eax, 0xffffffc1
jmp 0x46288e
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0xc]
sub eax, dword [ebp - 0x238]
shl eax, 0xa
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x1c]
xor edx, edx
mov ecx, 0x400
div ecx
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 0
je 0x445065
mov edx, 0x400
sub edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x1d4]
sub eax, edx
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x1c]
add edx, dword [ebp - 0x1d4]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x13c]
sub eax, dword [ebp - 0x1d8]
cmp eax, dword [ebp + 0x14]
jae 0x445092
mov eax, 0xffffffc1
jmp 0x46288e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x13c]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
call edx
add esp, 8
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
jne 0x4450c3
mov eax, 0xffffffd0
jmp 0x46288e
mov eax, dword [ebp - 0x1d8]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x154]
push eax
call fcn.0047cfc0
add esp, 0xc
mov ecx, dword [ebp - 0x154]
add ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp + 0x14]
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 4]
call edx
add esp, 8
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x154]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x13c]
mov dword [edx + 0x1c], eax
mov ecx, dword [ebp - 0x154]
add ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 0x464]
push edx
mov eax, dword [ebp - 4]
add eax, 0x38
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x38
push ecx
call fcn.0047cfc0
add esp, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
add eax, 1
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x90]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x14]
mov dword [ecx + 0x10], edx
cmp dword [ebp - 0x90], 0
je 0x4451d0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
sub ecx, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], ecx
mov eax, dword [ebp - 0x90]
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x4451c6
mov ecx, dword [ebp - 0x90]
and ecx, 0xffff
mov edx, dword [ebp - 4]
mov dword [edx + 0x48], ecx
mov dword [ebp - 0x90], 0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x4c4], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x18]
add edx, 1
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x18], edx
mov ecx, dword [ebp - 0x4c0]
cmp ecx, dword [ebp - 0x4c4]
jb 0x44520f
mov eax, 0xffffffd1
jmp 0x46288e
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x18]
cmp ecx, dword [eax + 0x14]
jb 0x445227
mov eax, 0xffffffcb
jmp 0x46288e
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dl, byte [eax]
mov byte [ecx + 0x31], dl
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 0xaa
ja case.0x445257.98
mov edx, dword [ebp - 0x244]
jmp dword [edx*4 + 0x462894]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x445336
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4452ad
mov eax, 0xffffffd4
jmp 0x46288e
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x18]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp + 0x14]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x2c]
or edx, 0x10000
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], edx
jne 0x4452d5
jmp 0x4452e0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x20], edx
jmp 0x44529d
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + eax - 2]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x2c]
mov dword [edx + 0x4c], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
sub eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
mov dword [edx + ecx*4 + 0x58], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
sub edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
mov dword [ecx + eax*4 + 0x5c], edx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
cmp eax, dword [edx + 0x54]
jb 0x445336
mov ecx, dword [ebp - 0x20]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x4bbad8]
mov ecx, dword [ebp - 4]
add eax, dword [ecx]
mov edx, dword [ebp - 4]
mov dword [edx], eax
jmp 0x4626ad
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jbe 0x44536e
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x64], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0xc], 0xfffffc19
jmp 0x4626b2
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x48], 0xffffffff
je case.0x445257.0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4453a9
mov eax, 0xffffffd4
jmp 0x46288e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x18]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x1c]
and edx, 0xffff0000
cmp edx, 0x40000
jne 0x4453d4
jmp 0x4453df
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x20], ecx
jmp 0x445399
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x38], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x40], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x445227
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x3c]
jne 0x44545f
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x7c]
and ecx, 4
jne 0x445453
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x7c]
and eax, 8
je 0x44545f
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp + 0x1c]
add edx, dword [eax + 0x34]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x3c], edx
jne 0x44545f
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jae 0x4454a2
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x7c]
or ecx, dword [eax + 0x80]
and ecx, 0x20000000
je 0x4454a2
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
test eax, eax
jne 0x44549b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
xor eax, eax
jmp 0x46288e
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x54]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ecx + 0x68], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x64]
jbe 0x4454e0
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x64], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x3c]
sub eax, dword [edx + 0x4c]
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp + 0x18]
mov dword [ecx + edx + 0x38], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
sub ecx, dword [eax + 0x4c]
mov edx, 4
shl edx, 0
mov eax, dword [ebp + 0x18]
mov dword [eax + edx + 0x38], ecx
movzx ecx, word [ebp + 0x10]
add ecx, 1
mov edx, dword [ebp + 0x18]
movzx eax, word [edx + 0x32]
cmp ecx, eax
jle 0x445537
mov ecx, dword [ebp + 0x18]
movzx edx, word [ecx + 0x32]
mov dword [ebp - 0x248], edx
jmp 0x445544
movzx eax, word [ebp + 0x10]
add eax, 1
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x248]
shl ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
lea eax, [edx*4 - 8]
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x58
push ecx
mov edx, dword [ebp + 0x18]
add edx, 0x40
push edx
call fcn.0047cfc0
add esp, 0xc
mov eax, dword [ebp - 0x10]
sub eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x54]
add edx, 2
cmp dword [ebp - 0x10], edx
jb 0x445597
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x18]
mov dword [ecx + eax*4 + 0x38], 0xffffffff
jmp 0x445570
mov eax, 1
jmp 0x46288e
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x8c], 0
je 0x445614
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x4455f9
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 0x1c]
add ecx, 0x90
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x54]
push eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x8c]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
push ecx
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x4455f9
mov dword [ebp - 0x24c], 1
jmp 0x445603
mov dword [ebp - 0x24c], 0
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x254], edx
jmp 0x44569a
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x54]
sub edx, dword [ecx + 0x90]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], edx
ja 0x445684
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 0x1c]
movzx edx, byte [ecx + edx + 0x94]
cmp eax, edx
jne 0x445684
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x90], 1
je 0x445678
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx + 1]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 0x1c]
movzx ecx, byte [edx + ecx + 0x94]
cmp eax, ecx
jne 0x445684
mov dword [ebp - 0x250], 1
jmp 0x44568e
mov dword [ebp - 0x250], 0
mov edx, dword [ebp - 0x250]
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 0
je 0x4456af
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je case.0x445257.13
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x54]
sub eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
jne case.0x445257.13
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x8c], 0
jne case.0x445257.13
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x90], 2
jne case.0x445257.13
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 0x1c]
movzx edx, byte [ecx + edx + 0x94]
cmp eax, edx
jne case.0x445257.13
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle case.0x445257.13
mov eax, 0xfffffffe
jmp 0x46288e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44577f
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x445773
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x445753
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x445773
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x445773
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x4457ca
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x4457ca
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x4457ca
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x445794
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x445838
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44582c
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44580c
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44582c
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44582c
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
cmp dword [ebp - 0x14], 0
je 0x445b99
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x445ab5
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x4458d0
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
jmp 0x445ab5
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x445926
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
jmp 0x445ab5
mov edx, dword [ebp - 8]
and edx, 8
jne 0x445995
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], ecx
jmp 0x445ab5
mov eax, dword [ebp - 8]
and eax, 4
jne 0x445a21
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], ecx
jmp 0x445ab5
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 5
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax + 0x38]
mov edx, dword [ebp - 4]
cmp dword [edx + 0xc], ecx
jbe 0x445b25
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x445b19
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x445b19
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x445af9
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x445b19
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x445b19
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x445b36
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc], 0
jbe 0x445b94
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0x4cc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c8]
cmp ecx, dword [ebp - 0x4cc]
je 0x445b92
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x445b27
jmp 0x445c54
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax + 0x38]
cmp ecx, 1
jge 0x445bf8
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x445bec
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x445bcc
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x445bec
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x445bec
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
mov dword [ebp - 0x4d0], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x4d4]
je 0x445c47
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x445cb5
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x445ca9
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x445c89
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x445ca9
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x445ca9
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
cmp dword [ebp - 0x14], 0
je 0x44620c
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], 1
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xc0
jb 0x445f11
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x445d2c
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
jmp 0x445f11
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x445d82
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], ecx
jmp 0x445f11
mov eax, dword [ebp - 8]
and eax, 8
jne 0x445df1
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
jmp 0x445f11
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x445e7d
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
jmp 0x445f11
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], ecx
cmp dword [ebp - 8], 0x80
jae 0x445f77
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x4d8], edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x28]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x4d8]
movzx edx, byte [edx + ecx]
cmp eax, edx
je 0x445f56
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x446207
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x48], 0xc0
jb 0x4461a1
mov eax, dword [ebp - 0x48]
and eax, 0x20
jne 0x445fd5
mov ecx, dword [ebp - 0x48]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4461a1
mov eax, dword [ebp - 0x48]
and eax, 0x10
jne 0x446025
mov ecx, dword [ebp - 0x48]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4461a1
mov ecx, dword [ebp - 0x48]
and ecx, 8
jne 0x44608e
mov edx, dword [ebp - 0x48]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4461a1
mov ecx, dword [ebp - 0x48]
and ecx, 4
jne 0x446111
mov edx, dword [ebp - 0x48]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4461a1
mov ecx, dword [ebp - 0x48]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xc]
mov ecx, dword [ebp - 4]
mov dword [ecx], edx
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 8]
je 0x446207
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, word [eax*2 + 0x4c2460]
shl eax, 7
mov ecx, dword [ebp - 8]
and ecx, 0x8000007f
jns 0x4461e0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x4c6860]
imul eax, edx, 0xc
mov ecx, dword [ebp - 8]
add ecx, dword [eax + 0x4be1ac]
cmp dword [ebp - 0x48], ecx
je 0x446207
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x446348
cmp dword [ebp - 0x15c], 0
je 0x4462ee
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x1dc], ecx
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x80
jae 0x446274
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x28]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x1dc]
movzx edx, byte [edx + ecx]
cmp eax, edx
je 0x446272
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x4462d0
mov eax, dword [ebp - 0x1dc]
cmp eax, dword [ebp - 8]
je 0x4462d0
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x4462a6
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
mov edx, dword [ebp - 8]
add edx, dword [ecx + 0x4be1ac]
cmp dword [ebp - 0x1dc], edx
je 0x4462d0
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x446348
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x28]
movzx eax, byte [edx + eax]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx + 0x28]
movzx ecx, byte [edx + ecx]
cmp eax, ecx
je 0x44632c
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x4463a9
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44639d
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44637d
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44639d
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44639d
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
cmp dword [ebp - 0x14], 0
je 0x44688b
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
cmp dword [ebp - 0x24], 0xc0
jb 0x4465ce
mov edx, dword [ebp - 0x24]
and edx, 0x20
jne 0x446418
mov eax, dword [ebp - 0x24]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4465ce
mov edx, dword [ebp - 0x24]
and edx, 0x10
jne 0x446464
mov eax, dword [ebp - 0x24]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4465ce
mov eax, dword [ebp - 0x24]
and eax, 8
jne 0x4464c8
mov ecx, dword [ebp - 0x24]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4465ce
mov eax, dword [ebp - 0x24]
and eax, 4
jne 0x446545
mov ecx, dword [ebp - 0x24]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4465ce
mov eax, dword [ebp - 0x24]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 8], 0xc0
jb 0x4467f8
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44662c
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4467f8
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44667c
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4467f8
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x4466e5
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4467f8
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x446768
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4467f8
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 8]
jne 0x44680e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
cmp eax, 0x20
jne 0x446886
cmp dword [ebp - 0x24], 0x7f
jbe 0x446862
mov eax, dword [ebp - 0x24]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 0x24]
and edx, 0x8000007f
jns 0x446847
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
mov edx, dword [ebp - 0x24]
add edx, dword [ecx + 0x4be1ac]
mov dword [ebp - 0x24], edx
jmp 0x446872
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ebp - 0x24]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 8]
jne 0x446886
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x446a00
cmp dword [ebp - 0x15c], 0
je 0x446989
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 8]
jne 0x4468f3
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x31]
cmp edx, 0x20
jne 0x446987
cmp dword [ebp - 0x10c], 0x7f
jbe 0x44695a
mov eax, dword [ebp - 0x10c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, word [eax*2 + 0x4c2460]
shl eax, 7
mov ecx, dword [ebp - 0x10c]
and ecx, 0x8000007f
jns 0x446939
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x4c6860]
imul eax, edx, 0xc
mov ecx, dword [ebp - 0x10c]
add ecx, dword [eax + 0x4be1ac]
mov dword [ebp - 0x10c], ecx
jmp 0x446970
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x2c]
mov ecx, dword [ebp - 0x10c]
movzx edx, byte [eax + ecx]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 8]
jne 0x446987
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x446a00
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x258]
cmp edx, dword [ebp - 8]
je 0x4469e7
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
cmp ecx, 0x20
jne 0x4469f3
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x2c]
mov ecx, dword [ebp - 0x258]
movzx edx, byte [eax + ecx]
cmp edx, dword [ebp - 8]
jne 0x4469f3
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov dword [ebp - 0x25c], eax
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x25c]
mov dword [eax + edx + 0x20], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x25c]
mov dword [ecx + eax + 0x20], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x446cc9
mov dword [ebp - 0x18], 2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, 4
shl edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x446cc9
mov dword [ebp - 0x18], 1
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 0
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, 4
shl ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x446cc9
mov dword [ebp - 0x18], 0
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, 4
shl eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x446cc9
mov dword [ebp - 0x18], 2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 0xffffffff
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x446cc9
mov dword [ebp - 0x18], 2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 1
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0xffffffff
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x446cc9
mov dword [ebp - 0x18], 2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x446cc9
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
cmp ecx, 0x2e
jge 0x446c62
mov dword [ebp - 0x260], 0x21
jmp 0x446c6c
mov dword [ebp - 0x260], 0x2e
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
sub ecx, dword [ebp - 0x260]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov edx, dword [edx*4 + 0x4b9540]
mov dword [ecx + eax + 0x20], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov edx, dword [edx*4 + 0x4b956c]
mov dword [ecx + eax + 0x20], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax*4 + 0x4b9598]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x14], 0
je 0x44749d
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], 1
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx]
mov dword [ecx + eax + 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0xc0
jb 0x446f2c
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x446d47
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], ecx
jmp 0x446f2c
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x446d9d
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
jmp 0x446f2c
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x446e0c
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
jmp 0x446f2c
mov edx, dword [ebp - 8]
and edx, 4
jne 0x446e98
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
jmp 0x446f2c
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 5
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xc]
mov ecx, dword [ebp - 4]
mov dword [ecx], edx
mov edx, dword [ebp - 4]
cmp dword [edx + 0xc], 1
jbe 0x44748a
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
cmp ecx, 0x2e
jl 0x446fc0
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x446f7b
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
mov eax, dword [ebp - 8]
add eax, dword [edx + 0x4be1ac]
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x264]
cmp ecx, dword [ebp - 8]
je 0x446fc0
mov edx, dword [ebp - 4]
add edx, 0x32
push edx
mov eax, dword [ebp - 0x264]
push eax
call fcn.00476520
add esp, 8
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x14], eax
jmp 0x446fca
mov edx, dword [ebp - 4]
mov dword [edx + 0x14], 0
mov dword [ebp - 0x10], 1
jmp 0x446fdc
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x4470fc
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax + 0xc]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x38], ecx
ja 0x447049
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
push eax
call fcn.0047e26b
add esp, 0xc
test eax, eax
jne 0x447049
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], edx
jmp 0x4470f7
mov edx, dword [ebp - 4]
cmp dword [edx + 0x14], 0
jbe 0x44709b
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x54]
sub edx, dword [ecx + 0x14]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], edx
ja 0x44709b
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.0047e26b
add esp, 0xc
test eax, eax
jne 0x44709b
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x14]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4470f7
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4470eb
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4470eb
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x4470cb
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x4470eb
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4470eb
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x446fd3
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov edx, dword [ecx + edx + 0x20]
cmp edx, dword [esi + eax + 0x20]
jne 0x447121
jmp 0x445227
cmp dword [ebp - 0x18], 0
jne 0x4472c2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xca
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x447150
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x4dc], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x4e0], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0x4e0]
jb 0x4471b5
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax + 0xc]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x38], ecx
ja 0x44720a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
push eax
call fcn.0047e26b
add esp, 0xc
test eax, eax
jne 0x44720a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], edx
jmp 0x4472b8
mov edx, dword [ebp - 4]
cmp dword [edx + 0x14], 0
jbe 0x44725c
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x54]
sub edx, dword [ecx + 0x14]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], edx
ja 0x44725c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.0047e26b
add esp, 0xc
test eax, eax
jne 0x44725c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x14]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4472b8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4472ac
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4472ac
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x44728c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x4472ac
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4472ac
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44712b
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
mov dword [eax + edx + 4], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x4472f4
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x44740a
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 0x54]
sub eax, dword [edx + 0xc]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
ja 0x447361
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
push eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 4]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.0047e26b
add esp, 0xc
test eax, eax
jne 0x447361
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0xc]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x447405
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x14], 0
jbe 0x4473b3
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax + 0x14]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x38], ecx
ja 0x4473b3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 4]
add edx, 0x32
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
push ecx
call fcn.0047e26b
add esp, 0xc
test eax, eax
jne 0x4473b3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
jmp 0x447405
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x447403
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x447403
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x4473e3
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x447403
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x447403
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x44740a
jmp 0x4472eb
cmp dword [ebp - 0x18], 2
je 0x447485
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edx, dword [edx + 0x38]
cmp edx, dword [eax + ecx + 4]
ja 0x447429
jmp 0x447485
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xcb
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x44744e
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x447483
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44745d
jmp 0x447410
jmp 0x4626ad
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [edx + ecx + 0x20], eax
jmp 0x4474c0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov eax, 4
shl eax, 1
movzx ecx, byte [edx]
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
cmp ecx, 0x2e
jl 0x447929
cmp dword [ebp - 0x15c], 0
je 0x447562
cmp dword [ebp - 0x14], 0
jne 0x447562
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0x7f
jbe 0x447562
mov ecx, 4
shl ecx, 1
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + edx + 0x20]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, 4
shl eax, 1
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax + 0x20]
and eax, 0x8000007f
jns 0x447537
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x4c6860]
imul eax, edx, 0xc
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx + 0x20]
add ecx, dword [eax + 0x4be1ac]
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
jmp 0x447589
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x2c]
mov eax, 4
imul eax, eax, 3
movzx ecx, byte [ecx + edx]
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov dword [ebp - 0x10], 1
jmp 0x44759b
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x44766b
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44760f
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x447603
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x4475e3
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x447603
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x447603
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x268], ecx
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
cmp ecx, dword [ebp - 0x268]
je 0x447657
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
cmp edx, dword [ebp - 0x268]
je 0x447657
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x447592
mov eax, 4
imul ecx, eax, 0
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov ecx, dword [eax + ecx + 0x20]
cmp ecx, dword [esi + edx + 0x20]
jne 0x447690
jmp 0x445227
cmp dword [ebp - 0x18], 0
jne 0x4477e1
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0x19
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x4476bf
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x4e4], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x4e8], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [ebp - 0x4e8]
jb 0x447724
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x447780
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x447774
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x447754
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x447774
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x447774
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0x26c], eax
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
cmp eax, dword [ebp - 0x26c]
je 0x4477c8
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
cmp ecx, dword [ebp - 0x26c]
je 0x4477c8
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44769a
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov dword [ecx + eax + 4], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x447813
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x4478cf
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44787d
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44787b
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44785b
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44787b
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44787b
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x4478cf
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x270], ecx
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
cmp ecx, dword [ebp - 0x270]
je 0x4478bb
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
cmp edx, dword [ebp - 0x270]
je 0x4478bb
jmp 0x4478cf
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44780a
cmp dword [ebp - 0x18], 2
je 0x447924
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edx, dword [edx + 0x38]
cmp edx, dword [eax + ecx + 4]
jne 0x4478ee
jmp 0x447924
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x1a
jmp 0x444f78
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0xc], 0
je 0x447922
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
jmp 0x4478d5
jmp 0x447c8b
mov dword [ebp - 0x10], 1
jmp 0x44793b
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x447a00
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4479af
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4479a3
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x447983
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x4479a3
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x4479a3
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x4f0], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 0x4ec]
cmp eax, dword [ebp - 0x4f0]
je 0x4479fb
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x447932
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov edx, dword [ecx + edx + 0x20]
cmp edx, dword [esi + eax + 0x20]
jne 0x447a25
jmp 0x445227
cmp dword [ebp - 0x18], 0
jne 0x447b6b
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x1b
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x447a54
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x4f4], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x4f8], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x4f4]
cmp ecx, dword [ebp - 0x4f8]
jb 0x447ab9
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x447b15
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x447b09
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x447ae9
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x447b09
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x447b09
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x4fc], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x500], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x4fc]
cmp edx, dword [ebp - 0x500]
je 0x447b61
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x447a2f
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [edx + ecx + 4], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x10], ecx
jmp 0x447b9d
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
jae 0x447c36
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x447c07
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x447c05
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x447be5
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x447c05
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x447c05
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x447c36
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
mov edx, dword [ebp - 4]
cmp dword [edx + eax + 0x20], ecx
je 0x447c22
jmp 0x447c36
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x447b94
cmp dword [ebp - 0x18], 2
je 0x447c8b
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edx, dword [edx + 0x38]
cmp edx, dword [eax + ecx + 4]
ja 0x447c55
jmp 0x447c8b
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x1c
jmp 0x444f78
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0xc], 0
je 0x447c89
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
jmp 0x447c3c
jmp 0x4626ad
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov dword [ebp - 0x274], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x274]
mov dword [ecx + eax + 0x20], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x274]
mov dword [edx + ecx + 0x20], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x447f54
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, 4
shl eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov dword [ebp - 0x18], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x447f54
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, 4
shl edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x447f54
mov dword [ebp - 0x18], 2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 0
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0xffffffff
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x447f54
mov dword [ebp - 0x18], 2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 1
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0xffffffff
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x447f54
mov dword [ebp - 0x18], 2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 1
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x447f54
mov dword [ebp - 0x18], 2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 0
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, 4
shl ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x447f54
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x31]
cmp edx, 0x48
jl 0x447eed
mov dword [ebp - 0x278], 0x48
jmp 0x447ef7
mov dword [ebp - 0x278], 0x3b
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
sub edx, dword [ebp - 0x278]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax*4 + 0x4b9540]
mov dword [edx + ecx + 0x20], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax*4 + 0x4b956c]
mov dword [edx + ecx + 0x20], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx*4 + 0x4b9598]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edx, 4
shl edx, 1
movzx eax, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
cmp dword [ebp - 0x14], 0
je 0x448220
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xc0
jb 0x448220
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
and eax, 0x20
jne 0x447fed
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov edx, 4
shl edx, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x448220
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
and ecx, 0x10
jne 0x44805a
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x448220
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
and eax, 8
jne 0x4480df
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov edx, 4
shl edx, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x448220
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
and ecx, 4
jne 0x448181
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov eax, 4
shl eax, 1
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x448220
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
cmp eax, 0x48
jl 0x449063
cmp dword [ebp - 0x14], 0
jne 0x44823f
cmp dword [ebp - 0x15c], 0
je 0x4482be
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0x7f
jbe 0x4482be
mov ecx, 4
shl ecx, 1
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + edx + 0x20]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, 4
shl eax, 1
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax + 0x20]
and eax, 0x8000007f
jns 0x448293
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x4c6860]
imul eax, edx, 0xc
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx + 0x20]
add ecx, dword [eax + 0x4be1ac]
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
jmp 0x4482e5
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x2c]
mov eax, 4
imul eax, eax, 3
movzx ecx, byte [ecx + edx]
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
cmp dword [ebp - 0x14], 0
je 0x4485dc
mov dword [ebp - 0x10], 1
jmp 0x448301
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x4485d7
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x448375
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x448369
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x448349
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x448369
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x448369
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x4c], 0xc0
jb 0x44859f
mov edx, dword [ebp - 0x4c]
and edx, 0x20
jne 0x4483d3
mov eax, dword [ebp - 0x4c]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44859f
mov edx, dword [ebp - 0x4c]
and edx, 0x10
jne 0x448423
mov eax, dword [ebp - 0x4c]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44859f
mov eax, dword [ebp - 0x4c]
and eax, 8
jne 0x44848c
mov ecx, dword [ebp - 0x4c]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44859f
mov eax, dword [ebp - 0x4c]
and eax, 4
jne 0x44850f
mov ecx, dword [ebp - 0x4c]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44859f
mov eax, dword [ebp - 0x4c]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
cmp edx, dword [ebp - 0x4c]
je 0x4485c6
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
cmp eax, dword [ebp - 0x4c]
jne 0x4485d2
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x4482f8
jmp 0x4486b5
mov dword [ebp - 0x10], 1
jmp 0x4485ee
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x4486b5
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x448662
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x448656
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x448636
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x448656
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x448656
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
mov edx, dword [ebp - 4]
cmp dword [edx + eax + 0x20], ecx
je 0x448695
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
mov eax, dword [ebp - 4]
cmp dword [eax + ecx + 0x20], edx
jne 0x4486a1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4485e5
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov edx, dword [ecx + edx + 0x20]
cmp edx, dword [esi + eax + 0x20]
jne 0x4486da
jmp 0x445227
cmp dword [ebp - 0x18], 0
jne 0x448b79
cmp dword [ebp - 0x14], 0
je 0x448a3b
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xcc
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x448713
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x504], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x508], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x504]
cmp ecx, dword [ebp - 0x508]
jb 0x448778
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x4487d4
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x4487c8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x4487a8
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x4487c8
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x4487c8
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x50], 0xc0
jb 0x4489fe
mov edx, dword [ebp - 0x50]
and edx, 0x20
jne 0x448832
mov eax, dword [ebp - 0x50]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x4489fe
mov edx, dword [ebp - 0x50]
and edx, 0x10
jne 0x448882
mov eax, dword [ebp - 0x50]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4489fe
mov eax, dword [ebp - 0x50]
and eax, 8
jne 0x4488eb
mov ecx, dword [ebp - 0x50]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4489fe
mov eax, dword [ebp - 0x50]
and eax, 4
jne 0x44896e
mov ecx, dword [ebp - 0x50]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4489fe
mov eax, dword [ebp - 0x50]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
cmp edx, dword [ebp - 0x50]
je 0x448a25
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
cmp eax, dword [ebp - 0x50]
jne 0x448a31
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x4486ee
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x1d
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x448a60
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x50c], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x510], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
add eax, 1
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 0x50c]
cmp edx, dword [ebp - 0x510]
jb 0x448ac5
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x448b21
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x448b15
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x448af5
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x448b15
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x448b15
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
mov edx, dword [ebp - 4]
cmp dword [edx + eax + 0x20], ecx
je 0x448b54
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
mov eax, dword [ebp - 4]
cmp dword [eax + ecx + 0x20], edx
jne 0x448b60
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x448a3b
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
mov dword [eax + edx + 4], ecx
cmp dword [ebp - 0x14], 0
je 0x448f39
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x448bb5
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x448eb7
mov dword [ebp - 0x98], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x448c2c
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x448c27
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x448c07
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x448c27
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x448c27
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x448eb7
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0xc0
jb 0x448e77
mov ecx, dword [ebp - 0x54]
and ecx, 0x20
jne 0x448c84
mov edx, dword [ebp - 0x54]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x98]
add ecx, 1
mov dword [ebp - 0x98], ecx
jmp 0x448e77
mov edx, dword [ebp - 0x54]
and edx, 0x10
jne 0x448cdc
mov eax, dword [ebp - 0x54]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x98]
add eax, 2
mov dword [ebp - 0x98], eax
jmp 0x448e77
mov ecx, dword [ebp - 0x54]
and ecx, 8
jne 0x448d4e
mov edx, dword [ebp - 0x54]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x98]
add edx, 3
mov dword [ebp - 0x98], edx
jmp 0x448e77
mov eax, dword [ebp - 0x54]
and eax, 4
jne 0x448dde
mov ecx, dword [ebp - 0x54]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x98]
add eax, 4
mov dword [ebp - 0x98], eax
jmp 0x448e77
mov ecx, dword [ebp - 0x54]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x98]
add eax, 5
mov dword [ebp - 0x98], eax
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
cmp eax, dword [ebp - 0x54]
je 0x448e9e
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
cmp ecx, dword [ebp - 0x54]
jne 0x448ea0
jmp 0x448eb7
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x448bac
cmp dword [ebp - 0x18], 2
je 0x448f34
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
cmp ecx, dword [edx + eax + 4]
ja 0x448ed6
jmp 0x448f34
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xcd
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x448efb
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x448f32
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x448f0a
jmp 0x448ebd
jmp 0x44905e
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x448f56
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x449009
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x448fc0
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x448fbe
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x448f9e
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x448fbe
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x448fbe
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x449009
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
mov ecx, dword [ebp - 4]
cmp dword [ecx + edx + 0x20], eax
je 0x448ff3
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
mov edx, dword [ebp - 4]
cmp dword [edx + eax + 0x20], ecx
jne 0x448ff5
jmp 0x449009
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x448f4d
cmp dword [ebp - 0x18], 2
je 0x44905e
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edx, dword [edx + 0x38]
cmp edx, dword [eax + ecx + 4]
jne 0x449028
jmp 0x44905e
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x1e
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x44904d
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44900f
jmp 0x449d80
cmp dword [ebp - 0x14], 0
je 0x449346
mov dword [ebp - 0x10], 1
jmp 0x44907f
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x449341
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4490f3
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4490e7
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x4490c7
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x4490e7
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x4490e7
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x58], 0xc0
jb 0x44931d
mov eax, dword [ebp - 0x58]
and eax, 0x20
jne 0x449151
mov ecx, dword [ebp - 0x58]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44931d
mov eax, dword [ebp - 0x58]
and eax, 0x10
jne 0x4491a1
mov ecx, dword [ebp - 0x58]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44931d
mov ecx, dword [ebp - 0x58]
and ecx, 8
jne 0x44920a
mov edx, dword [ebp - 0x58]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44931d
mov ecx, dword [ebp - 0x58]
and ecx, 4
jne 0x44928d
mov edx, dword [ebp - 0x58]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44931d
mov ecx, dword [ebp - 0x58]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
cmp eax, dword [ebp - 0x58]
jne 0x44933c
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x449076
jmp 0x44941d
mov dword [ebp - 0x10], 1
jmp 0x449358
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x44941d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4493cc
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4493c0
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x4493a0
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x4493c0
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x4493c0
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 0x514]
cmp eax, dword [ebp - 0x518]
jne 0x449418
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44934f
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov edx, dword [ecx + edx + 0x20]
cmp edx, dword [esi + eax + 0x20]
jne 0x449442
jmp 0x445227
cmp dword [ebp - 0x18], 0
jne 0x4498cb
cmp dword [ebp - 0x14], 0
je 0x44978f
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xce
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x44947b
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x51c], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x520], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x51c]
cmp ecx, dword [ebp - 0x520]
jb 0x4494e0
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44953c
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x449530
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x449510
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x449530
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x449530
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x5c], 0xc0
jb 0x449766
mov edx, dword [ebp - 0x5c]
and edx, 0x20
jne 0x44959a
mov eax, dword [ebp - 0x5c]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x449766
mov edx, dword [ebp - 0x5c]
and edx, 0x10
jne 0x4495ea
mov eax, dword [ebp - 0x5c]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x449766
mov eax, dword [ebp - 0x5c]
and eax, 8
jne 0x449653
mov ecx, dword [ebp - 0x5c]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x449766
mov eax, dword [ebp - 0x5c]
and eax, 4
jne 0x4496d6
mov ecx, dword [ebp - 0x5c]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x449766
mov eax, dword [ebp - 0x5c]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
cmp edx, dword [ebp - 0x5c]
jne 0x449785
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x449456
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x1f
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x4497b4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x524], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x528], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x524]
cmp ecx, dword [ebp - 0x528]
jb 0x449819
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x449875
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x449869
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x449849
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x449869
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x449869
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x530], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x52c]
cmp edx, dword [ebp - 0x530]
jne 0x4498c1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44978f
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [edx + ecx + 4], eax
cmp dword [ebp - 0x14], 0
je 0x449c75
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x10], ecx
jmp 0x449907
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
jae 0x449bf5
mov dword [ebp - 0x9c], 1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44997e
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x449979
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x449959
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x449979
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x449979
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x449bf5
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0x60], 0xc0
jb 0x449bc9
mov eax, dword [ebp - 0x60]
and eax, 0x20
jne 0x4499d6
mov ecx, dword [ebp - 0x60]
and ecx, 0x1f
shl ecx, 6
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
jmp 0x449bc9
mov ecx, dword [ebp - 0x60]
and ecx, 0x10
jne 0x449a2e
mov edx, dword [ebp - 0x60]
and edx, 0xf
shl edx, 0xc
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x9c]
add edx, 2
mov dword [ebp - 0x9c], edx
jmp 0x449bc9
mov eax, dword [ebp - 0x60]
and eax, 8
jne 0x449aa0
mov ecx, dword [ebp - 0x60]
and ecx, 7
shl ecx, 0x12
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x9c]
add ecx, 3
mov dword [ebp - 0x9c], ecx
jmp 0x449bc9
mov edx, dword [ebp - 0x60]
and edx, 4
jne 0x449b30
mov eax, dword [ebp - 0x60]
and eax, 3
shl eax, 0x18
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x9c]
add edx, 4
mov dword [ebp - 0x9c], edx
jmp 0x449bc9
mov eax, dword [ebp - 0x60]
and eax, 1
shl eax, 0x1e
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 5
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x9c]
add edx, 5
mov dword [ebp - 0x9c], edx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
cmp edx, dword [ebp - 0x60]
jne 0x449bde
jmp 0x449bf5
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4498fe
cmp dword [ebp - 0x18], 2
je 0x449c70
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edx, dword [edx + 0x38]
cmp edx, dword [eax + ecx + 4]
ja 0x449c14
jmp 0x449c70
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xcf
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x449c39
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x449c6e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x449c48
jmp 0x449bfb
jmp 0x449d80
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x10], ecx
jmp 0x449c92
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
jae 0x449d2b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x449cfc
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x449cfa
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x449cda
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x449cfa
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x449cfa
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x449d2b
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
mov edx, dword [ebp - 4]
cmp dword [edx + eax + 0x20], ecx
jne 0x449d17
jmp 0x449d2b
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x449c89
cmp dword [ebp - 0x18], 2
je 0x449d80
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edx, dword [edx + 0x38]
cmp edx, dword [eax + ecx + 4]
jne 0x449d4a
jmp 0x449d80
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x20
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x449d6f
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x449d31
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 4], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 0x21
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x160]
sub edx, 0x62
mov dword [ebp - 0x160], edx
cmp dword [ebp - 0x160], 0xb
ja case.default.0x449dd9
mov eax, dword [ebp - 0x160]
jmp dword [eax*4 + 0x462b40]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
sub eax, 0x62
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx*4 + 0x4b9540]
mov dword [eax + edx + 0x20], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx*4 + 0x4b956c]
mov dword [eax + edx + 0x20], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx*4 + 0x4b9598]
mov dword [ebp - 0x18], eax
jmp 0x449f16
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, 4
imul edx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], ecx
mov ecx, 1
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, 4
shl ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0
jne 0x449ecf
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 0xffffffff
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
mov edx, dword [ecx*4 + 0x4b9410]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x449f16
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 1
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 1
cmp dword [ebp - 0x14], 0
je 0x44a233
mov dword [ebp - 0x10], 1
jmp 0x449f32
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x44a22e
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x449fa6
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x449f9a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x449f7a
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x449f9a
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x449f9a
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 8], 0xc0
jb 0x44a1d0
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x44a004
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44a1d0
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x44a054
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44a1d0
mov edx, dword [ebp - 8]
and edx, 8
jne 0x44a0bd
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44a1d0
mov edx, dword [ebp - 8]
and edx, 4
jne 0x44a140
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44a1d0
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 8], 0xff
jbe 0x44a1f3
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
cmp eax, 0x6e
jne 0x44a1f1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44a229
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 8]
shr edx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + ecx + 4]
movzx edx, byte [ecx + edx]
mov ecx, dword [ebp - 8]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
jne 0x44a229
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x449f29
jmp 0x44a30f
mov dword [ebp - 0x10], 1
jmp 0x44a245
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x44a30f
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44a2b9
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44a2ad
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44a28d
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44a2ad
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44a2ad
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 8]
shr ecx, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax + 4]
movzx edx, byte [eax + ecx]
mov ecx, dword [ebp - 8]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
jne 0x44a30a
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44a23c
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov edx, dword [ecx + edx + 0x20]
cmp edx, dword [esi + eax + 0x20]
jne 0x44a334
jmp 0x445227
cmp dword [ebp - 0x18], 0
jne 0x44a7fc
cmp dword [ebp - 0x14], 0
je 0x44a6bb
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xc8
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x44a36d
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x534], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x538], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x534]
cmp ecx, dword [ebp - 0x538]
jb 0x44a3d2
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44a42e
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44a422
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44a402
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44a422
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44a422
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 8], 0xc0
jb 0x44a658
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44a48c
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44a658
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x44a4dc
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44a658
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44a545
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44a658
mov eax, dword [ebp - 8]
and eax, 4
jne 0x44a5c8
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44a658
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 8], 0xff
jbe 0x44a67b
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
cmp ecx, 0x6e
jne 0x44a679
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44a6b1
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 8]
shr eax, 3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + edx + 4]
movzx eax, byte [edx + eax]
mov ecx, dword [ebp - 8]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x44a6b1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44a348
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x17
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x44a6e0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x53c], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x540], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x53c]
cmp ecx, dword [ebp - 0x540]
jb 0x44a745
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44a7a1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44a795
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44a775
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44a795
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44a795
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 8]
shr eax, 3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + edx + 4]
movzx eax, byte [edx + eax]
mov ecx, dword [ebp - 8]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x44a7f2
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44a6bb
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [edx + ecx + 4], eax
cmp dword [ebp - 0x14], 0
je 0x44abf8
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x10], ecx
jmp 0x44a838
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
jae 0x44ab56
mov dword [ebp - 0xa0], 1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44a8af
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44a8aa
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44a88a
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44a8aa
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44a8aa
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x44ab56
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0xc0
jb 0x44aafa
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44a907
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
jmp 0x44aafa
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x44a95f
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xa0]
add edx, 2
mov dword [ebp - 0xa0], edx
jmp 0x44aafa
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44a9d1
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xa0]
add ecx, 3
mov dword [ebp - 0xa0], ecx
jmp 0x44aafa
mov edx, dword [ebp - 8]
and edx, 4
jne 0x44aa61
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xa0]
add edx, 4
mov dword [ebp - 0xa0], edx
jmp 0x44aafa
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 5
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xa0]
add edx, 5
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 8], 0xff
jbe 0x44ab13
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
cmp ecx, 0x6e
jne 0x44ab11
jmp 0x44ab56
jmp 0x44ab3f
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 8]
shr eax, 3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + edx + 4]
movzx eax, byte [edx + eax]
mov ecx, dword [ebp - 8]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x44ab3f
jmp 0x44ab56
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44a82f
cmp dword [ebp - 0x18], 2
jne 0x44ab61
jmp 0x445227
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xc9
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x44ab86
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x544], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 4]
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 0x544]
cmp ecx, dword [ebp - 0x548]
ja 0x44abc6
jmp 0x44abf3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x44abee
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44abc6
jmp 0x44ab61
jmp 0x44ad23
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x44ac15
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x44accb
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x44ac7f
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x44ac7d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x44ac5d
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x44ac7d
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x44ac7d
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x44accb
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 8]
shr edx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + ecx + 4]
movzx edx, byte [ecx + edx]
mov ecx, dword [ebp - 8]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
jne 0x44acb7
jmp 0x44accb
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44ac0c
cmp dword [ebp - 0x18], 2
jne 0x44acd6
jmp 0x445227
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + edx + 4]
jb 0x44ad23
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x18
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x44ad12
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44acd6
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 3
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 4], eax
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, dword [ebp - 4]
add eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
mov dword [ebp - 0x164], ecx
mov edx, dword [ebp - 0x164]
sub edx, 0x62
mov dword [ebp - 0x164], edx
cmp dword [ebp - 0x164], 0xb
ja case.default.0x44ada6
mov eax, dword [ebp - 0x164]
jmp dword [eax*4 + 0x462b70]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
sub eax, 0x62
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx*4 + 0x4b9540]
mov dword [eax + edx + 0x20], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx*4 + 0x4b956c]
mov dword [eax + edx + 0x20], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx*4 + 0x4b9598]
mov dword [ebp - 0x18], eax
jmp 0x44aee3
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, 4
imul edx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], ecx
mov ecx, 1
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, 4
shl ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0
jne 0x44ae9c
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 0xffffffff
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
mov edx, dword [ecx*4 + 0x4b9410]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x44aee3
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 1
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 1
mov dword [ebp - 0x10], 1
jmp 0x44aef5
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x44b1d2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x44af69
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x44af5d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x44af3d
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x44af5d
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x44af5d
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x44b19d
cmp dword [ebp - 8], 0xc0
jb 0x44b19d
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x44afd1
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44b19d
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x44b021
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44b19d
mov edx, dword [ebp - 8]
and edx, 8
jne 0x44b08a
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44b19d
mov edx, dword [ebp - 8]
and edx, 4
jne 0x44b10d
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44b19d
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x14]
push edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 4]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.0047ad90
add esp, 0xc
test eax, eax
jne 0x44b1cd
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44aeec
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov edx, dword [ecx + edx + 0x20]
cmp edx, dword [esi + eax + 0x20]
jne 0x44b1f7
jmp 0x445227
cmp dword [ebp - 0x18], 0
jne 0x44b555
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x64
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x44b226
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x54c], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x550], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x54c]
cmp ecx, dword [ebp - 0x550]
jb 0x44b28b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44b2e7
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44b2db
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44b2bb
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44b2db
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44b2db
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x44b51b
cmp dword [ebp - 8], 0xc0
jb 0x44b51b
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44b34f
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44b51b
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x44b39f
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44b51b
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44b408
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44b51b
mov eax, dword [ebp - 8]
and eax, 4
jne 0x44b48b
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44b51b
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 4]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.0047ad90
add esp, 0xc
test eax, eax
jne 0x44b54b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44b201
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov dword [ecx + eax + 4], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x44b587
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x44b890
mov dword [ebp - 0xa4], 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44b5fe
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44b5f9
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44b5d9
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44b5f9
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44b5f9
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x44b890
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], 0
je 0x44b853
cmp dword [ebp - 8], 0xc0
jb 0x44b853
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44b660
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xa4]
add edx, 1
mov dword [ebp - 0xa4], edx
jmp 0x44b853
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44b6b8
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xa4]
add ecx, 2
mov dword [ebp - 0xa4], ecx
jmp 0x44b853
mov edx, dword [ebp - 8]
and edx, 8
jne 0x44b72a
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xa4]
add eax, 3
mov dword [ebp - 0xa4], eax
jmp 0x44b853
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44b7ba
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xa4]
add ecx, 4
mov dword [ebp - 0xa4], ecx
jmp 0x44b853
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 5
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xa4]
add ecx, 5
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 4]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.0047ad90
add esp, 0xc
test eax, eax
jne 0x44b879
jmp 0x44b890
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44b57e
cmp dword [ebp - 0x18], 2
jne 0x44b89b
jmp 0x445227
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x65
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x44b8c0
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov dword [ebp - 0x554], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 4]
mov dword [ebp - 0x558], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x554]
cmp edx, dword [ebp - 0x558]
ja 0x44b900
jmp 0x44b933
cmp dword [ebp - 0x14], 0
je 0x44b92e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x44b92e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44b906
jmp 0x44b89b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44b99b
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44b98f
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44b96f
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44b98f
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44b98f
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x44bbcf
cmp dword [ebp - 8], 0xc0
jb 0x44bbcf
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44ba03
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44bbcf
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44ba53
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44bbcf
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x44babc
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44bbcf
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44bb3f
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44bbcf
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 8], 0xff
ja 0x44bbf6
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 8
je 0x44bbf6
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44bc64
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44bc58
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44bc38
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44bc58
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44bc58
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x44be98
cmp dword [ebp - 8], 0xc0
jb 0x44be98
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44bccc
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44be98
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x44bd1c
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44be98
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44bd85
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44be98
mov eax, dword [ebp - 8]
and eax, 4
jne 0x44be08
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44be98
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 8], 0xff
ja 0x44beb3
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
and eax, 8
jne 0x44bebf
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x44bf2d
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x44bf21
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x44bf01
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x44bf21
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x44bf21
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x44c161
cmp dword [ebp - 8], 0xc0
jb 0x44c161
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x44bf95
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44c161
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x44bfe5
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44c161
mov edx, dword [ebp - 8]
and edx, 8
jne 0x44c04e
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44c161
mov edx, dword [ebp - 8]
and edx, 4
jne 0x44c0d1
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44c161
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 8], 0xff
ja 0x44c188
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 8]
movzx edx, byte [eax + ecx]
and edx, 1
je 0x44c188
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44c1f6
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44c1ea
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44c1ca
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44c1ea
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44c1ea
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x44c42a
cmp dword [ebp - 8], 0xc0
jb 0x44c42a
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44c25e
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44c42a
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44c2ae
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44c42a
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x44c317
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44c42a
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44c39a
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44c42a
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 8], 0xff
ja 0x44c445
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 1
jne 0x44c451
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44c4bf
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44c4b3
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44c493
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44c4b3
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44c4b3
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x44c6f3
cmp dword [ebp - 8], 0xc0
jb 0x44c6f3
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44c527
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44c6f3
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x44c577
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44c6f3
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44c5e0
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44c6f3
mov eax, dword [ebp - 8]
and eax, 4
jne 0x44c663
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44c6f3
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 8], 0xff
ja 0x44c71a
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
and eax, 0x10
je 0x44c71a
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x44c788
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x44c77c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x44c75c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x44c77c
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x44c77c
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x44c9bc
cmp dword [ebp - 8], 0xc0
jb 0x44c9bc
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x44c7f0
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44c9bc
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x44c840
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44c9bc
mov edx, dword [ebp - 8]
and edx, 8
jne 0x44c8a9
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44c9bc
mov edx, dword [ebp - 8]
and edx, 4
jne 0x44c92c
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44c9bc
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 8], 0xff
ja 0x44c9d7
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 8]
movzx edx, byte [eax + ecx]
and edx, 0x10
jne 0x44c9e3
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44ca51
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44ca45
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44ca25
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44ca45
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44ca45
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x44cc85
cmp dword [ebp - 8], 0xc0
jb 0x44cc85
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44cab9
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44cc85
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44cb09
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44cc85
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x44cb72
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44cc85
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44cbf5
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44cc85
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0x85
ja 0x44cccf
cmp dword [ebp - 0x110], 0x85
je case.0x44ccc8.1
mov edx, dword [ebp - 0x110]
sub edx, 0xa
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 3
ja case.default.0x44ccc8
mov eax, dword [ebp - 0x110]
jmp dword [eax*4 + 0x462ba0]
cmp dword [ebp - 0x110], 0x2028
je case.0x44ccc8.1
cmp dword [ebp - 0x110], 0x2029
je case.0x44ccc8.1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x44cd49
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x44cd47
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x44cd27
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x44cd47
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x44cd47
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x44cd66
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x44cd66
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44cd82
jmp 0x44cd82
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3e]
cmp edx, 2
jne 0x44cd82
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44cdf0
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44cde4
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44cdc4
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44cde4
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44cde4
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x44d024
cmp dword [ebp - 8], 0xc0
jb 0x44d024
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44ce58
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44d024
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44cea8
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44d024
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x44cf11
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44d024
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44cf94
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44d024
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0x70], 0x2000
ja 0x44d070
cmp dword [ebp - 0x70], 0x2000
je case.0x44d09e.0
cmp dword [ebp - 0x70], 0xa0
ja 0x44d05c
cmp dword [ebp - 0x70], 0xa0
je case.0x44d09e.0
cmp dword [ebp - 0x70], 9
je case.0x44d09e.0
cmp dword [ebp - 0x70], 0x20
je case.0x44d09e.0
jmp case.0x44d09e.10
cmp dword [ebp - 0x70], 0x1680
je case.0x44d09e.0
cmp dword [ebp - 0x70], 0x180e
je case.0x44d09e.0
jmp case.0x44d09e.10
cmp dword [ebp - 0x70], 0x3000
ja 0x44d0a5
cmp dword [ebp - 0x70], 0x3000
je case.0x44d09e.0
mov edx, dword [ebp - 0x70]
sub edx, 0x2001
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0x5e
ja case.0x44d09e.10
mov eax, dword [ebp - 0x70]
movzx ecx, byte [eax + 0x462bb8]
jmp dword [ecx*4 + 0x462bb0]
jmp case.0x44d09e.10
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44d121
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44d115
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44d0f5
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44d115
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44d115
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x44d355
cmp dword [ebp - 8], 0xc0
jb 0x44d355
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44d189
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44d355
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x44d1d9
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44d355
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44d242
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44d355
mov eax, dword [ebp - 8]
and eax, 4
jne 0x44d2c5
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44d355
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0x2000
ja 0x44d3a1
cmp dword [ebp - 0x74], 0x2000
je case.0x44d3cf.0
cmp dword [ebp - 0x74], 0xa0
ja 0x44d38d
cmp dword [ebp - 0x74], 0xa0
je case.0x44d3cf.0
cmp dword [ebp - 0x74], 9
je case.0x44d3cf.0
cmp dword [ebp - 0x74], 0x20
je case.0x44d3cf.0
jmp case.0x44d3cf.10
cmp dword [ebp - 0x74], 0x1680
je case.0x44d3cf.0
cmp dword [ebp - 0x74], 0x180e
je case.0x44d3cf.0
jmp case.0x44d3cf.10
cmp dword [ebp - 0x74], 0x3000
ja 0x44d3d6
cmp dword [ebp - 0x74], 0x3000
je case.0x44d3cf.0
mov ecx, dword [ebp - 0x74]
sub ecx, 0x2001
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x74], 0x5e
ja case.0x44d3cf.10
mov edx, dword [ebp - 0x74]
movzx eax, byte [edx + 0x462c20]
jmp dword [eax*4 + 0x462c18]
jmp case.0x44d3cf.10
jmp 0x44d3e6
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x44d454
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x44d448
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x44d428
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x44d448
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x44d448
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x44d688
cmp dword [ebp - 8], 0xc0
jb 0x44d688
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x44d4bc
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44d688
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x44d50c
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44d688
mov edx, dword [ebp - 8]
and edx, 8
jne 0x44d575
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44d688
mov edx, dword [ebp - 8]
and edx, 4
jne 0x44d5f8
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44d688
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 8]
mov dword [ebp - 0x114], edx
cmp dword [ebp - 0x114], 0x85
ja 0x44d6ce
cmp dword [ebp - 0x114], 0x85
je case.0x44d6c7.0
mov eax, dword [ebp - 0x114]
sub eax, 0xa
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 3
ja case.default.0x44d6c7
mov ecx, dword [ebp - 0x114]
jmp dword [ecx*4 + 0x462c80]
cmp dword [ebp - 0x114], 0x2028
je case.0x44d6c7.0
cmp dword [ebp - 0x114], 0x2029
je case.0x44d6c7.0
jmp case.default.0x44d6c7
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44d762
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44d756
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44d736
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44d756
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44d756
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x44d996
cmp dword [ebp - 8], 0xc0
jb 0x44d996
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44d7ca
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44d996
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x44d81a
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44d996
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44d883
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44d996
mov eax, dword [ebp - 8]
and eax, 4
jne 0x44d906
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44d996
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0x85
ja 0x44d9dc
cmp dword [ebp - 0x118], 0x85
je case.0x44d9d5.0
mov ecx, dword [ebp - 0x118]
sub ecx, 0xa
mov dword [ebp - 0x118], ecx
cmp dword [ebp - 0x118], 3
ja case.default.0x44d9d5
mov edx, dword [ebp - 0x118]
jmp dword [edx*4 + 0x462c90]
cmp dword [ebp - 0x118], 0x2028
je case.0x44d9d5.0
cmp dword [ebp - 0x118], 0x2029
je case.0x44d9d5.0
jmp case.default.0x44d9d5
jmp 0x44da04
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44da72
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44da66
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44da46
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44da66
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44da66
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x44dca6
cmp dword [ebp - 8], 0xc0
jb 0x44dca6
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44dada
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44dca6
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44db2a
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44dca6
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x44db93
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44dca6
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44dc16
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44dca6
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x44dccd
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
add ecx, 0x4be1a8
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
cmp eax, 0xf
jne 0x44dcfe
mov dword [ebp - 0x27c], 1
jmp 0x44dd08
mov dword [ebp - 0x27c], 0
mov ecx, dword [ebp - 0x27c]
mov dword [ebp - 0x64], ecx
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
mov dword [ebp - 0x280], edx
cmp dword [ebp - 0x280], 0xd
ja case.default.0x44dd3b
mov eax, dword [ebp - 0x280]
jmp dword [eax*4 + 0x462ca0]
cmp dword [ebp - 0x64], 0
je 0x44dd54
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov ecx, dword [ebp - 0xac]
movzx edx, byte [ecx + 1]
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 9
je 0x44dd90
cmp dword [ebp - 0xa8], 5
je 0x44dd90
cmp dword [ebp - 0xa8], 8
je 0x44dd90
mov dword [ebp - 0x284], 0
jmp 0x44dd9a
mov dword [ebp - 0x284], 1
mov eax, dword [ebp - 0x284]
cmp eax, dword [ebp - 0x64]
jne 0x44ddb1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
mov edx, dword [ebp - 0xac]
movzx eax, byte [edx + 1]
cmp ecx, dword [eax*4 + 0x4bbc58]
jne 0x44dde5
mov dword [ebp - 0x288], 1
jmp 0x44ddef
mov dword [ebp - 0x288], 0
mov ecx, dword [ebp - 0x288]
cmp ecx, dword [ebp - 0x64]
jne 0x44de06
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
mov eax, dword [ebp - 0xac]
movzx ecx, byte [eax + 1]
cmp edx, ecx
jne 0x44de35
mov dword [ebp - 0x28c], 1
jmp 0x44de3f
mov dword [ebp - 0x28c], 0
mov edx, dword [ebp - 0x28c]
cmp edx, dword [ebp - 0x64]
jne 0x44de56
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
mov ecx, dword [ebp - 0xac]
movzx edx, byte [ecx]
cmp eax, edx
jne 0x44de84
mov dword [ebp - 0x290], 1
jmp 0x44de8e
mov dword [ebp - 0x290], 0
mov eax, dword [ebp - 0x290]
cmp eax, dword [ebp - 0x64]
jne 0x44dea5
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
mov edx, dword [ebp - 0xac]
movzx eax, byte [edx]
cmp ecx, eax
je 0x44df2e
mov ecx, dword [ebp - 0xac]
movzx esi, word [ecx + 8]
and esi, 0x3ff
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, byte [ecx + edx]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx]
mov ecx, edx
and ecx, 0x8000001f
jns 0x44df12
dec ecx
or ecx, 0xffffffe0
inc ecx
mov edx, 1
shl edx, cl
and edx, dword [eax + esi*4 + 0x4bdeb0]
jne 0x44df2e
mov dword [ebp - 0x294], 0
jmp 0x44df38
mov dword [ebp - 0x294], 1
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x55c]
cmp ecx, dword [ebp - 0x64]
jne 0x44df5b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov edx, dword [ebp - 0xac]
movzx eax, byte [edx + 1]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xa8]
cmp dword [ecx*4 + 0x4bbc58], 1
je 0x44df9c
mov edx, dword [ebp - 0xa8]
cmp dword [edx*4 + 0x4bbc58], 3
je 0x44df9c
mov dword [ebp - 0x298], 0
jmp 0x44dfa6
mov dword [ebp - 0x298], 1
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0x64]
jne 0x44dfbd
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], 0x20
ja 0x44dff5
cmp dword [ebp - 0x38], 0x20
je case.0x44e066.0
mov edx, dword [ebp - 0x38]
sub edx, 9
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 4
ja case.0x44e066.10
mov eax, dword [ebp - 0x38]
jmp dword [eax*4 + 0x462cd8]
cmp dword [ebp - 0x38], 0x2000
ja 0x44e038
cmp dword [ebp - 0x38], 0x2000
je case.0x44e066.0
cmp dword [ebp - 0x38], 0x1680
ja 0x44e02d
cmp dword [ebp - 0x38], 0x1680
je case.0x44e066.0
cmp dword [ebp - 0x38], 0x85
je case.0x44e066.0
cmp dword [ebp - 0x38], 0xa0
je case.0x44e066.0
jmp case.0x44e066.10
cmp dword [ebp - 0x38], 0x180e
je case.0x44e066.0
jmp case.0x44e066.10
cmp dword [ebp - 0x38], 0x3000
ja 0x44e06d
cmp dword [ebp - 0x38], 0x3000
je case.0x44e066.0
mov ecx, dword [ebp - 0x38]
sub ecx, 0x2001
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], 0x5e
ja case.0x44e066.10
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 0x462cf4]
jmp dword [eax*4 + 0x462cec]
jmp case.0x44e066.10
cmp dword [ebp - 0x64], 0
je 0x44e081
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e0c4
mov ecx, dword [ebp - 0xac]
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4bbc58], 6
jne 0x44e0a3
mov dword [ebp - 0x29c], 1
jmp 0x44e0ad
mov dword [ebp - 0x29c], 0
mov eax, dword [ebp - 0x29c]
cmp eax, dword [ebp - 0x64]
jne 0x44e0c4
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov ecx, dword [ebp - 0xac]
movzx edx, byte [ecx + 1]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xa8]
cmp dword [eax*4 + 0x4bbc58], 1
je 0x44e117
mov ecx, dword [ebp - 0xa8]
cmp dword [ecx*4 + 0x4bbc58], 3
je 0x44e117
cmp dword [ebp - 0xa8], 0xc
je 0x44e117
cmp dword [ebp - 0xa8], 0x10
je 0x44e117
mov dword [ebp - 0x2a0], 0
jmp 0x44e121
mov dword [ebp - 0x2a0], 1
mov edx, dword [ebp - 0x2a0]
cmp edx, dword [ebp - 0x64]
jne 0x44e138
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
lea ecx, [eax*4 + 0x4bdbd8]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 8]
cmp eax, dword [edx]
jae 0x44e17d
cmp dword [ebp - 0x64], 0
je 0x44e171
jmp 0x44e1c9
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x560], ecx
mov edx, dword [ebp - 0x168]
mov eax, dword [edx]
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0x168]
add ecx, 4
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x560]
cmp edx, dword [ebp - 0x564]
jne 0x44e1c7
cmp dword [ebp - 0x64], 0
je 0x44e1c5
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e1c9
jmp 0x44e15a
jmp 0x44e31e
cmp dword [ebp - 8], 0x24
je 0x44e207
cmp dword [ebp - 8], 0x40
je 0x44e207
cmp dword [ebp - 8], 0x60
je 0x44e207
cmp dword [ebp - 8], 0xa0
jb 0x44e1f2
cmp dword [ebp - 8], 0xd7ff
jbe 0x44e207
cmp dword [ebp - 8], 0xe000
jae 0x44e207
mov dword [ebp - 0x2a4], 0
jmp 0x44e211
mov dword [ebp - 0x2a4], 1
mov eax, dword [ebp - 0x2a4]
cmp eax, dword [ebp - 0x64]
jne 0x44e228
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov ecx, dword [ebp - 0xac]
movzx edx, word [ecx + 8]
sar edx, 0xb
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
cmp edx, eax
jne 0x44e25a
mov dword [ebp - 0x2a8], 1
jmp 0x44e264
mov dword [ebp - 0x2a8], 0
mov ecx, dword [ebp - 0x2a8]
cmp ecx, dword [ebp - 0x64]
jne 0x44e27b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov edx, dword [ebp - 0xac]
movzx esi, word [edx + 0xa]
and esi, 0xfff
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
and ecx, 0x8000001f
jns 0x44e2c9
dec ecx
or ecx, 0xffffffe0
inc ecx
mov edx, 1
shl edx, cl
and edx, dword [eax + esi*4 + 0x4bd650]
je 0x44e2e5
mov dword [ebp - 0x2ac], 1
jmp 0x44e2ef
mov dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
cmp ecx, dword [ebp - 0x64]
jne 0x44e312
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44e31e
mov eax, 0xffffffd4
jmp 0x46288e
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44e391
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44e380
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44e360
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44e380
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44e380
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x44e5c5
cmp dword [ebp - 8], 0xc0
jb 0x44e5c5
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44e3f9
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44e5c5
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x44e449
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44e5c5
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44e4b2
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44e5c5
mov eax, dword [ebp - 8]
and eax, 4
jne 0x44e535
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44e5c5
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
push 0
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x54]
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x4c]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00479f00
add esp, 0x18
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44e642
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44e642
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44e622
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44e642
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44e642
mov eax, 0xfffffffe
jmp 0x46288e
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov dword [ebp - 0x2b0], eax
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x2b0]
mov dword [eax + edx + 0x20], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x2b0]
mov dword [ecx + eax + 0x20], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x44e8b7
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, 4
shl edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x44e71d
mov dword [ebp - 0x2b4], 0
jmp 0x44e727
mov dword [ebp - 0x2b4], 1
mov edx, dword [ebp - 0x2b4]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x44e8b7
mov dword [ebp - 0x18], 2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 0xffffffff
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x44e8b7
mov dword [ebp - 0x18], 2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 1
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0xffffffff
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x44e8b7
mov dword [ebp - 0x18], 2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x44e8b7
mov dword [ebp - 0x18], 2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, 4
shl edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x44e8b7
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
sub ecx, 0x55
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov edx, dword [edx*4 + 0x4b9540]
mov dword [ecx + eax + 0x20], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov edx, dword [edx*4 + 0x4b956c]
mov dword [ecx + eax + 0x20], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax*4 + 0x4b9598]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov ecx, 4
shl ecx, 1
movzx edx, byte [eax]
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0x10
je 0x44e8fc
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0xf
jne 0x44e93d
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov ecx, 4
imul edx, ecx, 3
movzx eax, byte [eax]
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x44e947
mov dword [ebp - 0x140], 0xffffffff
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0
jbe 0x4540c1
cmp dword [ebp - 0x140], 0
jl 0x451530
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xf
jne 0x44e987
mov dword [ebp - 0x2b8], 1
jmp 0x44e991
mov dword [ebp - 0x2b8], 0
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x2bc], edx
cmp dword [ebp - 0x2bc], 0xd
ja case.default.0x44e9b9
mov eax, dword [ebp - 0x2bc]
jmp dword [eax*4 + 0x462d54]
cmp dword [ebp - 0x68], 0
je 0x44e9d2
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov dword [ebp - 0x10], 1
jmp 0x44e9e4
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x44ec91
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44ea58
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44ea4c
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44ea2c
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44ea4c
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44ea4c
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x44ec8c
cmp dword [ebp - 8], 0xc0
jb 0x44ec8c
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44eac0
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44ec8c
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44eb10
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44ec8c
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x44eb79
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44ec8c
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44ebfc
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44ec8c
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44e9db
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x44eca8
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x44efde
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44ed1c
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44ed10
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44ecf0
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44ed10
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44ed10
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x44ef50
cmp dword [ebp - 8], 0xc0
jb 0x44ef50
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44ed84
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44ef50
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44edd4
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44ef50
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x44ee3d
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44ef50
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44eec0
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44ef50
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x44ef77
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
mov dword [ebp - 0x1e0], edx
cmp dword [ebp - 0x1e0], 9
je 0x44efb8
cmp dword [ebp - 0x1e0], 5
je 0x44efb8
cmp dword [ebp - 0x1e0], 8
je 0x44efb8
mov dword [ebp - 0x2c0], 0
jmp 0x44efc2
mov dword [ebp - 0x2c0], 1
mov eax, dword [ebp - 0x2c0]
cmp eax, dword [ebp - 0x68]
jne 0x44efd9
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44ec9f
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x44eff5
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x44f322
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44f069
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44f05d
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44f03d
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44f05d
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44f05d
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x44f29d
cmp dword [ebp - 8], 0xc0
jb 0x44f29d
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44f0d1
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44f29d
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44f121
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44f29d
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x44f18a
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44f29d
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44f20d
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44f29d
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x44f2c4
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov edx, dword [edx*4 + 0x4bbc58]
cmp edx, dword [eax + ecx + 0x20]
jne 0x44f2fc
mov dword [ebp - 0x2c4], 1
jmp 0x44f306
mov dword [ebp - 0x2c4], 0
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x68]
jne 0x44f31d
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44efec
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x44f339
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x44f65f
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x44f3ad
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x44f3a1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x44f381
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x44f3a1
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x44f3a1
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x44f5e1
cmp dword [ebp - 8], 0xc0
jb 0x44f5e1
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x44f415
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44f5e1
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x44f465
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44f5e1
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x44f4ce
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44f5e1
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x44f551
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44f5e1
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x44f608
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 4]
cmp edx, dword [eax + ecx + 0x20]
jne 0x44f639
mov dword [ebp - 0x2c8], 1
jmp 0x44f643
mov dword [ebp - 0x2c8], 0
mov ecx, dword [ebp - 0x2c8]
cmp ecx, dword [ebp - 0x68]
jne 0x44f65a
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44f330
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x44f676
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x44f99b
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x44f6ea
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x44f6de
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x44f6be
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x44f6de
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x44f6de
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x44f91e
cmp dword [ebp - 8], 0xc0
jb 0x44f91e
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x44f752
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x44f91e
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x44f7a2
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44f91e
mov edx, dword [ebp - 8]
and edx, 8
jne 0x44f80b
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44f91e
mov edx, dword [ebp - 8]
and edx, 4
jne 0x44f88e
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44f91e
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x44f944
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
movzx eax, byte [edx + 0x4be1a8]
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + edx + 0x20]
jne 0x44f975
mov dword [ebp - 0x2cc], 1
jmp 0x44f97f
mov dword [ebp - 0x2cc], 0
mov edx, dword [ebp - 0x2cc]
cmp edx, dword [ebp - 0x68]
jne 0x44f996
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44f66d
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x44f9b2
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x44fd40
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44fa26
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44fa1a
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44f9fa
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44fa1a
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44fa1a
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x44fc5a
cmp dword [ebp - 8], 0xc0
jb 0x44fc5a
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44fa8e
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44fc5a
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x44fade
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44fc5a
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44fb47
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44fc5a
mov eax, dword [ebp - 8]
and eax, 4
jne 0x44fbca
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44fc5a
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, word [eax*2 + 0x4c2460]
shl eax, 7
mov ecx, dword [ebp - 8]
and ecx, 0x8000007f
jns 0x44fc81
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x4c6860]
imul eax, edx, 0xc
add eax, 0x4be1a8
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x2d0]
movzx edx, byte [ecx]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 4]
cmp edx, dword [eax + ecx + 0x20]
je 0x44fd0e
mov ecx, dword [ebp - 0x2d0]
movzx esi, word [ecx + 8]
and esi, 0x3ff
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp - 4]
mov edi, dword [ecx + eax + 0x20]
shr edi, 5
shl edi, 2
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax + 0x20]
xor edx, edx
mov ecx, 0x20
div ecx
mov eax, 1
mov ecx, edx
shl eax, cl
and eax, dword [edi + esi*4 + 0x4bdeb0]
jne 0x44fd0e
mov dword [ebp - 0x2d4], 0
jmp 0x44fd18
mov dword [ebp - 0x2d4], 1
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x56c], ecx
mov edx, dword [ebp - 0x56c]
cmp edx, dword [ebp - 0x68]
jne 0x44fd3b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44f9a9
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x44fd57
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x45008b
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x44fdcb
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x44fdbf
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x44fd9f
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x44fdbf
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x44fdbf
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x44ffff
cmp dword [ebp - 8], 0xc0
jb 0x44ffff
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x44fe33
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44ffff
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x44fe83
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44ffff
mov eax, dword [ebp - 8]
and eax, 8
jne 0x44feec
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44ffff
mov eax, dword [ebp - 8]
and eax, 4
jne 0x44ff6f
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x44ffff
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, word [eax*2 + 0x4c2460]
shl eax, 7
mov ecx, dword [ebp - 8]
and ecx, 0x8000007f
jns 0x450026
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x4c6860]
imul eax, edx, 0xc
movzx ecx, byte [eax + 0x4be1a9]
mov edx, dword [ecx*4 + 0x4bbc58]
mov dword [ebp - 0x2d8], edx
cmp dword [ebp - 0x2d8], 1
je 0x450065
cmp dword [ebp - 0x2d8], 3
je 0x450065
mov dword [ebp - 0x2dc], 0
jmp 0x45006f
mov dword [ebp - 0x2dc], 1
mov eax, dword [ebp - 0x2dc]
cmp eax, dword [ebp - 0x68]
jne 0x450086
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x44fd4e
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x4500a2
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x450482
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x450116
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x45010a
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x4500ea
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x45010a
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x45010a
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x45034a
cmp dword [ebp - 8], 0xc0
jb 0x45034a
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x45017e
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45034a
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x4501ce
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45034a
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x450237
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45034a
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x4502ba
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45034a
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], 0x20
ja 0x45037d
cmp dword [ebp - 0x3c], 0x20
je case.0x4503ee.0
mov edx, dword [ebp - 0x3c]
sub edx, 9
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 4
ja case.0x4503ee.10
mov eax, dword [ebp - 0x3c]
jmp dword [eax*4 + 0x462d8c]
cmp dword [ebp - 0x3c], 0x2000
ja 0x4503c0
cmp dword [ebp - 0x3c], 0x2000
je case.0x4503ee.0
cmp dword [ebp - 0x3c], 0x1680
ja 0x4503b5
cmp dword [ebp - 0x3c], 0x1680
je case.0x4503ee.0
cmp dword [ebp - 0x3c], 0x85
je case.0x4503ee.0
cmp dword [ebp - 0x3c], 0xa0
je case.0x4503ee.0
jmp case.0x4503ee.10
cmp dword [ebp - 0x3c], 0x180e
je case.0x4503ee.0
jmp case.0x4503ee.10
cmp dword [ebp - 0x3c], 0x3000
ja 0x4503f5
cmp dword [ebp - 0x3c], 0x3000
je case.0x4503ee.0
mov ecx, dword [ebp - 0x3c]
sub ecx, 0x2001
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], 0x5e
ja case.0x4503ee.10
mov edx, dword [ebp - 0x3c]
movzx eax, byte [edx + 0x462da8]
jmp dword [eax*4 + 0x462da0]
jmp case.0x4503ee.10
cmp dword [ebp - 0x68], 0
je 0x450409
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45047d
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x450432
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
cmp dword [edx*4 + 0x4bbc58], 6
jne 0x45045c
mov dword [ebp - 0x2e0], 1
jmp 0x450466
mov dword [ebp - 0x2e0], 0
mov eax, dword [ebp - 0x2e0]
cmp eax, dword [ebp - 0x68]
jne 0x45047d
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x450099
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x450499
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x4507eb
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x45050d
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x450501
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x4504e1
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x450501
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x450501
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x450741
cmp dword [ebp - 8], 0xc0
jb 0x450741
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x450575
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x450741
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x4505c5
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x450741
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45062e
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x450741
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x4506b1
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x450741
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x450768
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [eax*4 + 0x4bbc58]
mov dword [ebp - 0x2e4], ecx
cmp dword [ebp - 0x2e4], 1
je 0x4507c5
cmp dword [ebp - 0x2e4], 3
je 0x4507c5
cmp dword [ebp - 0x1e4], 0xc
je 0x4507c5
cmp dword [ebp - 0x1e4], 0x10
je 0x4507c5
mov dword [ebp - 0x2e8], 0
jmp 0x4507cf
mov dword [ebp - 0x2e8], 1
mov edx, dword [ebp - 0x2e8]
cmp edx, dword [ebp - 0x68]
jne 0x4507e6
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x450490
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x450802
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x450b36
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x450876
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45086a
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45084a
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45086a
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45086a
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x450aaa
cmp dword [ebp - 8], 0xc0
jb 0x450aaa
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x4508de
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x450aaa
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45092e
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x450aaa
mov eax, dword [ebp - 8]
and eax, 8
jne 0x450997
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x450aaa
mov eax, dword [ebp - 8]
and eax, 4
jne 0x450a1a
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x450aaa
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
lea ecx, [eax*4 + 0x4bdbd8]
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 8]
cmp eax, dword [edx]
jae 0x450ae7
cmp dword [ebp - 0x68], 0
je 0x450adb
jmp 0x450b31
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x570], ecx
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x16c]
add ecx, 4
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x570]
cmp edx, dword [ebp - 0x574]
jne 0x450b2f
cmp dword [ebp - 0x68], 0
je 0x450b2d
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x450b31
jmp 0x450ac6
jmp 0x4507f9
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x450b4d
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x450e54
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x450bc1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x450bb5
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x450b95
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x450bb5
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x450bb5
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x450df5
cmp dword [ebp - 8], 0xc0
jb 0x450df5
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x450c29
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x450df5
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x450c79
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x450df5
mov eax, dword [ebp - 8]
and eax, 8
jne 0x450ce2
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x450df5
mov eax, dword [ebp - 8]
and eax, 4
jne 0x450d65
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x450df5
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 8], 0x24
je 0x450e2e
cmp dword [ebp - 8], 0x40
je 0x450e2e
cmp dword [ebp - 8], 0x60
je 0x450e2e
cmp dword [ebp - 8], 0xa0
jb 0x450e19
cmp dword [ebp - 8], 0xd7ff
jbe 0x450e2e
cmp dword [ebp - 8], 0xe000
jae 0x450e2e
mov dword [ebp - 0x2ec], 0
jmp 0x450e38
mov dword [ebp - 0x2ec], 1
mov eax, dword [ebp - 0x2ec]
cmp eax, dword [ebp - 0x68]
jne 0x450e4f
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x450b44
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x450e6b
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x451194
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x450edf
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x450ed3
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x450eb3
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x450ed3
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x450ed3
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x451113
cmp dword [ebp - 8], 0xc0
jb 0x451113
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x450f47
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x451113
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x450f97
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x451113
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x451000
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x451113
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x451083
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x451113
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x45113a
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, word [ecx + 0x4be1b0]
sar edx, 0xb
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 4]
cmp edx, dword [eax + ecx + 0x20]
jne 0x45116e
mov dword [ebp - 0x2f0], 1
jmp 0x451178
mov dword [ebp - 0x2f0], 0
mov ecx, dword [ebp - 0x2f0]
cmp ecx, dword [ebp - 0x68]
jne 0x45118f
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x450e62
jmp 0x45152b
mov dword [ebp - 0x10], 1
jmp 0x4511ab
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x45151f
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45121f
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x451213
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x4511f3
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x451213
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x451213
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x451453
cmp dword [ebp - 8], 0xc0
jb 0x451453
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x451287
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x451453
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x4512d7
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x451453
mov edx, dword [ebp - 8]
and edx, 8
jne 0x451340
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x451453
mov edx, dword [ebp - 8]
and edx, 4
jne 0x4513c3
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x451453
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x451479
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
add edx, 0x4be1a8
mov dword [ebp - 0x578], edx
mov eax, dword [ebp - 0x578]
movzx esi, word [eax + 0xa]
and esi, 0xfff
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov edi, dword [eax + edx + 0x20]
shr edi, 5
shl edi, 2
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + edx + 0x20]
xor edx, edx
mov ecx, 0x20
div ecx
mov eax, 1
mov ecx, edx
shl eax, cl
and eax, dword [edi + esi*4 + 0x4bd650]
je 0x4514ed
mov dword [ebp - 0x2f4], 1
jmp 0x4514f7
mov dword [ebp - 0x2f4], 0
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x57c], ecx
mov edx, dword [ebp - 0x57c]
cmp edx, dword [ebp - 0x68]
jne 0x45151a
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x4511a2
jmp 0x45152b
mov eax, 0xffffffd4
jmp 0x46288e
jmp 0x4540c1
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0x16
jne 0x45188b
mov dword [ebp - 0x10], 1
jmp 0x451557
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x451886
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4515d0
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4515bf
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45159f
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x4515bf
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4515bf
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x451804
cmp dword [ebp - 8], 0xc0
jb 0x451804
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x451638
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x451804
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x451688
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x451804
mov edx, dword [ebp - 8]
and edx, 8
jne 0x4516f1
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x451804
mov edx, dword [ebp - 8]
and edx, 4
jne 0x451774
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x451804
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
push 0
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x4c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00479f00
add esp, 0x18
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x451881
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x451881
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x451861
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x451881
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x451881
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45154e
jmp 0x4540c1
cmp dword [ebp - 0x14], 0
je 0x453431
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x170]
sub edx, 6
mov dword [ebp - 0x170], edx
cmp dword [ebp - 0x170], 0xf
ja case.0x4518cb.9
mov eax, dword [ebp - 0x170]
jmp dword [eax*4 + 0x462e08]
mov dword [ebp - 0x10], 1
jmp 0x4518e4
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x451b22
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x451958
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x45194c
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x45192c
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x45194c
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x45194c
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
je 0x4519cb
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x4519b0
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0x1c]
add edx, 0x90
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x8c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x4519b0
mov dword [ebp - 0x2f8], 1
jmp 0x4519ba
mov dword [ebp - 0x2f8], 0
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x300], eax
jmp 0x451a51
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x54]
sub eax, dword [edx + 0x90]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
ja 0x451a3b
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + eax + 0x94]
cmp ecx, eax
jne 0x451a3b
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 1
je 0x451a2f
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax + 1]
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 0x1c]
movzx edx, byte [eax + edx + 0x94]
cmp ecx, edx
jne 0x451a3b
mov dword [ebp - 0x2fc], 1
jmp 0x451a45
mov dword [ebp - 0x2fc], 0
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x300], eax
cmp dword [ebp - 0x300], 0
je 0x451a66
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x451ada
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp + 0x1c]
cmp ecx, dword [edx + 0x54]
jb 0x451ada
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
jne 0x451ada
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 2
jne 0x451ada
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + eax + 0x94]
cmp ecx, eax
jne 0x451ada
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x451ada
mov eax, 0xfffffffe
jmp 0x46288e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x451b1d
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x451b1d
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x451ae9
jmp 0x4518db
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x451b39
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x451bf7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x451bad
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x451ba1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x451b81
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x451ba1
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x451ba1
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x451bf2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x451bf2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x451bbc
jmp 0x451b30
jmp 0x45342c
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov edx, dword [edx + 0x54]
sub edx, dword [eax + ecx + 0x20]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], edx
jbe 0x451c25
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp - 4]
add ecx, dword [eax + edx + 0x20]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x451c57
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x451fab
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x451ccb
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x451cbf
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x451c9f
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x451cbf
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x451cbf
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 8], 0xc0
jb 0x451ef5
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x451d29
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x451ef5
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x451d79
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x451ef5
mov eax, dword [ebp - 8]
and eax, 8
jne 0x451de2
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x451ef5
mov eax, dword [ebp - 8]
and eax, 4
jne 0x451e65
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x451ef5
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0x85
ja 0x451f3b
cmp dword [ebp - 0x11c], 0x85
je case.0x451f34.1
mov ecx, dword [ebp - 0x11c]
sub ecx, 0xa
mov dword [ebp - 0x11c], ecx
cmp dword [ebp - 0x11c], 3
ja case.default.0x451f34
mov edx, dword [ebp - 0x11c]
jmp dword [edx*4 + 0x462e48]
cmp dword [ebp - 0x11c], 0x2028
je case.0x451f34.1
cmp dword [ebp - 0x11c], 0x2029
je case.0x451f34.1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x451f8a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
cmp edx, 0xa
jne 0x451f8a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x451fa6
jmp 0x451fa6
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3e]
cmp ecx, 2
jne 0x451fa6
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x451c4e
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x451fc2
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x4522f3
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x452036
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45202a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45200a
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45202a
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45202a
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 8], 0xc0
jb 0x452260
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x452094
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x452260
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x4520e4
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x452260
mov edx, dword [ebp - 8]
and edx, 8
jne 0x45214d
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x452260
mov edx, dword [ebp - 8]
and edx, 4
jne 0x4521d0
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x452260
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 8]
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x78], 0x2000
ja 0x4522ac
cmp dword [ebp - 0x78], 0x2000
je case.0x4522d9.0
cmp dword [ebp - 0x78], 0xa0
ja 0x452298
cmp dword [ebp - 0x78], 0xa0
je case.0x4522d9.0
cmp dword [ebp - 0x78], 9
je case.0x4522d9.0
cmp dword [ebp - 0x78], 0x20
je case.0x4522d9.0
jmp case.0x4522d9.10
cmp dword [ebp - 0x78], 0x1680
je case.0x4522d9.0
cmp dword [ebp - 0x78], 0x180e
je case.0x4522d9.0
jmp case.0x4522d9.10
cmp dword [ebp - 0x78], 0x3000
ja 0x4522e0
cmp dword [ebp - 0x78], 0x3000
je case.0x4522d9.0
mov eax, dword [ebp - 0x78]
sub eax, 0x2001
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x5e
ja case.0x4522d9.10
mov ecx, dword [ebp - 0x78]
movzx edx, byte [ecx + 0x462e60]
jmp dword [edx*4 + 0x462e58]
jmp case.0x4522d9.10
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x451fb9
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x45230a
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x45263e
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x45237e
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x452372
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x452352
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x452372
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x452372
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 8], 0xc0
jb 0x4525a8
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x4523dc
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x4525a8
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45242c
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4525a8
mov eax, dword [ebp - 8]
and eax, 8
jne 0x452495
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4525a8
mov eax, dword [ebp - 8]
and eax, 4
jne 0x452518
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4525a8
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0x2000
ja 0x4525f4
cmp dword [ebp - 0x7c], 0x2000
je case.0x452622.0
cmp dword [ebp - 0x7c], 0xa0
ja 0x4525e0
cmp dword [ebp - 0x7c], 0xa0
je case.0x452622.0
cmp dword [ebp - 0x7c], 9
je case.0x452622.0
cmp dword [ebp - 0x7c], 0x20
je case.0x452622.0
jmp case.0x452622.10
cmp dword [ebp - 0x7c], 0x1680
je case.0x452622.0
cmp dword [ebp - 0x7c], 0x180e
je case.0x452622.0
jmp case.0x452622.10
cmp dword [ebp - 0x7c], 0x3000
ja 0x452629
cmp dword [ebp - 0x7c], 0x3000
je case.0x452622.0
mov ecx, dword [ebp - 0x7c]
sub ecx, 0x2001
mov dword [ebp - 0x7c], ecx
cmp dword [ebp - 0x7c], 0x5e
ja case.0x452622.10
mov edx, dword [ebp - 0x7c]
movzx eax, byte [edx + 0x462ec8]
jmp dword [eax*4 + 0x462ec0]
jmp case.0x452622.10
jmp 0x452639
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x452301
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x452655
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x452964
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4526c9
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4526bd
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x45269d
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x4526bd
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x4526bd
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 8], 0xc0
jb 0x4528f3
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x452727
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4528f3
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x452777
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4528f3
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x4527e0
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4528f3
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x452863
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4528f3
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x120], ecx
cmp dword [ebp - 0x120], 0x85
ja 0x452939
cmp dword [ebp - 0x120], 0x85
je case.0x452932.0
mov edx, dword [ebp - 0x120]
sub edx, 0xa
mov dword [ebp - 0x120], edx
cmp dword [ebp - 0x120], 3
ja case.default.0x452932
mov eax, dword [ebp - 0x120]
jmp dword [eax*4 + 0x462f28]
cmp dword [ebp - 0x120], 0x2028
je case.0x452932.0
cmp dword [ebp - 0x120], 0x2029
je case.0x452932.0
jmp case.default.0x452932
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45264c
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x45297b
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x452c8c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4529ef
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4529e3
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x4529c3
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x4529e3
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x4529e3
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 8], 0xc0
jb 0x452c19
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x452a4d
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x452c19
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x452a9d
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x452c19
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x452b06
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x452c19
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x452b89
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x452c19
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x124], 0x85
ja 0x452c5f
cmp dword [ebp - 0x124], 0x85
je case.0x452c58.0
mov edx, dword [ebp - 0x124]
sub edx, 0xa
mov dword [ebp - 0x124], edx
cmp dword [ebp - 0x124], 3
ja case.default.0x452c58
mov eax, dword [ebp - 0x124]
jmp dword [eax*4 + 0x462f38]
cmp dword [ebp - 0x124], 0x2028
je case.0x452c58.0
cmp dword [ebp - 0x124], 0x2029
je case.0x452c58.0
jmp case.default.0x452c58
jmp 0x452c87
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x452972
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x452ca3
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x452f6d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x452d17
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x452d0b
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x452ceb
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x452d0b
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x452d0b
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 8], 0xc0
jb 0x452f41
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x452d75
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x452f41
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x452dc5
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x452f41
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x452e2e
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x452f41
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x452eb1
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x452f41
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 8], 0x80
jae 0x452f68
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 8
je 0x452f68
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x452c9a
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x452f84
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x453048
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x452ff8
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x452fec
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x452fcc
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x452fec
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x452fec
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x304], 0x80
jae 0x453028
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x304]
movzx ecx, byte [edx + eax]
and ecx, 8
jne 0x453034
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x452f7b
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x45305f
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x453159
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4530d3
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4530c7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x4530a7
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x4530c7
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4530c7
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0x308], eax
cmp dword [ebp - 0x308], 0x80
jae 0x45310f
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x308]
movzx ecx, byte [edx + eax]
and ecx, 1
je 0x45310f
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jae 0x453154
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x453154
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45311e
jmp 0x453056
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x453170
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x453234
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4531e4
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4531d8
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x4531b8
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x4531d8
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4531d8
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 0x80
jae 0x453214
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x30c]
movzx ecx, byte [edx + eax]
and ecx, 1
jne 0x453220
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x453167
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x45324b
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x453345
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4532bf
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4532b3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x453293
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x4532b3
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4532b3
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x310], 0x80
jae 0x4532fb
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x310]
movzx ecx, byte [edx + eax]
and ecx, 0x10
je 0x4532fb
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jae 0x453340
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x453340
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45330a
jmp 0x453242
jmp 0x45342c
mov dword [ebp - 0x10], 1
jmp 0x45335c
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
ja 0x453420
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4533d0
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4533c4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x4533a4
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x4533c4
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4533c4
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0x314], eax
cmp dword [ebp - 0x314], 0x80
jae 0x453400
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x314]
movzx ecx, byte [edx + eax]
and ecx, 0x10
jne 0x45340c
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x453353
jmp 0x45342c
mov eax, 0xffffffd4
jmp 0x46288e
jmp 0x4540c1
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x174]
sub edx, 6
mov dword [ebp - 0x174], edx
cmp dword [ebp - 0x174], 0xf
ja case.0x453467.8
mov eax, dword [ebp - 0x174]
jmp dword [eax*4 + 0x462f48]
mov dword [ebp - 0x10], 1
jmp 0x453480
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x45368a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4534f4
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4534e8
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x4534c8
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x4534e8
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x4534e8
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
je 0x453567
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x45354c
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0x1c]
add edx, 0x90
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x8c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x45354c
mov dword [ebp - 0x318], 1
jmp 0x453556
mov dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0x320], eax
jmp 0x4535ed
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x54]
sub eax, dword [edx + 0x90]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
ja 0x4535d7
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + eax + 0x94]
cmp ecx, eax
jne 0x4535d7
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 1
je 0x4535cb
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax + 1]
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 0x1c]
movzx edx, byte [eax + edx + 0x94]
cmp ecx, edx
jne 0x4535d7
mov dword [ebp - 0x31c], 1
jmp 0x4535e1
mov dword [ebp - 0x31c], 0
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x320], eax
cmp dword [ebp - 0x320], 0
je 0x453602
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x453676
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp + 0x1c]
cmp ecx, dword [edx + 0x54]
jb 0x453676
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
jne 0x453676
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 2
jne 0x453676
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + eax + 0x94]
cmp ecx, eax
jne 0x453676
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x453676
mov eax, 0xfffffffe
jmp 0x46288e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x453477
jmp 0x4540c1
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x54]
sub eax, dword [ecx + edx + 0x20]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
jbe 0x4536fa
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x4536ee
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x4536ce
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x4536ee
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x4536ee
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov ecx, dword [ebp - 4]
add edx, dword [ecx + eax + 0x20]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x45372c
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
ja 0x45384e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4537a0
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x453794
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x453774
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x453794
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x453794
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x580], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 0x580]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
sub ecx, 0xa
mov dword [ebp - 0x178], ecx
cmp dword [ebp - 0x178], 0x7b
ja case.0x4537ef.4
mov edx, dword [ebp - 0x178]
movzx eax, byte [edx + 0x462f98]
jmp dword [eax*4 + 0x462f88]
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x45382d
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x45382d
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x453849
jmp 0x453849
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3e]
cmp edx, 2
jne 0x453849
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x453723
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x453865
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x453934
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x4538d9
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x4538cd
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x4538ad
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x4538cd
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x4538cd
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x584], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x584]
mov dword [ebp - 0x1e8], edx
cmp dword [ebp - 0x1e8], 9
je 0x453923
cmp dword [ebp - 0x1e8], 0x20
je 0x453923
cmp dword [ebp - 0x1e8], 0xa0
je 0x453923
jmp 0x45392f
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45385c
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x45394b
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x453a18
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x4539bf
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x4539b3
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x453993
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x4539b3
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x4539b3
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x588], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x588]
mov dword [ebp - 0x1ec], edx
cmp dword [ebp - 0x1ec], 9
je 0x453a13
cmp dword [ebp - 0x1ec], 0x20
je 0x453a13
cmp dword [ebp - 0x1ec], 0xa0
je 0x453a13
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x453942
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x453a2f
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x453b0a
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x453aa3
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x453a97
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x453a77
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x453a97
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x453a97
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x58c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x58c]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x17c]
sub eax, 0xa
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0x7b
ja case.0x453af2.4
mov ecx, dword [ebp - 0x17c]
movzx edx, byte [ecx + 0x46301c]
jmp dword [edx*4 + 0x463014]
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x453a26
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x453b21
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x453bfc
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x453b95
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x453b89
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x453b69
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x453b89
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x453b89
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x590], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x590]
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x180]
sub eax, 0xa
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0x7b
ja case.0x453be4.4
mov ecx, dword [ebp - 0x180]
movzx edx, byte [ecx + 0x4630a0]
jmp dword [edx*4 + 0x463098]
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x453b18
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x453c13
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x453cc8
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x453c87
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x453c7b
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x453c5b
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x453c7b
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x453c7b
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, 1
test edx, edx
je 0x453cb4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx + edx]
and edx, 8
je 0x453cb4
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x453c0a
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x453cdf
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x453d8f
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x453d53
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x453d47
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x453d27
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x453d47
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x453d47
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
xor edx, edx
jne 0x453d6f
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx + edx]
and edx, 8
jne 0x453d7b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x453cd6
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x453da6
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x453e5b
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x453e1a
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x453e0e
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x453dee
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x453e0e
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x453e0e
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, 1
test edx, edx
je 0x453e47
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx + edx]
and edx, 1
je 0x453e47
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x453d9d
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x453e72
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x453f22
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x453ee6
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x453eda
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x453eba
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x453eda
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x453eda
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
xor edx, edx
jne 0x453f02
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx + edx]
and edx, 1
jne 0x453f0e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x453e69
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x453f39
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x453fee
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x453fad
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x453fa1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x453f81
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x453fa1
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x453fa1
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, 1
test edx, edx
je 0x453fda
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx + edx]
and edx, 0x10
je 0x453fda
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x453f30
jmp 0x4540c1
mov dword [ebp - 0x10], 1
jmp 0x454005
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x4540b5
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x454079
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45406d
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45404d
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45406d
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45406d
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
xor edx, edx
jne 0x454095
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
movzx edx, byte [ecx + edx]
and edx, 0x10
jne 0x4540a1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x453ffc
jmp 0x4540c1
mov eax, 0xffffffd4
jmp 0x46288e
mov eax, 4
imul ecx, eax, 0
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov ecx, dword [eax + ecx + 0x20]
cmp ecx, dword [esi + edx + 0x20]
jne 0x4540e6
jmp 0x445227
cmp dword [ebp - 0x18], 0
jne 0x458545
cmp dword [ebp - 0x140], 0
jl 0x457334
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x324], edx
cmp dword [ebp - 0x324], 0xd
ja case.default.0x45411c
mov eax, dword [ebp - 0x324]
jmp dword [eax*4 + 0x46311c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xd0
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x454148
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x594], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x598], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
add eax, 1
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 0x594]
cmp edx, dword [ebp - 0x598]
jb 0x4541ad
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x454209
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4541fd
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x4541dd
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x4541fd
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x4541fd
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x45443d
cmp dword [ebp - 8], 0xc0
jb 0x45443d
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x454271
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45443d
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x4542c1
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45443d
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45432a
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45443d
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x4543ad
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45443d
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0xf
jne 0x45445a
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xd1
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x454484
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x59c], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x5a0], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x59c]
cmp ecx, dword [ebp - 0x5a0]
jb 0x4544e9
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x454545
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x454539
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x454519
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x454539
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x454539
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x454779
cmp dword [ebp - 8], 0xc0
jb 0x454779
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x4545ad
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x454779
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x4545fd
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x454779
mov eax, dword [ebp - 8]
and eax, 8
jne 0x454666
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x454779
mov eax, dword [ebp - 8]
and eax, 4
jne 0x4546e9
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x454779
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, word [eax*2 + 0x4c2460]
shl eax, 7
mov ecx, dword [ebp - 8]
and ecx, 0x8000007f
jns 0x4547a0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x4c6860]
imul eax, edx, 0xc
movzx ecx, byte [eax + 0x4be1a9]
mov dword [ebp - 0x1f0], ecx
cmp dword [ebp - 0x1f0], 9
je 0x4547e1
cmp dword [ebp - 0x1f0], 5
je 0x4547e1
cmp dword [ebp - 0x1f0], 8
je 0x4547e1
mov dword [ebp - 0x328], 0
jmp 0x4547eb
mov dword [ebp - 0x328], 1
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xf
jne 0x454808
mov dword [ebp - 0x32c], 1
jmp 0x454812
mov dword [ebp - 0x32c], 0
mov ecx, dword [ebp - 0x328]
cmp ecx, dword [ebp - 0x32c]
jne 0x45482c
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.1
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xd2
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x454856
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5a4], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5a8], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 0x5a4]
cmp eax, dword [ebp - 0x5a8]
jb 0x4548bb
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x454917
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45490b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x4548eb
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45490b
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45490b
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x454b4b
cmp dword [ebp - 8], 0xc0
jb 0x454b4b
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45497f
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x454b4b
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x4549cf
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x454b4b
mov edx, dword [ebp - 8]
and edx, 8
jne 0x454a38
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x454b4b
mov edx, dword [ebp - 8]
and edx, 4
jne 0x454abb
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x454b4b
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x454b71
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
movzx eax, byte [edx + 0x4be1a9]
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov eax, dword [eax*4 + 0x4bbc58]
cmp eax, dword [ecx + edx + 0x20]
jne 0x454ba9
mov dword [ebp - 0x330], 1
jmp 0x454bb3
mov dword [ebp - 0x330], 0
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0xf
jne 0x454bd0
mov dword [ebp - 0x334], 1
jmp 0x454bda
mov dword [ebp - 0x334], 0
mov eax, dword [ebp - 0x330]
cmp eax, dword [ebp - 0x334]
jne 0x454bf4
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xd3
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x454c1e
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x5ac], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x5b0], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
add eax, 1
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 0x5ac]
cmp edx, dword [ebp - 0x5b0]
jb 0x454c83
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x454cdf
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x454cd3
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x454cb3
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x454cd3
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x454cd3
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x454f13
cmp dword [ebp - 8], 0xc0
jb 0x454f13
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x454d47
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x454f13
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x454d97
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x454f13
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x454e00
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x454f13
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x454e83
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x454f13
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x454f3a
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 4]
cmp edx, dword [eax + ecx + 0x20]
jne 0x454f6b
mov dword [ebp - 0x338], 1
jmp 0x454f75
mov dword [ebp - 0x338], 0
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0xf
jne 0x454f92
mov dword [ebp - 0x33c], 1
jmp 0x454f9c
mov dword [ebp - 0x33c], 0
mov eax, dword [ebp - 0x338]
cmp eax, dword [ebp - 0x33c]
jne 0x454fb6
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xd4
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x454fe0
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x5b4], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x5b8], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
add eax, 1
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 0x5b4]
cmp edx, dword [ebp - 0x5b8]
jb 0x455045
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4550a1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x455095
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x455075
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x455095
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x455095
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x4552d5
cmp dword [ebp - 8], 0xc0
jb 0x4552d5
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x455109
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4552d5
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x455159
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4552d5
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x4551c2
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4552d5
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x455245
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4552d5
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x4552fc
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a8]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 4]
cmp edx, dword [eax + ecx + 0x20]
jne 0x45532d
mov dword [ebp - 0x340], 1
jmp 0x455337
mov dword [ebp - 0x340], 0
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0xf
jne 0x455354
mov dword [ebp - 0x344], 1
jmp 0x45535e
mov dword [ebp - 0x344], 0
mov eax, dword [ebp - 0x340]
cmp eax, dword [ebp - 0x344]
jne 0x455378
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xe1
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x4553a2
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x5bc], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x5c0], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
add eax, 1
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 0x5bc]
cmp edx, dword [ebp - 0x5c0]
jb 0x455407
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x455463
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x455457
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x455437
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x455457
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x455457
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x455697
cmp dword [ebp - 8], 0xc0
jb 0x455697
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x4554cb
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x455697
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x45551b
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x455697
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x455584
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x455697
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x455607
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x455697
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x4556be
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
add ecx, 0x4be1a8
mov dword [ebp - 0x348], ecx
mov edx, dword [ebp - 0x348]
movzx eax, byte [edx]
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + edx + 0x20]
je 0x45574c
mov edx, dword [ebp - 0x348]
movzx esi, word [edx + 8]
and esi, 0x3ff
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov edi, dword [edx + ecx + 0x20]
shr edi, 5
shl edi, 2
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
xor edx, edx
mov ecx, 0x20
div ecx
mov eax, 1
mov ecx, edx
shl eax, cl
and eax, dword [edi + esi*4 + 0x4bdeb0]
jne 0x45574c
mov dword [ebp - 0x34c], 0
jmp 0x455756
mov dword [ebp - 0x34c], 1
mov ecx, dword [ebp - 0x34c]
mov dword [ebp - 0x5c4], ecx
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xf
jne 0x45577f
mov dword [ebp - 0x350], 1
jmp 0x455789
mov dword [ebp - 0x350], 0
mov ecx, dword [ebp - 0x5c4]
cmp ecx, dword [ebp - 0x350]
jne 0x4557a3
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.5
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xd5
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x4557cd
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5c8], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5cc], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 0x5c8]
cmp eax, dword [ebp - 0x5cc]
jb 0x455832
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45588e
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x455882
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x455862
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x455882
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x455882
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x455ac2
cmp dword [ebp - 8], 0xc0
jb 0x455ac2
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x4558f6
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x455ac2
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x455946
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x455ac2
mov edx, dword [ebp - 8]
and edx, 8
jne 0x4559af
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x455ac2
mov edx, dword [ebp - 8]
and edx, 4
jne 0x455a32
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x455ac2
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x455ae8
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
movzx eax, byte [edx + 0x4be1a9]
mov ecx, dword [eax*4 + 0x4bbc58]
mov dword [ebp - 0x354], ecx
cmp dword [ebp - 0x354], 1
je 0x455b27
cmp dword [ebp - 0x354], 3
je 0x455b27
mov dword [ebp - 0x358], 0
jmp 0x455b31
mov dword [ebp - 0x358], 1
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xf
jne 0x455b4e
mov dword [ebp - 0x35c], 1
jmp 0x455b58
mov dword [ebp - 0x35c], 0
mov ecx, dword [ebp - 0x358]
cmp ecx, dword [ebp - 0x35c]
jne 0x455b72
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.6
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xd6
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x455b9c
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5d0], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5d4], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 0x5d0]
cmp eax, dword [ebp - 0x5d4]
jb 0x455c01
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x455c5d
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x455c51
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x455c31
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x455c51
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x455c51
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x455e91
cmp dword [ebp - 8], 0xc0
jb 0x455e91
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x455cc5
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x455e91
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x455d15
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x455e91
mov edx, dword [ebp - 8]
and edx, 8
jne 0x455d7e
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x455e91
mov edx, dword [ebp - 8]
and edx, 4
jne 0x455e01
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x455e91
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 8]
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], 0x20
ja 0x455ec4
cmp dword [ebp - 0x40], 0x20
je case.0x455f35.0
mov eax, dword [ebp - 0x40]
sub eax, 9
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 4
ja case.0x455f35.10
mov ecx, dword [ebp - 0x40]
jmp dword [ecx*4 + 0x463154]
cmp dword [ebp - 0x40], 0x2000
ja 0x455f07
cmp dword [ebp - 0x40], 0x2000
je case.0x455f35.0
cmp dword [ebp - 0x40], 0x1680
ja 0x455efc
cmp dword [ebp - 0x40], 0x1680
je case.0x455f35.0
cmp dword [ebp - 0x40], 0x85
je case.0x455f35.0
cmp dword [ebp - 0x40], 0xa0
je case.0x455f35.0
jmp case.0x455f35.10
cmp dword [ebp - 0x40], 0x180e
je case.0x455f35.0
jmp case.0x455f35.10
cmp dword [ebp - 0x40], 0x3000
ja 0x455f3c
cmp dword [ebp - 0x40], 0x3000
je case.0x455f35.0
mov edx, dword [ebp - 0x40]
sub edx, 0x2001
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], 0x5e
ja case.0x455f35.10
mov eax, dword [ebp - 0x40]
movzx ecx, byte [eax + 0x463170]
jmp dword [ecx*4 + 0x463168]
jmp case.0x455f35.10
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xf
jne 0x455f5b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x455ffc
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x455f87
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
cmp dword [edx*4 + 0x4bbc58], 6
jne 0x455fb1
mov dword [ebp - 0x360], 1
jmp 0x455fbb
mov dword [ebp - 0x360], 0
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0xf
jne 0x455fd8
mov dword [ebp - 0x364], 1
jmp 0x455fe2
mov dword [ebp - 0x364], 0
mov edx, dword [ebp - 0x360]
cmp edx, dword [ebp - 0x364]
jne 0x455ffc
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.7
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xd7
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x456026
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x5d8], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x5dc], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x5d8]
cmp ecx, dword [ebp - 0x5dc]
jb 0x45608b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x4560e7
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x4560db
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x4560bb
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x4560db
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x4560db
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x45631b
cmp dword [ebp - 8], 0xc0
jb 0x45631b
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x45614f
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45631b
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45619f
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45631b
mov eax, dword [ebp - 8]
and eax, 8
jne 0x456208
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45631b
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45628b
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45631b
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, word [eax*2 + 0x4c2460]
shl eax, 7
mov ecx, dword [ebp - 8]
and ecx, 0x8000007f
jns 0x456342
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x4c6860]
imul eax, edx, 0xc
movzx ecx, byte [eax + 0x4be1a9]
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx*4 + 0x4bbc58]
mov dword [ebp - 0x368], eax
cmp dword [ebp - 0x368], 1
je 0x45639f
cmp dword [ebp - 0x368], 3
je 0x45639f
cmp dword [ebp - 0x1f4], 0xc
je 0x45639f
cmp dword [ebp - 0x1f4], 0x10
je 0x45639f
mov dword [ebp - 0x36c], 0
jmp 0x4563a9
mov dword [ebp - 0x36c], 1
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0xf
jne 0x4563c6
mov dword [ebp - 0x370], 1
jmp 0x4563d0
mov dword [ebp - 0x370], 0
mov eax, dword [ebp - 0x36c]
cmp eax, dword [ebp - 0x370]
jne 0x4563ea
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.9
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xd8
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x456414
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x5e0], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x5e4], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
add eax, 1
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 0x5e0]
cmp edx, dword [ebp - 0x5e4]
jb 0x456479
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4564d5
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4564c9
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x4564a9
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x4564c9
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x4564c9
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x456709
cmp dword [ebp - 8], 0xc0
jb 0x456709
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x45653d
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x456709
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x45658d
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x456709
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x4565f6
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x456709
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x456679
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x456709
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
lea edx, [ecx*4 + 0x4bdbd8]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax]
jae 0x456751
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xf
jne 0x456745
jmp 0x4567a9
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x5e8], ecx
mov edx, dword [ebp - 0x184]
mov eax, dword [edx]
mov dword [ebp - 0x5ec], eax
mov ecx, dword [ebp - 0x184]
add ecx, 4
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x5e8]
cmp edx, dword [ebp - 0x5ec]
jne 0x4567a4
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0xf
jne 0x4567a2
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x4567a9
jmp 0x456725
jmp case.0x45411c.10
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xd9
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x4567d3
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5f0], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5f4], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 0x5f0]
cmp eax, dword [ebp - 0x5f4]
jb 0x456838
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x456894
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x456888
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x456868
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x456888
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x456888
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x456ac8
cmp dword [ebp - 8], 0xc0
jb 0x456ac8
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x4568fc
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x456ac8
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x45694c
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x456ac8
mov edx, dword [ebp - 8]
and edx, 8
jne 0x4569b5
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x456ac8
mov edx, dword [ebp - 8]
and edx, 4
jne 0x456a38
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x456ac8
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 8], 0x24
je 0x456b01
cmp dword [ebp - 8], 0x40
je 0x456b01
cmp dword [ebp - 8], 0x60
je 0x456b01
cmp dword [ebp - 8], 0xa0
jb 0x456aec
cmp dword [ebp - 8], 0xd7ff
jbe 0x456b01
cmp dword [ebp - 8], 0xe000
jae 0x456b01
mov dword [ebp - 0x374], 0
jmp 0x456b0b
mov dword [ebp - 0x374], 1
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xf
jne 0x456b28
mov dword [ebp - 0x378], 1
jmp 0x456b32
mov dword [ebp - 0x378], 0
mov ecx, dword [ebp - 0x374]
cmp ecx, dword [ebp - 0x378]
jne 0x456b4c
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.11
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xe0
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x456b76
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5f8], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x5fc], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 0x5f8]
cmp eax, dword [ebp - 0x5fc]
jb 0x456bdb
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x456c37
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x456c2b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x456c0b
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x456c2b
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x456c2b
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x456e6b
cmp dword [ebp - 8], 0xc0
jb 0x456e6b
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x456c9f
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x456e6b
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x456cef
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x456e6b
mov edx, dword [ebp - 8]
and edx, 8
jne 0x456d58
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x456e6b
mov edx, dword [ebp - 8]
and edx, 4
jne 0x456ddb
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x456e6b
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x456e91
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
movzx eax, word [edx + 0x4be1b0]
sar eax, 0xb
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + edx + 0x20]
jne 0x456ec5
mov dword [ebp - 0x37c], 1
jmp 0x456ecf
mov dword [ebp - 0x37c], 0
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xf
jne 0x456eec
mov dword [ebp - 0x380], 1
jmp 0x456ef6
mov dword [ebp - 0x380], 0
mov ecx, dword [ebp - 0x37c]
cmp ecx, dword [ebp - 0x380]
jne 0x456f10
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.12
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xdf
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x456f3a
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x600], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x604], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 0x600]
cmp eax, dword [ebp - 0x604]
jb 0x456f9f
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x456ffb
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x456fef
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x456fcf
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x456fef
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x456fef
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x45722f
cmp dword [ebp - 8], 0xc0
jb 0x45722f
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x457063
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45722f
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x4570b3
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45722f
mov edx, dword [ebp - 8]
and edx, 8
jne 0x45711c
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45722f
mov edx, dword [ebp - 8]
and edx, 4
jne 0x45719f
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45722f
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x457255
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
add edx, 0x4be1a8
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x608]
movzx esi, word [eax + 0xa]
and esi, 0xfff
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov edi, dword [eax + edx + 0x20]
shr edi, 5
shl edi, 2
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + edx + 0x20]
xor edx, edx
mov ecx, 0x20
div ecx
mov eax, 1
mov ecx, edx
shl eax, cl
and eax, dword [edi + esi*4 + 0x4bd650]
je 0x4572c9
mov dword [ebp - 0x384], 1
jmp 0x4572d3
mov dword [ebp - 0x384], 0
mov ecx, dword [ebp - 0x384]
mov dword [ebp - 0x60c], ecx
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0xf
jne 0x4572fc
mov dword [ebp - 0x388], 1
jmp 0x457306
mov dword [ebp - 0x388], 0
mov ecx, dword [ebp - 0x60c]
cmp ecx, dword [ebp - 0x388]
jne 0x457320
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x45411c.13
mov eax, 0xffffffd4
jmp 0x46288e
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0x16
jne 0x4576ef
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xda
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45736e
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x610], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x614], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
add eax, 1
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 0x610]
cmp edx, dword [ebp - 0x614]
jb 0x4573d3
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x457434
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x457423
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x457403
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x457423
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x457423
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
cmp dword [ebp - 0x14], 0
je 0x457668
cmp dword [ebp - 8], 0xc0
jb 0x457668
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x45749c
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x457668
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x4574ec
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x457668
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x457555
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x457668
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x4575d8
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 4
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x457668
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
push 0
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x54]
push eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x4c]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.00479f00
add esp, 0x18
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x4576e5
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x4576e5
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x4576c5
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x4576e5
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x4576e5
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x457349
cmp dword [ebp - 0x14], 0
je 0x457fe3
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xdb
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45771e
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x618], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x61c], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, dword [ebp - 0x618]
cmp eax, dword [ebp - 0x61c]
jb 0x457783
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4577df
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4577d3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x4577b3
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x4577d3
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4577d3
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0xc
jne 0x457902
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
je 0x457867
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x45784c
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0x1c]
add edx, 0x90
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x8c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x45784c
mov dword [ebp - 0x38c], 1
jmp 0x457856
mov dword [ebp - 0x38c], 0
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x394], eax
jmp 0x4578ed
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x54]
sub eax, dword [edx + 0x90]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
ja 0x4578d7
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + eax + 0x94]
cmp ecx, eax
jne 0x4578d7
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 1
je 0x4578cb
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax + 1]
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 0x1c]
movzx edx, byte [eax + edx + 0x94]
cmp ecx, edx
jne 0x4578d7
mov dword [ebp - 0x390], 1
jmp 0x4578e1
mov dword [ebp - 0x390], 0
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x394], eax
cmp dword [ebp - 0x394], 0
je 0x457902
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 8], 0xc0
jb 0x457b2c
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x457960
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x457b2c
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x4579b0
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x457b2c
mov edx, dword [ebp - 8]
and edx, 8
jne 0x457a19
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x457b2c
mov edx, dword [ebp - 8]
and edx, 4
jne 0x457a9c
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x457b2c
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
imul eax, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 5
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x188], ecx
mov edx, dword [ebp - 0x188]
sub edx, 6
mov dword [ebp - 0x188], edx
cmp dword [ebp - 0x188], 0xf
ja case.0x457b62.9
mov eax, dword [ebp - 0x188]
jmp dword [eax*4 + 0x4631d0]
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x457bd2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x457bd2
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
jne 0x457bd2
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 2
jne 0x457bd2
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 0x1c]
movzx edx, byte [ecx + eax + 0x94]
cmp dword [ebp - 8], edx
jne 0x457bd2
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x457bd2
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x457fd9
jmp 0x457fd9
mov eax, dword [ebp - 8]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0x85
ja 0x457c22
cmp dword [ebp - 0x128], 0x85
je case.0x457c1b.1
mov ecx, dword [ebp - 0x128]
sub ecx, 0xa
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x128], 3
ja case.default.0x457c1b
mov edx, dword [ebp - 0x128]
jmp dword [edx*4 + 0x463210]
cmp dword [ebp - 0x128], 0x2028
je case.0x457c1b.1
cmp dword [ebp - 0x128], 0x2029
je case.0x457c1b.1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x457c71
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
cmp edx, 0xa
jne 0x457c71
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x457c8d
jmp 0x457c8d
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3e]
cmp ecx, 2
jne 0x457c8d
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
mov edx, dword [ebp - 8]
mov dword [ebp - 0x80], edx
cmp dword [ebp - 0x80], 0x2000
ja 0x457cde
cmp dword [ebp - 0x80], 0x2000
je case.0x457d0b.0
cmp dword [ebp - 0x80], 0xa0
ja 0x457cca
cmp dword [ebp - 0x80], 0xa0
je case.0x457d0b.0
cmp dword [ebp - 0x80], 9
je case.0x457d0b.0
cmp dword [ebp - 0x80], 0x20
je case.0x457d0b.0
jmp case.0x457d0b.10
cmp dword [ebp - 0x80], 0x1680
je case.0x457d0b.0
cmp dword [ebp - 0x80], 0x180e
je case.0x457d0b.0
jmp case.0x457d0b.10
cmp dword [ebp - 0x80], 0x3000
ja 0x457d12
cmp dword [ebp - 0x80], 0x3000
je case.0x457d0b.0
mov eax, dword [ebp - 0x80]
sub eax, 0x2001
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0x5e
ja case.0x457d0b.10
mov ecx, dword [ebp - 0x80]
movzx edx, byte [ecx + 0x463228]
jmp dword [edx*4 + 0x463220]
jmp case.0x457d0b.10
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
mov eax, dword [ebp - 8]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x2000
ja 0x457d90
cmp dword [ebp - 0x84], 0x2000
je case.0x457dd0.0
cmp dword [ebp - 0x84], 0xa0
ja 0x457d76
cmp dword [ebp - 0x84], 0xa0
je case.0x457dd0.0
cmp dword [ebp - 0x84], 9
je case.0x457dd0.0
cmp dword [ebp - 0x84], 0x20
je case.0x457dd0.0
jmp case.0x457dd0.10
cmp dword [ebp - 0x84], 0x1680
je case.0x457dd0.0
cmp dword [ebp - 0x84], 0x180e
je case.0x457dd0.0
jmp case.0x457dd0.10
cmp dword [ebp - 0x84], 0x3000
ja 0x457dd7
cmp dword [ebp - 0x84], 0x3000
je case.0x457dd0.0
mov ecx, dword [ebp - 0x84]
sub ecx, 0x2001
mov dword [ebp - 0x84], ecx
cmp dword [ebp - 0x84], 0x5e
ja case.0x457dd0.10
mov edx, dword [ebp - 0x84]
movzx eax, byte [edx + 0x463290]
jmp dword [eax*4 + 0x463288]
jmp case.0x457dd0.10
jmp 0x457de7
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0x85
ja 0x457e32
cmp dword [ebp - 0x12c], 0x85
je case.0x457e2b.0
mov edx, dword [ebp - 0x12c]
sub edx, 0xa
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 3
ja case.default.0x457e2b
mov eax, dword [ebp - 0x12c]
jmp dword [eax*4 + 0x4632f0]
cmp dword [ebp - 0x12c], 0x2028
je case.0x457e2b.0
cmp dword [ebp - 0x12c], 0x2029
je case.0x457e2b.0
jmp case.default.0x457e2b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x130], 0x85
ja 0x457ea3
cmp dword [ebp - 0x130], 0x85
je case.0x457e9c.0
mov edx, dword [ebp - 0x130]
sub edx, 0xa
mov dword [ebp - 0x130], edx
cmp dword [ebp - 0x130], 3
ja case.default.0x457e9c
mov eax, dword [ebp - 0x130]
jmp dword [eax*4 + 0x463300]
cmp dword [ebp - 0x130], 0x2028
je case.0x457e9c.0
cmp dword [ebp - 0x130], 0x2029
je case.0x457e9c.0
jmp case.default.0x457e9c
jmp 0x457ecb
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
cmp dword [ebp - 8], 0x100
jae 0x457ef7
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 8
je 0x457ef7
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
cmp dword [ebp - 8], 0x100
jae 0x457f17
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 8]
movzx edx, byte [eax + ecx]
and edx, 8
jne 0x457f23
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
cmp dword [ebp - 8], 0x100
jae 0x457f4f
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
and eax, 1
je 0x457f4f
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
cmp dword [ebp - 8], 0x100
jae 0x457f6f
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 1
jne 0x457f7b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
cmp dword [ebp - 8], 0x100
jae 0x457fa4
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 8]
movzx edx, byte [eax + ecx]
and edx, 0x10
je 0x457fa4
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
cmp dword [ebp - 8], 0x100
jae 0x457fc1
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
and eax, 0x10
jne 0x457fcd
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x457fd9
mov eax, 0xffffffd4
jmp 0x46288e
jmp 0x4576f9
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x21
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x458008
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x620], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x624], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
add eax, 1
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 0x620]
cmp edx, dword [ebp - 0x624]
jb 0x45806d
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x4580c9
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4580bd
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x45809d
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x4580bd
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x4580bd
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0xc
jne 0x4581ec
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x8c], 0
je 0x458151
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x458136
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 0x1c]
add ecx, 0x90
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x54]
push eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x8c]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
push ecx
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x458136
mov dword [ebp - 0x398], 1
jmp 0x458140
mov dword [ebp - 0x398], 0
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0x3a0], edx
jmp 0x4581d7
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x54]
sub edx, dword [ecx + 0x90]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], edx
ja 0x4581c1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 0x1c]
movzx edx, byte [ecx + edx + 0x94]
cmp eax, edx
jne 0x4581c1
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x90], 1
je 0x4581b5
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx + 1]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 0x1c]
movzx ecx, byte [edx + ecx + 0x94]
cmp eax, ecx
jne 0x4581c1
mov dword [ebp - 0x39c], 1
jmp 0x4581cb
mov dword [ebp - 0x39c], 0
mov edx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], edx
cmp dword [ebp - 0x3a0], 0
je 0x4581ec
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x18c]
sub eax, 6
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0xf
ja case.0x45823d.9
mov ecx, dword [ebp - 0x18c]
jmp dword [ecx*4 + 0x463310]
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x4582ad
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4582ad
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x8c], 0
jne 0x4582ad
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x90], 2
jne 0x4582ad
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + ecx + 0x94]
cmp dword [ebp - 8], eax
jne 0x4582ad
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4582ad
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45853b
jmp 0x45853b
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
sub edx, 0xa
mov dword [ebp - 0x190], edx
cmp dword [ebp - 0x190], 0x7b
ja case.0x4582e5.4
mov eax, dword [ebp - 0x190]
movzx ecx, byte [eax + 0x463360]
jmp dword [ecx*4 + 0x463350]
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jae 0x458323
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
cmp ecx, 0xa
jne 0x458323
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45833f
jmp 0x45833f
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3e]
cmp eax, 2
jne 0x45833f
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1f8], ecx
cmp dword [ebp - 0x1f8], 9
je 0x45836d
cmp dword [ebp - 0x1f8], 0x20
je 0x45836d
cmp dword [ebp - 0x1f8], 0xa0
je 0x45836d
jmp 0x458379
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1fc], edx
cmp dword [ebp - 0x1fc], 9
je 0x4583b1
cmp dword [ebp - 0x1fc], 0x20
je 0x4583b1
cmp dword [ebp - 0x1fc], 0xa0
je 0x4583b1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
mov eax, dword [ebp - 8]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x194]
sub ecx, 0xa
mov dword [ebp - 0x194], ecx
cmp dword [ebp - 0x194], 0x7b
ja case.0x4583e4.4
mov edx, dword [ebp - 0x194]
movzx eax, byte [edx + 0x4633e4]
jmp dword [eax*4 + 0x4633dc]
jmp 0x4583f9
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x198]
sub edx, 0xa
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x198], 0x7b
ja case.0x45842c.4
mov eax, dword [ebp - 0x198]
movzx ecx, byte [eax + 0x463468]
jmp dword [ecx*4 + 0x463460]
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
mov edx, 1
test edx, edx
je 0x45846b
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
and eax, 8
je 0x45846b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
xor ecx, ecx
jne 0x458486
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 8]
movzx edx, byte [eax + ecx]
and edx, 8
jne 0x458492
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
mov eax, 1
test eax, eax
je 0x4584be
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 1
je 0x4584be
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
xor edx, edx
jne 0x4584d6
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
and eax, 1
jne 0x4584e2
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
mov ecx, 1
test ecx, ecx
je 0x45850b
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 8]
movzx edx, byte [eax + ecx]
and edx, 0x10
je 0x45850b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
xor eax, eax
jne 0x458523
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 0x10
jne 0x45852f
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45853b
mov eax, 0xffffffd4
jmp 0x46288e
jmp 0x457fe3
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov dword [ecx + eax + 4], edx
cmp dword [ebp - 0x140], 0
jl 0x45b471
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0xf
jne 0x458584
mov dword [ebp - 0x3a4], 1
jmp 0x45858e
mov dword [ebp - 0x3a4], 0
mov edx, dword [ebp - 0x3a4]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 0xd
ja case.default.0x4585b6
mov ecx, dword [ebp - 0x3a8]
jmp dword [ecx*4 + 0x4634e4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x4585da
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x4588c5
mov dword [ebp - 0xb0], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x458651
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45864c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45862c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45864c
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45864c
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x4588c5
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], 0
je 0x4588a6
cmp dword [ebp - 8], 0xc0
jb 0x4588a6
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x4586b3
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xb0]
add ecx, 1
mov dword [ebp - 0xb0], ecx
jmp 0x4588a6
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45870b
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xb0]
add eax, 2
mov dword [ebp - 0xb0], eax
jmp 0x4588a6
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45877d
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xb0]
add edx, 3
mov dword [ebp - 0xb0], edx
jmp 0x4588a6
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45880d
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xb0]
add eax, 4
mov dword [ebp - 0xb0], eax
jmp 0x4588a6
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xb0]
add eax, 5
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0x6c], 0
je 0x4588ae
jmp 0x4588c5
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4585d1
jmp 0x45b3e6
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x10], ecx
jmp 0x4588e7
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
jae 0x458c49
mov dword [ebp - 0xb4], 1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x45895e
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x458959
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x458939
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x458959
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x458959
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x458c49
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
cmp dword [ebp - 0x14], 0
je 0x458bb3
cmp dword [ebp - 8], 0xc0
jb 0x458bb3
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x4589c0
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
jmp 0x458bb3
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x458a18
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xb4]
add edx, 2
mov dword [ebp - 0xb4], edx
jmp 0x458bb3
mov eax, dword [ebp - 8]
and eax, 8
jne 0x458a8a
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xb4]
add ecx, 3
mov dword [ebp - 0xb4], ecx
jmp 0x458bb3
mov edx, dword [ebp - 8]
and edx, 4
jne 0x458b1a
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xb4]
add edx, 4
mov dword [ebp - 0xb4], edx
jmp 0x458bb3
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 5
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xb4]
add edx, 5
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, word [eax*2 + 0x4c2460]
shl eax, 7
mov ecx, dword [ebp - 8]
and ecx, 0x8000007f
jns 0x458bda
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x4c6860]
imul eax, edx, 0xc
movzx ecx, byte [eax + 0x4be1a9]
mov dword [ebp - 0x200], ecx
cmp dword [ebp - 0x200], 9
je 0x458c1b
cmp dword [ebp - 0x200], 5
je 0x458c1b
cmp dword [ebp - 0x200], 8
je 0x458c1b
mov dword [ebp - 0x3ac], 0
jmp 0x458c25
mov dword [ebp - 0x3ac], 1
mov edx, dword [ebp - 0x3ac]
cmp edx, dword [ebp - 0x6c]
jne 0x458c32
jmp 0x458c49
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4588de
jmp 0x45b3e6
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x458c6b
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x458fc3
mov dword [ebp - 0xb8], 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x458ce2
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x458cdd
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x458cbd
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x458cdd
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x458cdd
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x458fc3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], 0
je 0x458f37
cmp dword [ebp - 8], 0xc0
jb 0x458f37
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x458d44
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xb8]
add edx, 1
mov dword [ebp - 0xb8], edx
jmp 0x458f37
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x458d9c
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xb8]
add ecx, 2
mov dword [ebp - 0xb8], ecx
jmp 0x458f37
mov edx, dword [ebp - 8]
and edx, 8
jne 0x458e0e
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xb8]
add eax, 3
mov dword [ebp - 0xb8], eax
jmp 0x458f37
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x458e9e
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xb8]
add ecx, 4
mov dword [ebp - 0xb8], ecx
jmp 0x458f37
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 5
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xb8]
add ecx, 5
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x458f5d
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
movzx eax, byte [edx + 0x4be1a9]
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov eax, dword [eax*4 + 0x4bbc58]
cmp eax, dword [ecx + edx + 0x20]
jne 0x458f95
mov dword [ebp - 0x3b0], 1
jmp 0x458f9f
mov dword [ebp - 0x3b0], 0
mov ecx, dword [ebp - 0x3b0]
cmp ecx, dword [ebp - 0x6c]
jne 0x458fac
jmp 0x458fc3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x458c62
jmp 0x45b3e6
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x458fe5
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x459337
mov dword [ebp - 0xbc], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45905c
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x459057
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x459037
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x459057
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x459057
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x459337
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], 0
je 0x4592b1
cmp dword [ebp - 8], 0xc0
jb 0x4592b1
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x4590be
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xbc]
add ecx, 1
mov dword [ebp - 0xbc], ecx
jmp 0x4592b1
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x459116
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xbc]
add eax, 2
mov dword [ebp - 0xbc], eax
jmp 0x4592b1
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x459188
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xbc]
add edx, 3
mov dword [ebp - 0xbc], edx
jmp 0x4592b1
mov eax, dword [ebp - 8]
and eax, 4
jne 0x459218
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xbc]
add eax, 4
mov dword [ebp - 0xbc], eax
jmp 0x4592b1
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xbc]
add eax, 5
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x4592d8
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 4]
cmp edx, dword [eax + ecx + 0x20]
jne 0x459309
mov dword [ebp - 0x3b4], 1
jmp 0x459313
mov dword [ebp - 0x3b4], 0
mov ecx, dword [ebp - 0x3b4]
cmp ecx, dword [ebp - 0x6c]
jne 0x459320
jmp 0x459337
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x458fdc
jmp 0x45b3e6
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x459359
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x4596ab
mov dword [ebp - 0xc0], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x4593d0
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4593cb
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x4593ab
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x4593cb
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4593cb
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x4596ab
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], 0
je 0x459625
cmp dword [ebp - 8], 0xc0
jb 0x459625
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x459432
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0xc0], ecx
jmp 0x459625
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45948a
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc0]
add eax, 2
mov dword [ebp - 0xc0], eax
jmp 0x459625
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x4594fc
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc0]
add edx, 3
mov dword [ebp - 0xc0], edx
jmp 0x459625
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45958c
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xc0]
add eax, 4
mov dword [ebp - 0xc0], eax
jmp 0x459625
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xc0]
add eax, 5
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x45964c
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a8]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 4]
cmp edx, dword [eax + ecx + 0x20]
jne 0x45967d
mov dword [ebp - 0x3b8], 1
jmp 0x459687
mov dword [ebp - 0x3b8], 0
mov ecx, dword [ebp - 0x3b8]
cmp ecx, dword [ebp - 0x6c]
jne 0x459694
jmp 0x4596ab
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x459350
jmp 0x45b3e6
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x4596cd
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x459a88
mov dword [ebp - 0xc4], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x459744
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45973f
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45971f
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45973f
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45973f
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x459a88
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], 0
je 0x459999
cmp dword [ebp - 8], 0xc0
jb 0x459999
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x4597a6
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
jmp 0x459999
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x4597fe
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc4]
add eax, 2
mov dword [ebp - 0xc4], eax
jmp 0x459999
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x459870
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc4]
add edx, 3
mov dword [ebp - 0xc4], edx
jmp 0x459999
mov eax, dword [ebp - 8]
and eax, 4
jne 0x459900
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xc4]
add eax, 4
mov dword [ebp - 0xc4], eax
jmp 0x459999
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xc4]
add eax, 5
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x4599c0
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
add ecx, 0x4be1a8
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x3bc]
movzx eax, byte [edx]
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + edx + 0x20]
je 0x459a4e
mov edx, dword [ebp - 0x3bc]
movzx esi, word [edx + 8]
and esi, 0x3ff
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov edi, dword [edx + ecx + 0x20]
shr edi, 5
shl edi, 2
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
xor edx, edx
mov ecx, 0x20
div ecx
mov eax, 1
mov ecx, edx
shl eax, cl
and eax, dword [edi + esi*4 + 0x4bdeb0]
jne 0x459a4e
mov dword [ebp - 0x3c0], 0
jmp 0x459a58
mov dword [ebp - 0x3c0], 1
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x628], ecx
mov edx, dword [ebp - 0x628]
cmp edx, dword [ebp - 0x6c]
jne 0x459a71
jmp 0x459a88
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x4596c4
jmp 0x45b3e6
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x459aaa
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x459e09
mov dword [ebp - 0xc8], 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x459b21
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x459b1c
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x459afc
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x459b1c
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x459b1c
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x459e09
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], 0
je 0x459d76
cmp dword [ebp - 8], 0xc0
jb 0x459d76
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x459b83
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
jmp 0x459d76
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x459bdb
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc8]
add ecx, 2
mov dword [ebp - 0xc8], ecx
jmp 0x459d76
mov edx, dword [ebp - 8]
and edx, 8
jne 0x459c4d
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc8]
add eax, 3
mov dword [ebp - 0xc8], eax
jmp 0x459d76
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x459cdd
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xc8]
add ecx, 4
mov dword [ebp - 0xc8], ecx
jmp 0x459d76
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 5
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xc8]
add ecx, 5
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x459d9c
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
movzx eax, byte [edx + 0x4be1a9]
mov ecx, dword [eax*4 + 0x4bbc58]
mov dword [ebp - 0x3c4], ecx
cmp dword [ebp - 0x3c4], 1
je 0x459ddb
cmp dword [ebp - 0x3c4], 3
je 0x459ddb
mov dword [ebp - 0x3c8], 0
jmp 0x459de5
mov dword [ebp - 0x3c8], 1
mov edx, dword [ebp - 0x3c8]
cmp edx, dword [ebp - 0x6c]
jne 0x459df2
jmp 0x459e09
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x459aa1
jmp 0x45b3e6
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x459e2b
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x45a22f
mov dword [ebp - 0xcc], 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x459ea2
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x459e9d
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x459e7d
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x459e9d
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x459e9d
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45a22f
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], 0
je 0x45a0f7
cmp dword [ebp - 8], 0xc0
jb 0x45a0f7
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x459f04
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
jmp 0x45a0f7
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x459f5c
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xcc]
add ecx, 2
mov dword [ebp - 0xcc], ecx
jmp 0x45a0f7
mov edx, dword [ebp - 8]
and edx, 8
jne 0x459fce
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xcc]
add eax, 3
mov dword [ebp - 0xcc], eax
jmp 0x45a0f7
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x45a05e
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xcc]
add ecx, 4
mov dword [ebp - 0xcc], ecx
jmp 0x45a0f7
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 5
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xcc]
add ecx, 5
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 0x20
ja 0x45a12a
cmp dword [ebp - 0x44], 0x20
je case.0x45a19b.0
mov eax, dword [ebp - 0x44]
sub eax, 9
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 4
ja case.0x45a19b.10
mov ecx, dword [ebp - 0x44]
jmp dword [ecx*4 + 0x46351c]
cmp dword [ebp - 0x44], 0x2000
ja 0x45a16d
cmp dword [ebp - 0x44], 0x2000
je case.0x45a19b.0
cmp dword [ebp - 0x44], 0x1680
ja 0x45a162
cmp dword [ebp - 0x44], 0x1680
je case.0x45a19b.0
cmp dword [ebp - 0x44], 0x85
je case.0x45a19b.0
cmp dword [ebp - 0x44], 0xa0
je case.0x45a19b.0
jmp case.0x45a19b.10
cmp dword [ebp - 0x44], 0x180e
je case.0x45a19b.0
jmp case.0x45a19b.10
cmp dword [ebp - 0x44], 0x3000
ja 0x45a1a2
cmp dword [ebp - 0x44], 0x3000
je case.0x45a19b.0
mov edx, dword [ebp - 0x44]
sub edx, 0x2001
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 0x5e
ja case.0x45a19b.10
mov eax, dword [ebp - 0x44]
movzx ecx, byte [eax + 0x463538]
jmp dword [ecx*4 + 0x463530]
jmp case.0x45a19b.10
cmp dword [ebp - 0x6c], 0
je 0x45a1af
jmp 0x45a22f
jmp 0x45a218
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x45a1d7
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
movzx eax, byte [edx + 0x4be1a9]
cmp dword [eax*4 + 0x4bbc58], 6
jne 0x45a201
mov dword [ebp - 0x3cc], 1
jmp 0x45a20b
mov dword [ebp - 0x3cc], 0
mov ecx, dword [ebp - 0x3cc]
cmp ecx, dword [ebp - 0x6c]
jne 0x45a218
jmp 0x45a22f
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x459e22
jmp 0x45b3e6
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45a251
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45a5cf
mov dword [ebp - 0xd0], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45a2c8
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45a2c3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45a2a3
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45a2c3
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45a2c3
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45a5cf
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], 0
je 0x45a51d
cmp dword [ebp - 8], 0xc0
jb 0x45a51d
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45a32a
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
jmp 0x45a51d
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45a382
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
add eax, 2
mov dword [ebp - 0xd0], eax
jmp 0x45a51d
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45a3f4
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xd0]
add edx, 3
mov dword [ebp - 0xd0], edx
jmp 0x45a51d
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45a484
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xd0]
add eax, 4
mov dword [ebp - 0xd0], eax
jmp 0x45a51d
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xd0]
add eax, 5
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x45a544
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
mov ecx, dword [eax*4 + 0x4bbc58]
mov dword [ebp - 0x3d0], ecx
cmp dword [ebp - 0x3d0], 1
je 0x45a5a1
cmp dword [ebp - 0x3d0], 3
je 0x45a5a1
cmp dword [ebp - 0x204], 0xc
je 0x45a5a1
cmp dword [ebp - 0x204], 0x10
je 0x45a5a1
mov dword [ebp - 0x3d4], 0
jmp 0x45a5ab
mov dword [ebp - 0x3d4], 1
mov edx, dword [ebp - 0x3d4]
cmp edx, dword [ebp - 0x6c]
jne 0x45a5b8
jmp 0x45a5cf
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45a248
jmp 0x45b3e6
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x45a5f1
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x45a94b
mov dword [ebp - 0xd4], 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x45a668
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45a663
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45a643
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45a663
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45a663
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45a94b
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], 0
je 0x45a8bd
cmp dword [ebp - 8], 0xc0
jb 0x45a8bd
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x45a6ca
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0xd4], edx
jmp 0x45a8bd
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x45a722
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xd4]
add ecx, 2
mov dword [ebp - 0xd4], ecx
jmp 0x45a8bd
mov edx, dword [ebp - 8]
and edx, 8
jne 0x45a794
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd4]
add eax, 3
mov dword [ebp - 0xd4], eax
jmp 0x45a8bd
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x45a824
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xd4]
add ecx, 4
mov dword [ebp - 0xd4], ecx
jmp 0x45a8bd
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 5
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xd4]
add ecx, 5
mov dword [ebp - 0xd4], ecx
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
lea eax, [edx*4 + 0x4bdbd8]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 8]
cmp edx, dword [ecx]
jae 0x45a8f2
cmp dword [ebp - 0x6c], 0
je 0x45a8f0
jmp 0x45a934
jmp 0x45a94b
mov eax, dword [ebp - 8]
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ecx]
mov dword [ebp - 0x630], edx
mov eax, dword [ebp - 0x19c]
add eax, 4
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x62c]
cmp ecx, dword [ebp - 0x630]
jne 0x45a932
cmp dword [ebp - 0x6c], 0
je 0x45a930
jmp 0x45a94b
jmp 0x45a934
jmp 0x45a8d9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45a5e8
jmp 0x45b3e6
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45a96d
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45aca0
mov dword [ebp - 0xd8], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45a9e4
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45a9df
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45a9bf
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45a9df
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45a9df
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45aca0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], 0
je 0x45ac39
cmp dword [ebp - 8], 0xc0
jb 0x45ac39
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45aa46
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x45ac39
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45aa9e
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd8]
add eax, 2
mov dword [ebp - 0xd8], eax
jmp 0x45ac39
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45ab10
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xd8]
add edx, 3
mov dword [ebp - 0xd8], edx
jmp 0x45ac39
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45aba0
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xd8]
add eax, 4
mov dword [ebp - 0xd8], eax
jmp 0x45ac39
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xd8]
add eax, 5
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 8], 0x24
je 0x45ac72
cmp dword [ebp - 8], 0x40
je 0x45ac72
cmp dword [ebp - 8], 0x60
je 0x45ac72
cmp dword [ebp - 8], 0xa0
jb 0x45ac5d
cmp dword [ebp - 8], 0xd7ff
jbe 0x45ac72
cmp dword [ebp - 8], 0xe000
jae 0x45ac72
mov dword [ebp - 0x3d8], 0
jmp 0x45ac7c
mov dword [ebp - 0x3d8], 1
mov ecx, dword [ebp - 0x3d8]
cmp ecx, dword [ebp - 0x6c]
jne 0x45ac89
jmp 0x45aca0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45a964
jmp 0x45b3e6
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45acc2
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45b017
mov dword [ebp - 0xdc], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45ad39
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45ad34
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45ad14
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45ad34
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45ad34
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45b017
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], 0
je 0x45af8e
cmp dword [ebp - 8], 0xc0
jb 0x45af8e
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45ad9b
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
jmp 0x45af8e
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45adf3
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xdc]
add eax, 2
mov dword [ebp - 0xdc], eax
jmp 0x45af8e
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45ae65
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xdc]
add edx, 3
mov dword [ebp - 0xdc], edx
jmp 0x45af8e
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45aef5
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xdc]
add eax, 4
mov dword [ebp - 0xdc], eax
jmp 0x45af8e
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xdc]
add eax, 5
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x45afb5
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, word [ecx + 0x4be1b0]
sar edx, 0xb
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 4]
cmp edx, dword [eax + ecx + 0x20]
jne 0x45afe9
mov dword [ebp - 0x3dc], 1
jmp 0x45aff3
mov dword [ebp - 0x3dc], 0
mov ecx, dword [ebp - 0x3dc]
cmp ecx, dword [ebp - 0x6c]
jne 0x45b000
jmp 0x45b017
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45acb9
jmp 0x45b3e6
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45b039
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45b3da
mov dword [ebp - 0xe0], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45b0b0
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45b0ab
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45b08b
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45b0ab
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45b0ab
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45b3da
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], 0
je 0x45b305
cmp dword [ebp - 8], 0xc0
jb 0x45b305
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45b112
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
jmp 0x45b305
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45b16a
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe0]
add eax, 2
mov dword [ebp - 0xe0], eax
jmp 0x45b305
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45b1dc
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xe0]
add edx, 3
mov dword [ebp - 0xe0], edx
jmp 0x45b305
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45b26c
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xe0]
add eax, 4
mov dword [ebp - 0xe0], eax
jmp 0x45b305
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xe0]
add eax, 5
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x45b32c
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
add ecx, 0x4be1a8
mov dword [ebp - 0x634], ecx
mov edx, dword [ebp - 0x634]
movzx esi, word [edx + 0xa]
and esi, 0xfff
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov edi, dword [edx + ecx + 0x20]
shr edi, 5
shl edi, 2
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
xor edx, edx
mov ecx, 0x20
div ecx
mov eax, 1
mov ecx, edx
shl eax, cl
and eax, dword [edi + esi*4 + 0x4bd650]
je 0x45b3a0
mov dword [ebp - 0x3e0], 1
jmp 0x45b3aa
mov dword [ebp - 0x3e0], 0
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x638]
cmp edx, dword [ebp - 0x6c]
jne 0x45b3c3
jmp 0x45b3da
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45b030
jmp 0x45b3e6
mov eax, 0xffffffd4
jmp 0x46288e
cmp dword [ebp - 0x18], 2
jne 0x45b3f1
jmp 0x445227
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edx, dword [edx + 0x38]
cmp edx, dword [eax + ecx + 4]
ja 0x45b40a
jmp 0x45b46c
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xde
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45b42f
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x45b46a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x45b46a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45b444
jmp 0x45b3f1
jmp 0x45ed02
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0x16
jne 0x45bd43
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x45b4a3
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x45b7cb
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x45b515
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45b50b
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45b4eb
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45b50b
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45b50b
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45b7cb
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp dword [ebp - 0x14], 0
je 0x45b749
cmp dword [ebp - 8], 0xc0
jb 0x45b749
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x45b57d
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45b749
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45b5cd
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45b749
mov eax, dword [ebp - 8]
and eax, 8
jne 0x45b636
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45b749
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45b6b9
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45b749
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
imul ecx, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
push 0
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x54]
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x4c]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00479f00
add esp, 0x18
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x45b7c6
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x45b7c6
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x45b7a6
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x45b7c6
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x45b7c6
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45b49a
cmp dword [ebp - 0x18], 2
jne 0x45b7d6
jmp 0x445227
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edx, dword [edx + 0x38]
cmp edx, dword [eax + ecx + 4]
ja 0x45b7f2
jmp 0x45bd3e
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xdc
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45b817
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
jne 0x45b83d
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
jmp 0x45ba5f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x45b863
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45b83d
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x45ba5f
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45b8ac
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
jmp 0x45ba5f
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x45b8f5
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
jmp 0x45ba5f
mov edx, dword [ebp - 8]
and edx, 8
jne 0x45b958
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
jmp 0x45ba5f
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45b9d5
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
jmp 0x45ba5f
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 5
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x45ba85
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
movzx eax, byte [edx + 0x4be1aa]
mov dword [ebp - 0x3e8], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + edx + 4]
ja 0x45babb
jmp 0x45bd39
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x14], 0
jne 0x45badb
mov eax, dword [ebp - 0x34]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
jmp 0x45bcc1
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x45baf8
mov ecx, dword [ebp - 0x34]
sub ecx, 1
mov dword [ebp - 0x34], ecx
jmp 0x45badb
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x45bcc1
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45bb3b
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x34]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
jmp 0x45bcc1
mov ecx, dword [ebp - 8]
and ecx, 0x10
jne 0x45bb7e
mov edx, dword [ebp - 8]
and edx, 0xf
shl edx, 0xc
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x34]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 0x34]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
jmp 0x45bcc1
mov edx, dword [ebp - 8]
and edx, 8
jne 0x45bbd8
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x34]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x34]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x34]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
jmp 0x45bcc1
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45bc46
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x34]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 0x34]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
jmp 0x45bcc1
mov eax, dword [ebp - 8]
and eax, 1
shl eax, 0x1e
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x34]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x34]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x34]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 0x34]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
imul ecx, edx, 5
mov edx, dword [ebp - 0x34]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, word [eax*2 + 0x4c2460]
shl edx, 7
mov eax, dword [ebp - 8]
and eax, 0x8000007f
jns 0x45bce7
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x4c6860]
imul edx, ecx, 0xc
movzx eax, byte [edx + 0x4be1aa]
mov dword [ebp - 0x3e4], eax
mov edx, 1
mov ecx, dword [ebp - 0x3e8]
shl edx, cl
mov eax, dword [ebp - 0x3e4]
and edx, dword [eax*4 + 0x4bbc18]
jne 0x45bd1f
jmp 0x45bd39
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
mov dword [ecx + 0x38], edx
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3e8], eax
jmp 0x45ba9f
jmp 0x45b7d6
jmp 0x45ed02
cmp dword [ebp - 0x14], 0
je 0x45e04f
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
sub ecx, 6
mov dword [ebp - 0x1a0], ecx
cmp dword [ebp - 0x1a0], 0xf
ja case.0x45bd83.9
mov edx, dword [ebp - 0x1a0]
jmp dword [edx*4 + 0x463598]
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x45bda7
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x45bfd9
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x45be14
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45be0f
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45bdef
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45be0f
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45be0f
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45bfd9
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x8c], 0
je 0x45be87
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x45be6c
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 0x1c]
add ecx, 0x90
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x54]
push eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x8c]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
push ecx
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x45be6c
mov dword [ebp - 0x3ec], 1
jmp 0x45be76
mov dword [ebp - 0x3ec], 0
mov edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f4], edx
jmp 0x45bf0d
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x54]
sub edx, dword [ecx + 0x90]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], edx
ja 0x45bef7
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 0x1c]
movzx edx, byte [ecx + edx + 0x94]
cmp eax, edx
jne 0x45bef7
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x90], 1
je 0x45beeb
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx + 1]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 0x1c]
movzx ecx, byte [edx + ecx + 0x94]
cmp eax, ecx
jne 0x45bef7
mov dword [ebp - 0x3f0], 1
jmp 0x45bf01
mov dword [ebp - 0x3f0], 0
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x45bf1b
jmp 0x45bfd9
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x45bf8f
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp + 0x1c]
cmp eax, dword [ecx + 0x54]
jb 0x45bf8f
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x8c], 0
jne 0x45bf8f
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x90], 2
jne 0x45bf8f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 0x1c]
movzx edx, byte [ecx + edx + 0x94]
cmp eax, edx
jne 0x45bf8f
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x45bf8f
mov eax, 0xfffffffe
jmp 0x46288e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x45bfd4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x45bfd4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45bf9e
jmp 0x45bd9e
jmp 0x45df6e
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0xffffffff
jae 0x45c0c5
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45c011
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45c0c3
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45c07b
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45c079
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45c059
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45c079
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45c079
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45c0c3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x45c0be
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x45c0be
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45c08a
jmp 0x45c008
jmp 0x45c113
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x54]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45c113
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45c0f3
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45c113
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45c113
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45df6e
mov ecx, 4
shl ecx, 0
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov ecx, dword [edx + ecx + 0x20]
sub ecx, dword [esi + eax + 0x20]
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax + 0x38]
cmp dword [ebp - 8], ecx
jbe 0x45c19a
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x38], ecx
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45c198
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45c178
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45c198
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45c198
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45c1a9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45df6e
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45c1cb
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45c52f
mov dword [ebp - 0xe4], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45c242
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45c23d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45c21d
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45c23d
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45c23d
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45c52f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x45c48d
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45c29a
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0xe4], ecx
jmp 0x45c48d
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45c2f2
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe4]
add eax, 2
mov dword [ebp - 0xe4], eax
jmp 0x45c48d
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45c364
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xe4]
add edx, 3
mov dword [ebp - 0xe4], edx
jmp 0x45c48d
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45c3f4
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xe4]
add eax, 4
mov dword [ebp - 0xe4], eax
jmp 0x45c48d
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xe4]
add eax, 5
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 8], 0xd
jne 0x45c4dd
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x3f8]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x3f8]
cmp eax, dword [edx + 0x54]
jb 0x45c4be
jmp 0x45c52f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x45c4db
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45c52a
cmp dword [ebp - 8], 0xa
je 0x45c518
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3e]
cmp edx, 2
je 0x45c516
cmp dword [ebp - 8], 0xb
je 0x45c518
cmp dword [ebp - 8], 0xc
je 0x45c518
cmp dword [ebp - 8], 0x85
je 0x45c518
cmp dword [ebp - 8], 0x2028
je 0x45c518
cmp dword [ebp - 8], 0x2029
je 0x45c518
jmp 0x45c52f
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45c1c2
jmp 0x45df6e
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x45c551
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x45c92a
mov dword [ebp - 0xe8], 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x45c5c8
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45c5c3
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45c5a3
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45c5c3
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45c5c3
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45c92a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xc0
jb 0x45c813
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x45c620
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
jmp 0x45c813
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x45c678
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xe8]
add ecx, 2
mov dword [ebp - 0xe8], ecx
jmp 0x45c813
mov edx, dword [ebp - 8]
and edx, 8
jne 0x45c6ea
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe8]
add eax, 3
mov dword [ebp - 0xe8], eax
jmp 0x45c813
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x45c77a
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xe8]
add ecx, 4
mov dword [ebp - 0xe8], ecx
jmp 0x45c813
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 5
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xe8]
add ecx, 5
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0x2000
ja 0x45c87e
cmp dword [ebp - 0x88], 0x2000
je case.0x45c8bd.0
cmp dword [ebp - 0x88], 0xa0
ja 0x45c864
cmp dword [ebp - 0x88], 0xa0
je case.0x45c8bd.0
cmp dword [ebp - 0x88], 9
je case.0x45c8bd.0
cmp dword [ebp - 0x88], 0x20
je case.0x45c8bd.0
jmp case.0x45c8bd.10
cmp dword [ebp - 0x88], 0x1680
je case.0x45c8bd.0
cmp dword [ebp - 0x88], 0x180e
je case.0x45c8bd.0
jmp case.0x45c8bd.10
cmp dword [ebp - 0x88], 0x3000
ja 0x45c8c4
cmp dword [ebp - 0x88], 0x3000
je case.0x45c8bd.0
mov eax, dword [ebp - 0x88]
sub eax, 0x2001
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x5e
ja case.0x45c8bd.10
mov ecx, dword [ebp - 0x88]
movzx edx, byte [ecx + 0x4635e0]
jmp dword [edx*4 + 0x4635d8]
jmp case.0x45c8bd.10
mov dword [ebp - 0x3fc], 1
jmp 0x45c8dc
mov dword [ebp - 0x3fc], 0
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0x12
jne 0x45c8f9
mov dword [ebp - 0x400], 1
jmp 0x45c903
mov dword [ebp - 0x400], 0
mov edx, dword [ebp - 0x3fc]
cmp edx, dword [ebp - 0x400]
jne 0x45c913
jmp 0x45c92a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45c548
jmp 0x45df6e
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x45c94c
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x45ccd2
mov dword [ebp - 0xec], 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x45c9c3
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45c9be
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45c99e
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45c9be
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45c9be
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45ccd2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xc0
jb 0x45cc0e
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x45ca1b
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
jmp 0x45cc0e
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x45ca73
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xec]
add ecx, 2
mov dword [ebp - 0xec], ecx
jmp 0x45cc0e
mov edx, dword [ebp - 8]
and edx, 8
jne 0x45cae5
mov eax, dword [ebp - 8]
and eax, 7
shl eax, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xec]
add eax, 3
mov dword [ebp - 0xec], eax
jmp 0x45cc0e
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x45cb75
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xec]
add ecx, 4
mov dword [ebp - 0xec], ecx
jmp 0x45cc0e
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 5
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xec]
add ecx, 5
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x134], edx
cmp dword [ebp - 0x134], 0x85
ja 0x45cc54
cmp dword [ebp - 0x134], 0x85
je case.0x45cc4d.0
mov eax, dword [ebp - 0x134]
sub eax, 0xa
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 3
ja case.default.0x45cc4d
mov ecx, dword [ebp - 0x134]
jmp dword [ecx*4 + 0x463640]
cmp dword [ebp - 0x134], 0x2028
je case.0x45cc4d.0
cmp dword [ebp - 0x134], 0x2029
je case.0x45cc4d.0
jmp case.default.0x45cc4d
mov dword [ebp - 0x404], 1
jmp 0x45cc84
mov dword [ebp - 0x404], 0
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0x14
jne 0x45cca1
mov dword [ebp - 0x408], 1
jmp 0x45ccab
mov dword [ebp - 0x408], 0
mov ecx, dword [ebp - 0x404]
cmp ecx, dword [ebp - 0x408]
jne 0x45ccbb
jmp 0x45ccd2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45c943
jmp 0x45df6e
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45ccf4
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45cfea
mov dword [ebp - 0xf0], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45cd6b
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45cd66
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45cd46
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45cd66
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45cd66
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45cfea
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x45cfb6
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45cdc3
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xf0]
add ecx, 1
mov dword [ebp - 0xf0], ecx
jmp 0x45cfb6
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45ce1b
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xf0]
add eax, 2
mov dword [ebp - 0xf0], eax
jmp 0x45cfb6
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45ce8d
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xf0]
add edx, 3
mov dword [ebp - 0xf0], edx
jmp 0x45cfb6
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45cf1d
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xf0]
add eax, 4
mov dword [ebp - 0xf0], eax
jmp 0x45cfb6
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xf0]
add eax, 5
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 8], 0x100
jae 0x45cfd3
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 8
je 0x45cfd3
jmp 0x45cfea
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45cceb
jmp 0x45df6e
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45d00c
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45d302
mov dword [ebp - 0xf4], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45d083
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45d07e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45d05e
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45d07e
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45d07e
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45d302
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x45d2ce
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45d0db
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
jmp 0x45d2ce
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45d133
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xf4]
add eax, 2
mov dword [ebp - 0xf4], eax
jmp 0x45d2ce
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45d1a5
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xf4]
add edx, 3
mov dword [ebp - 0xf4], edx
jmp 0x45d2ce
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45d235
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xf4]
add eax, 4
mov dword [ebp - 0xf4], eax
jmp 0x45d2ce
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xf4]
add eax, 5
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 8], 0x100
jae 0x45d2e9
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 8
jne 0x45d2eb
jmp 0x45d302
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45d003
jmp 0x45df6e
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45d324
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45d61a
mov dword [ebp - 0xf8], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45d39b
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45d396
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45d376
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45d396
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45d396
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45d61a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x45d5e6
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45d3f3
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0xf8], ecx
jmp 0x45d5e6
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45d44b
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xf8]
add eax, 2
mov dword [ebp - 0xf8], eax
jmp 0x45d5e6
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45d4bd
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xf8]
add edx, 3
mov dword [ebp - 0xf8], edx
jmp 0x45d5e6
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45d54d
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xf8]
add eax, 4
mov dword [ebp - 0xf8], eax
jmp 0x45d5e6
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xf8]
add eax, 5
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 8], 0x100
jae 0x45d603
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 1
je 0x45d603
jmp 0x45d61a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45d31b
jmp 0x45df6e
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45d63c
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45d932
mov dword [ebp - 0xfc], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45d6b3
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45d6ae
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45d68e
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45d6ae
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45d6ae
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45d932
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x45d8fe
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45d70b
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
jmp 0x45d8fe
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45d763
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xfc]
add eax, 2
mov dword [ebp - 0xfc], eax
jmp 0x45d8fe
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45d7d5
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xfc]
add edx, 3
mov dword [ebp - 0xfc], edx
jmp 0x45d8fe
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45d865
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xfc]
add eax, 4
mov dword [ebp - 0xfc], eax
jmp 0x45d8fe
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xfc]
add eax, 5
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 8], 0x100
jae 0x45d919
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 1
jne 0x45d91b
jmp 0x45d932
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45d633
jmp 0x45df6e
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45d954
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45dc4a
mov dword [ebp - 0x100], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45d9cb
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45d9c6
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45d9a6
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45d9c6
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45d9c6
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45dc4a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x45dc16
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45da23
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0x100]
add ecx, 1
mov dword [ebp - 0x100], ecx
jmp 0x45dc16
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45da7b
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x100]
add eax, 2
mov dword [ebp - 0x100], eax
jmp 0x45dc16
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45daed
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x100]
add edx, 3
mov dword [ebp - 0x100], edx
jmp 0x45dc16
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45db7d
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x100]
add eax, 4
mov dword [ebp - 0x100], eax
jmp 0x45dc16
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x100]
add eax, 5
mov dword [ebp - 0x100], eax
cmp dword [ebp - 8], 0x100
jae 0x45dc33
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 0x10
je 0x45dc33
jmp 0x45dc4a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45d94b
jmp 0x45df6e
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45dc6c
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45df62
mov dword [ebp - 0x104], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45dce3
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45dcde
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45dcbe
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45dcde
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45dcde
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45df62
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xc0
jb 0x45df2e
mov ecx, dword [ebp - 8]
and ecx, 0x20
jne 0x45dd3b
mov edx, dword [ebp - 8]
and edx, 0x1f
shl edx, 6
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x104], ecx
jmp 0x45df2e
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x45dd93
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x104]
add eax, 2
mov dword [ebp - 0x104], eax
jmp 0x45df2e
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x45de05
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x104]
add edx, 3
mov dword [ebp - 0x104], edx
jmp 0x45df2e
mov eax, dword [ebp - 8]
and eax, 4
jne 0x45de95
mov ecx, dword [ebp - 8]
and ecx, 3
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x104]
add eax, 4
mov dword [ebp - 0x104], eax
jmp 0x45df2e
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x104]
add eax, 5
mov dword [ebp - 0x104], eax
cmp dword [ebp - 8], 0x100
jae 0x45df49
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + eax]
and ecx, 0x10
jne 0x45df4b
jmp 0x45df62
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45dc63
jmp 0x45df6e
mov eax, 0xffffffd4
jmp 0x46288e
cmp dword [ebp - 0x18], 2
jne 0x45df79
jmp 0x445227
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
cmp ecx, dword [edx + eax + 4]
ja 0x45df95
jmp 0x45e04a
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xdd
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45dfba
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x45dff1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45dfc9
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0x11
jne 0x45e045
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
cmp ecx, dword [edx + eax + 4]
jbe 0x45e045
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
cmp ecx, 0xa
jne 0x45e045
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax - 1]
cmp ecx, 0xd
jne 0x45e045
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45df79
jmp 0x45ed02
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x1a4]
sub edx, 6
mov dword [ebp - 0x1a4], edx
cmp dword [ebp - 0x1a4], 0xf
ja case.0x45e085.9
mov eax, dword [ebp - 0x1a4]
jmp dword [eax*4 + 0x463650]
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x10], ecx
jmp 0x45e0a9
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
jae 0x45e2a5
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x45e116
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x45e111
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x45e0f1
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x45e111
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x45e111
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e2a5
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
je 0x45e189
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x45e16e
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0x1c]
add edx, 0x90
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x8c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x45e16e
mov dword [ebp - 0x40c], 1
jmp 0x45e178
mov dword [ebp - 0x40c], 0
mov eax, dword [ebp - 0x40c]
mov dword [ebp - 0x414], eax
jmp 0x45e20f
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x54]
sub eax, dword [edx + 0x90]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
ja 0x45e1f9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + eax + 0x94]
cmp ecx, eax
jne 0x45e1f9
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 1
je 0x45e1ed
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax + 1]
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 0x1c]
movzx edx, byte [eax + edx + 0x94]
cmp ecx, edx
jne 0x45e1f9
mov dword [ebp - 0x410], 1
jmp 0x45e203
mov dword [ebp - 0x410], 0
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0
je 0x45e21d
jmp 0x45e2a5
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45e291
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp + 0x1c]
cmp ecx, dword [edx + 0x54]
jb 0x45e291
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
jne 0x45e291
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 2
jne 0x45e291
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + eax + 0x94]
cmp ecx, eax
jne 0x45e291
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45e291
mov eax, 0xfffffffe
jmp 0x46288e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45e0a0
jmp 0x45ec46
mov ecx, 4
shl ecx, 0
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov ecx, dword [edx + ecx + 0x20]
sub ecx, dword [esi + eax + 0x20]
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax + 0x38]
cmp dword [ebp - 8], ecx
jbe 0x45e32c
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x38], ecx
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45e32a
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45e30a
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45e32a
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45e32a
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e33b
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45ec46
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45e35d
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45e463
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45e3ca
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45e3c5
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45e3a5
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45e3c5
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45e3c5
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e463
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xd
jne 0x45e426
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x418]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x418]
cmp eax, dword [edx + 0x54]
jb 0x45e407
jmp 0x45e463
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x45e424
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45e45e
cmp dword [ebp - 8], 0xa
je 0x45e44f
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3e]
cmp edx, 2
je 0x45e44d
cmp dword [ebp - 8], 0xb
je 0x45e44f
cmp dword [ebp - 8], 0xc
je 0x45e44f
cmp dword [ebp - 8], 0x85
je 0x45e44f
jmp 0x45e463
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45e354
jmp 0x45ec46
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x45e485
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x45e530
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x45e4ef
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45e4ed
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45e4cd
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45e4ed
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45e4ed
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e530
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov cl, byte [eax]
mov byte [ebp - 0x208], cl
cmp byte [ebp - 0x208], 9
je 0x45e529
cmp byte [ebp - 0x208], 0x20
je 0x45e529
cmp byte [ebp - 0x208], 0xa0
je 0x45e529
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45e52b
jmp 0x45e530
jmp 0x45e47c
jmp 0x45ec46
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45e552
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45e5fb
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45e5bc
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45e5ba
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45e59a
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45e5ba
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45e5ba
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e5fb
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov al, byte [edx]
mov byte [ebp - 0x20c], al
cmp byte [ebp - 0x20c], 9
je 0x45e5e7
cmp byte [ebp - 0x20c], 0x20
je 0x45e5e7
cmp byte [ebp - 0x20c], 0xa0
je 0x45e5e7
jmp 0x45e5fb
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45e549
jmp 0x45ec46
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x10], ecx
jmp 0x45e61d
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
jae 0x45e6da
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jb 0x45e687
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x45e685
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x45e665
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x45e685
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x45e685
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e6da
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0x7b
ja case.0x45e6bb.4
mov ecx, dword [ebp - 0x1a8]
movzx edx, byte [ecx + 0x463698]
jmp dword [edx*4 + 0x463690]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45e6d5
jmp 0x45e6da
jmp 0x45e614
jmp 0x45ec46
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x10], eax
jmp 0x45e6fc
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
jae 0x45e7b7
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x45e766
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45e764
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45e744
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45e764
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45e764
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e7b7
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x1ac]
sub edx, 0xa
mov dword [ebp - 0x1ac], edx
cmp dword [ebp - 0x1ac], 0x7b
ja case.0x45e79a.4
mov eax, dword [ebp - 0x1ac]
movzx ecx, byte [eax + 0x46371c]
jmp dword [ecx*4 + 0x463714]
jmp 0x45e7b7
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45e6f3
jmp 0x45ec46
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45e7d9
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45e87a
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45e843
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45e841
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45e821
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45e841
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45e841
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e87a
mov ecx, 1
test ecx, ecx
je 0x45e866
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
movzx ecx, byte [eax + ecx]
and ecx, 8
je 0x45e866
jmp 0x45e87a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45e7d0
jmp 0x45ec46
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45e89c
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45e938
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45e906
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45e904
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45e8e4
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45e904
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45e904
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e938
xor ecx, ecx
jne 0x45e922
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
movzx ecx, byte [eax + ecx]
and ecx, 8
jne 0x45e924
jmp 0x45e938
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45e893
jmp 0x45ec46
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45e95a
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45e9fb
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45e9c4
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45e9c2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45e9a2
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45e9c2
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45e9c2
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45e9fb
mov ecx, 1
test ecx, ecx
je 0x45e9e7
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
movzx ecx, byte [eax + ecx]
and ecx, 1
je 0x45e9e7
jmp 0x45e9fb
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45e951
jmp 0x45ec46
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45ea1d
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45eab9
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45ea87
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45ea85
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45ea65
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45ea85
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45ea85
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45eab9
xor ecx, ecx
jne 0x45eaa3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
movzx ecx, byte [eax + ecx]
and ecx, 1
jne 0x45eaa5
jmp 0x45eab9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45ea14
jmp 0x45ec46
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45eadb
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45eb7c
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45eb45
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45eb43
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45eb23
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45eb43
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45eb43
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45eb7c
mov ecx, 1
test ecx, ecx
je 0x45eb68
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
movzx ecx, byte [eax + ecx]
and ecx, 0x10
je 0x45eb68
jmp 0x45eb7c
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45ead2
jmp 0x45ec46
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45eb9e
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45ec3a
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45ec08
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45ec06
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45ebe6
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45ec06
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45ec06
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45ec3a
xor ecx, ecx
jne 0x45ec24
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
movzx ecx, byte [eax + ecx]
and ecx, 0x10
jne 0x45ec26
jmp 0x45ec3a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x45eb95
jmp 0x45ec46
mov eax, 0xffffffd4
jmp 0x46288e
cmp dword [ebp - 0x18], 2
jne 0x45ec51
jmp 0x445227
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
cmp ecx, dword [edx + eax + 4]
jne 0x45ec6d
jmp 0x45ed02
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0x22
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45ec92
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0x11
jne 0x45ecfd
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
cmp ecx, dword [edx + eax + 4]
jbe 0x45ecfd
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
cmp ecx, 0xa
jne 0x45ecfd
mov edx, 1
imul eax, edx, 0xffffffff
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx + eax]
cmp eax, 0xd
jne 0x45ecfd
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45ec51
jmp 0x4626ad
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x31]
cmp edx, 0x74
jne 0x45ed1f
mov dword [ebp - 0x41c], 1
jmp 0x45ed29
mov dword [ebp - 0x41c], 0
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x41c]
mov dword [ecx + eax + 0x20], edx
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov dword [ebp - 0x210], ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, dword [ebp + 0x1c]
movzx ecx, word [edx + 0x42]
imul eax, ecx
mov edx, dword [ebp + 0x1c]
add eax, dword [edx + 0x44]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x210]
sub ecx, 1
mov dword [ebp - 0x210], ecx
cmp dword [ebp - 0x63c], 0
jle 0x45ee42
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x1b0]
movzx edx, byte [ecx + eax]
shl edx, 8
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x1b0]
movzx eax, byte [ecx + eax]
or edx, eax
lea ecx, [edx + edx - 2]
mov edx, dword [ebp - 4]
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x14]
cmp edx, dword [ecx + 0x54]
jae 0x45ee2a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 4]
cmp dword [edx + ecx*4 + 0x58], 0xffffffff
je 0x45ee2a
jmp 0x45ee42
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x42]
add ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b0], ecx
jmp 0x45edb3
jmp 0x45eeb7
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
cmp eax, 0x72
jne 0x45ee5c
mov dword [ebp - 0x420], 1
jmp 0x45ee66
mov dword [ebp - 0x420], 0
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x420]
mov dword [edx + ecx + 0x20], eax
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
lea eax, [ecx + ecx - 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x14], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp - 0x1b4]
sub edx, 0x62
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 7
ja case.default.0x45eee7
mov eax, dword [ebp - 0x1b4]
jmp dword [eax*4 + 0x463798]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
sub eax, 0x62
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx*4 + 0x4b9540]
mov dword [eax + edx + 0x20], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx*4 + 0x4b956c]
mov dword [eax + edx + 0x20], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx*4 + 0x4b9598]
mov dword [ebp - 0x18], eax
jmp 0x45f0bc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, 4
imul edx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], ecx
mov ecx, 1
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, 4
shl ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
mov ecx, dword [eax*4 + 0x4b9410]
mov dword [ebp - 0x18], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0
jne 0x45efef
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0xffffffff
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 5
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x45f0bc
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.004447c0
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x45f0a5
cmp dword [ebp - 0xc], 0
jle 0x45f049
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x38], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x45f099
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x45f099
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x45f079
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x45f099
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45f099
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x445227
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x14]
cmp ecx, dword [eax + 0x54]
jae 0x45f0fd
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax*4 + 0x58], 0xffffffff
je 0x45f0fd
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov eax, dword [ecx + eax*4 + 0x58]
cmp eax, dword [esi + edx*4 + 0x5c]
jne 0x45f0fb
jmp 0x445227
jmp 0x45f125
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0
je 0x45f120
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x80]
and edx, 0x200
je 0x45f125
jmp 0x445227
mov dword [ebp - 0x10], 1
jmp 0x45f137
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + edx + 0x20]
ja 0x45f20a
lea edx, [ebp - 0x640]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
push eax
call fcn.004447c0
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x45f1f3
cmp dword [ebp - 0xc], 0
jle 0x45f197
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x54]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45f1e7
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45f1e7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45f1c7
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45f1e7
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45f1e7
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, dword [ebp - 0x640]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45f12e
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov edx, dword [ecx + edx + 0x20]
cmp edx, dword [esi + eax + 0x20]
jne 0x45f22f
jmp 0x445227
cmp dword [ebp - 0x18], 0
jne 0x45f383
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x14
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45f25e
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x644], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x648], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
add edx, 1
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [ebp - 0x644]
cmp ecx, dword [ebp - 0x648]
jb 0x45f2c3
mov dword [ebp - 0xc], 0
jmp 0x4626b2
lea edx, [ebp - 0x64c]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
push eax
call fcn.004447c0
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x45f367
cmp dword [ebp - 0xc], 0
jle 0x45f30b
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x54]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jb 0x45f35b
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x45f35b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x60]
ja 0x45f33b
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x45f35b
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x45f35b
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, dword [ebp - 0x64c]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45f239
mov dword [ebp - 0x428], 1
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
mov dword [eax + edx + 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov eax, dword [ecx + eax*4 + 0x5c]
sub eax, dword [esi + edx*4 + 0x58]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45f3df
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45f49d
lea ecx, [ebp - 0x424]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x14]
push edx
call fcn.004447c0
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x45f46e
cmp dword [ebp - 0xc], 0
jle 0x45f46c
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x45f46c
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x54]
cmp ecx, dword [eax + 0x60]
jbe 0x45f46c
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x45f46c
mov eax, 0xfffffffe
jmp 0x46288e
jmp 0x45f49d
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x424]
cmp eax, dword [edx + 0xc]
je 0x45f486
mov dword [ebp - 0x428], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, dword [ebp - 0x424]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x45f3d6
cmp dword [ebp - 0x428], 0
je 0x45f4fb
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + edx + 4]
jb 0x45f4f6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x15
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45f4e2
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x38]
sub ecx, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45f4a6
jmp 0x45f5fb
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov dword [ecx + eax + 0x20], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x16
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45f532
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + edx + 4]
jne 0x45f54e
jmp 0x45f5fb
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + edx + 4]
mov dword [eax + 0x38], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
sub edx, 1
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], edx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x10], edx
jmp 0x45f5a1
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x45f5f6
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x14]
push edx
call fcn.004447c0
add esp, 0x14
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0x650]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], ecx
jmp 0x45f598
jmp 0x45f50d
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 4], ecx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 4]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 9
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45f64d
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, 4
imul eax, edx, 0
mov edx, 1
shl edx, 0
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax + 4]
movzx edx, byte [eax + edx]
shl edx, 8
mov eax, 4
imul eax, eax, 0
mov esi, 1
shl esi, 1
mov edi, dword [ebp - 4]
mov eax, dword [edi + eax + 4]
movzx eax, byte [eax + esi]
or edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + ecx + 4]
mov ecx, 4
imul eax, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 4], edx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 4]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x45f64d
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 4]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 4], ecx
mov eax, 4
imul ecx, eax, 0
mov edx, 4
imul eax, edx, 0
mov edx, 1
shl edx, 0
mov esi, dword [ebp - 4]
mov eax, dword [esi + eax + 4]
movzx edx, byte [eax + edx]
shl edx, 8
mov eax, 4
imul eax, eax, 0
mov esi, 1
shl esi, 1
mov edi, dword [ebp - 4]
mov eax, dword [edi + eax + 4]
movzx eax, byte [eax + esi]
or edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + ecx + 4]
mov ecx, 4
imul eax, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 4], edx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 4]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x45f6ef
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 4]
add ecx, 3
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xa
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45f790
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, dword [ebp - 4]
add ecx, dword [eax]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
cmp edx, 0x78
je 0x45f7af
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 1
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
cmp ecx, 0x8a
je 0x45f83d
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
cmp ecx, 0x8f
jne 0x45f83f
jmp 0x45f87a
jmp 0x45f853
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0x20000
jmp 0x45f8bb
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
or eax, 0x10000
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], 0
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [edx + ecx + 4], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
mov dword [eax + edx + 4], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x4bbad8]
mov ecx, dword [ebp - 4]
add eax, dword [ecx]
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 8
jmp 0x444f78
cmp dword [ebp - 0xc], 0xfffffc1a
jne 0x45f9c1
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], 1
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
cmp ecx, dword [edx + eax + 4]
jne 0x45f9a8
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp - 4]
add edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x45f966
jmp 0x45fa80
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + ecx + 4]
mov dword [edx], ecx
jmp 0x45f8e2
cmp dword [ebp - 0xc], 0xfffffc1f
jne 0x45fa2b
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp - 4]
add edx, dword [ecx]
mov dword [ebp - 0x42c], edx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x70]
cmp eax, dword [ebp - 0x42c]
jae 0x45fa2b
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x45fa24
mov ecx, dword [ebp - 0x42c]
movzx edx, byte [ecx]
cmp edx, 0x78
jne 0x45fa2b
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x45fa3c
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, dword [ebp - 4]
add ecx, dword [eax]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
cmp edx, 0x78
je 0x45fa7b
jmp 0x45fa80
jmp 0x45f8e2
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0
jne 0x45faa3
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 4]
cmp dword [eax + edx + 0x20], 0
je 0x45fab5
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x20], 0
jne 0x45fad3
mov edx, dword [ebp - 4]
cmp dword [edx + 0x18], 0
jne 0x45faeb
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], 0
jmp 0x45fc02
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, dword [ebp - 4]
add eax, dword [edx]
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 4], eax
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 4]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x45fb3e
jmp 0x45fb8b
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4bbad8]
mov edx, dword [ebp - 4]
add ecx, dword [edx]
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 1
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x45fb72
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax + 4]
mov dword [ecx], eax
jmp 0x45faeb
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4bbad8]
mov edx, dword [ebp - 4]
add ecx, dword [edx]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
jmp 0x4626ad
mov ecx, 1
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
or edx, 0x10000
mov ecx, 4
imul eax, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x20], edx
jmp 0x45fc02
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
or eax, 0x20000
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + edx + 0x20], eax
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x4bbad8]
mov ecx, dword [ebp - 4]
add eax, dword [ecx]
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 2
jmp 0x444f78
cmp dword [ebp - 0xc], 0xfffffc1f
jne 0x45fca4
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, dword [ebp - 4]
add eax, dword [edx]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x70]
cmp ecx, dword [ebp - 0x430]
jae 0x45fca4
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
cmp ecx, 0x78
je 0x45fc9d
mov edx, dword [ebp - 0x430]
movzx eax, byte [edx]
cmp eax, 0x78
jne 0x45fca4
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x45fcb5
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp - 4]
add edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x45fcfe
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45fc02
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, dword [ebp + 0x1c]
add ecx, dword [eax + 0x48]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x94]
cmp edx, dword [ecx + 0x48]
jne 0x45fd4f
mov dword [ebp - 0x434], 0
jmp 0x45fd7e
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + ecx]
shl eax, 8
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 0x94]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov dword [ebp - 0x434], eax
mov edx, dword [ebp - 0x434]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
je 0x45fe04
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 0xffffffff
je 0x45fe04
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x18]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp + 0x14]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x2c]
or eax, 0x40000
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x1c], eax
jne 0x45fdf9
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x38]
jne 0x45fdf7
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 0x64]
cmp ecx, dword [eax + 0x44]
jne 0x45fdf7
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x7c]
and eax, 0x40000
jne 0x45fdf7
mov eax, 0xffffffcc
jmp 0x46288e
jmp 0x45fe04
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x20], edx
jmp 0x45fd99
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x64]
mov dword [eax + 0x44], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x94]
mov dword [edx + ecx + 4], eax
mov ecx, dword [ebp - 0x2c]
or ecx, 0x40000
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x90], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + ecx + 4]
movzx eax, byte [ecx]
movzx ecx, byte [eax + 0x4bbad8]
mov eax, dword [ebp - 4]
add ecx, dword [eax + edx + 4]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0xb
jmp 0x444f78
mov edx, 4
imul eax, edx, 0
mov ecx, 4
imul edx, ecx, 0
mov ecx, 1
shl ecx, 0
mov esi, dword [ebp - 4]
mov edx, dword [esi + edx + 4]
movzx ecx, byte [edx + ecx]
shl ecx, 8
mov edx, 4
imul edx, edx, 0
mov esi, 1
shl esi, 1
mov edi, dword [ebp - 4]
mov edx, dword [edi + edx + 4]
movzx edx, byte [edx + esi]
or ecx, edx
mov edx, dword [ebp - 4]
add ecx, dword [edx + eax + 4]
mov dword [ebp - 0x214], ecx
cmp dword [ebp - 0xc], 0xfffffc1b
jl 0x45ff57
cmp dword [ebp - 0xc], 0xfffffc1f
jg 0x45ff57
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
xor eax, 0x40000
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x78], eax
jne 0x45ff57
cmp dword [ebp - 0xc], 0xfffffc1f
jne 0x45ff4b
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x70]
cmp eax, dword [ebp - 0x214]
jae 0x45ff4b
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 4]
movzx edx, byte [ecx]
cmp edx, 0x78
je 0x45ff42
mov eax, dword [ebp - 0x214]
movzx ecx, byte [eax]
cmp ecx, 0x78
jne 0x45ff4b
mov dword [ebp - 0xc], 0
jmp 0x45ff57
mov dword [ebp - 0xc], 0
jmp 0x4626b2
cmp dword [ebp - 0xc], 0
je 0x45ff68
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x214]
mov dword [edx + ecx + 4], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 4]
movzx edx, byte [ecx]
cmp edx, 0x78
je 0x45ffa0
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45fe3d
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
or ecx, 0x20000
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + eax + 0x20], ecx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4bbad8]
mov edx, dword [ebp - 4]
add ecx, dword [edx]
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 3
jmp 0x444f78
cmp dword [ebp - 0xc], 0xfffffc19
jne 0x460048
mov ecx, dword [ebp - 0x138]
mov edx, dword [ecx + 0x54]
shl edx, 2
push edx
mov eax, dword [ebp - 0x138]
add eax, 0x58
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x58
push ecx
call fcn.0047cfc0
add esp, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x54], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x40], ecx
jmp 0x4600b0
cmp dword [ebp - 0xc], 0
je 0x460062
cmp dword [ebp - 0xc], 0xfffffc1f
je 0x460062
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, dword [ebp - 4]
add eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
cmp ecx, 0x78
je 0x4600ab
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x45ffc1
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp - 4]
add edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x4600b0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x31]
or edx, 0x20000
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x4bbad8]
mov eax, dword [ebp - 4]
add edx, dword [eax]
mov dword [ebp + 0xc], edx
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 4
jmp 0x444f78
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x144], edx
cmp dword [ebp - 0x144], 0
jg 0x460199
cmp dword [ebp - 0x144], 0
je case.0x460192.6
mov eax, dword [ebp - 0x144]
add eax, 0x3e7
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 6
ja case.0x460192.1
mov ecx, dword [ebp - 0x144]
jmp dword [ecx*4 + 0x4637b8]
cmp dword [ebp - 0x144], 1
je case.0x460192.0
jmp case.0x460192.1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp - 4]
add edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x4601f2
jmp 0x460243
jmp 0x46023e
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, dword [ebp - 4]
add ecx, dword [eax]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
cmp edx, 0x78
je case.0x460192.2
jmp 0x460243
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
jmp 0x46011b
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
lea ecx, [ebp - 0x14c]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00444570
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x460281
mov dword [ebp - 0xc], 0
jmp 0x4626b2
cmp dword [ebp - 0xc], 0
jge 0x460292
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
cmp eax, 0x78
je 0x4602f6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
sub edx, 3
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
cmp eax, 0x76
je 0x46031d
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
cmp eax, 0x77
jne 0x46037c
lea ecx, [ebp - 0x14c]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00444570
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x460349
mov dword [ebp - 0xc], 0
jmp 0x4626b2
cmp dword [ebp - 0xc], 0
jge 0x46035a
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
sub eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
mov dword [ebp - 0x8c], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x1b8]
sub edx, 0x91
mov dword [ebp - 0x1b8], edx
cmp dword [ebp - 0x1b8], 0x12
ja case.0x4603c0.6
mov eax, dword [ebp - 0x1b8]
movzx ecx, byte [eax + 0x4637f0]
jmp dword [ecx*4 + 0x4637d4]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x48], 0xffffffff
je 0x46042f
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffff
je 0x460419
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [edx + 0x48]
je 0x460419
mov dword [ebp - 0x438], 0
jmp 0x460423
mov dword [ebp - 0x438], 1
mov ecx, dword [ebp - 0x438]
mov dword [ebp - 0x8c], ecx
jmp 0x460977
mov edx, dword [ebp - 4]
cmp dword [edx + 0x48], 0xffffffff
je 0x46054a
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov dword [ebp - 0x218], ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, dword [ebp + 0x1c]
movzx ecx, word [edx + 0x42]
imul eax, ecx
mov edx, dword [ebp + 0x1c]
add eax, dword [edx + 0x44]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0x218]
sub ecx, 1
mov dword [ebp - 0x218], ecx
cmp dword [ebp - 0x654], 0
jle 0x46054a
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x1bc]
movzx edx, byte [ecx + eax]
shl edx, 8
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x1bc]
movzx eax, byte [ecx + eax]
or edx, eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ecx + 0x48]
jne 0x460511
mov dword [ebp - 0x43c], 1
jmp 0x46051b
mov dword [ebp - 0x43c], 0
mov eax, dword [ebp - 0x43c]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x460532
jmp 0x46054a
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x42]
add edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1bc], edx
jmp 0x4604aa
jmp 0x460977
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
lea edx, [eax + eax - 2]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [eax + 0x54]
jae 0x4605a0
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
cmp dword [eax + edx*4 + 0x58], 0xffffffff
je 0x4605a0
mov dword [ebp - 0x440], 1
jmp 0x4605aa
mov dword [ebp - 0x440], 0
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 0x8c], ecx
jmp 0x460977
mov edx, 1
imul eax, edx, 3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov dword [ebp - 0x21c], eax
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp + 0x1c]
movzx eax, word [ecx + 0x42]
imul edx, eax
mov ecx, dword [ebp + 0x1c]
add edx, dword [ecx + 0x44]
mov dword [ebp - 0x1c0], edx
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x658], edx
mov eax, dword [ebp - 0x21c]
sub eax, 1
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x658], 0
jle 0x4606d9
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1c0]
movzx ecx, byte [eax + edx]
shl ecx, 8
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x1c0]
movzx edx, byte [eax + edx]
or ecx, edx
lea eax, [ecx + ecx - 2]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x20]
cmp edx, dword [ecx + 0x54]
jae 0x4606a0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax*4 + 0x58], 0xffffffff
je 0x4606a0
mov dword [ebp - 0x444], 1
jmp 0x4606aa
mov dword [ebp - 0x444], 0
mov edx, dword [ebp - 0x444]
mov dword [ebp - 0x8c], edx
cmp dword [ebp - 0x8c], 0
je 0x4606c1
jmp 0x4606d9
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x42]
add ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0x1c0], ecx
jmp 0x460624
jmp 0x460977
jmp 0x460977
mov dword [ebp - 0x8c], 1
jmp 0x460977
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
cmp ecx, 0x7f
je 0x46071b
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
cmp ecx, 0x81
je 0x46071b
mov dword [ebp - 0x448], 0
jmp 0x460725
mov dword [ebp - 0x448], 1
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x448]
mov dword [ecx + eax + 0x20], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [edx + ecx + 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
or eax, 0x30000
mov dword [ebp - 0x90], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + ecx + 4]
movzx eax, byte [ecx]
movzx ecx, byte [eax + 0x4bbad8]
mov eax, dword [ebp - 4]
add ecx, dword [eax + edx + 4]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 5
jmp 0x444f78
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x148], edx
cmp dword [ebp - 0x148], 0
jg 0x4607e2
cmp dword [ebp - 0x148], 0
je case.0x4607db.6
mov eax, dword [ebp - 0x148]
add eax, 0x3e7
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 6
ja case.0x4607db.1
mov ecx, dword [ebp - 0x148]
jmp dword [ecx*4 + 0x463804]
cmp dword [ebp - 0x148], 1
je 0x460825
jmp case.0x4607db.1
mov edx, dword [ebp - 0x138]
mov eax, dword [edx + 0x54]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x138]
add ecx, 0x58
push ecx
mov edx, dword [ebp - 4]
add edx, 0x58
push edx
call fcn.0047cfc0
add esp, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x138]
mov edx, dword [ecx + 0x54]
mov dword [eax + 0x54], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x8c], eax
jmp 0x46092a
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
imul ecx, eax, 0
mov eax, 1
shl eax, 0
mov esi, dword [ebp - 4]
mov ecx, dword [esi + ecx + 4]
movzx eax, byte [ecx + eax]
shl eax, 8
mov ecx, 4
imul ecx, ecx, 0
mov esi, 1
shl esi, 1
mov edi, dword [ebp - 4]
mov ecx, dword [edi + ecx + 4]
movzx ecx, byte [ecx + esi]
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, dword [ecx + edx + 4]
mov edx, 4
imul ecx, edx, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 4]
movzx ecx, byte [eax]
cmp ecx, 0x78
jne 0x4608b3
jmp 0x46074e
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax + 0x20], 0
jne 0x4608d1
mov dword [ebp - 0x44c], 1
jmp 0x4608db
mov dword [ebp - 0x44c], 0
mov edx, dword [ebp - 0x44c]
mov dword [ebp - 0x8c], edx
jmp 0x46092a
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
cmp dword [edx + ecx + 0x20], 0
jne 0x460907
mov dword [ebp - 0x450], 1
jmp 0x460911
mov dword [ebp - 0x450], 0
mov eax, dword [ebp - 0x450]
mov dword [ebp - 0x8c], eax
jmp 0x46092a
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
jmp 0x460931
cmp dword [ebp - 0x8c], 0
je 0x460977
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp - 4]
add edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x46093a
cmp dword [ebp - 0x8c], 0
je 0x460997
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4bbad8]
mov dword [ebp - 0x454], ecx
jmp 0x4609a3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x454]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x31]
cmp edx, 0x90
jne 0x4609f4
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
or ecx, 0x20000
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0x23
jmp 0x444f78
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
jmp 0x4626ad
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x14], 0
je 0x460a96
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x65c], edx
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x65c], 0
jbe 0x460a94
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x50]
ja 0x460a5d
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x460a92
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x460a6c
jmp 0x460a28
jmp 0x460ac2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
sub eax, dword [edx + 0x4c]
cmp dword [ebp - 0x2c], eax
jle 0x460ab3
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
jae 0x460adc
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x60], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 3
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
or ecx, edx
mov eax, 4
imul edx, eax, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x20], ecx
mov ecx, 1
imul edx, ecx, 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, 4
shl ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + ecx + 0x20], edx
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
mov dword [eax + edx + 4], ecx
cmp dword [ebp - 0x14], 0
je 0x460c1f
mov dword [ebp - 0x10], 0
jmp 0x460b8a
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + eax + 0x20]
jae 0x460c1a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x4c]
jne 0x460be0
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx + ecx + 0x20]
jae 0x460bcc
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov dword [edx + ecx + 0x20], eax
jmp 0x460c1a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x460c15
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x460bef
jmp 0x460b81
jmp 0x460cec
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
sub eax, dword [edx + 0x4c]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0xffff
jle 0x460c49
mov dword [ebp - 0x45c], 0xffff
jmp 0x460c76
cmp dword [ebp - 0x220], 0
jle 0x460c60
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x458], ecx
jmp 0x460c6a
mov dword [ebp - 0x458], 0
mov edx, dword [ebp - 0x458]
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 0x224], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
cmp ecx, dword [ebp - 0x224]
jbe 0x460ca5
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x20]
cmp ecx, dword [ebp - 0x224]
jbe 0x460cd1
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x224]
mov dword [eax + edx + 0x20], ecx
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
sub eax, dword [ecx + edx + 0x20]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 5
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0x25
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x460d14
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax + 0x20]
mov dword [ebp - 0x660], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
mov dword [ebp - 0x664], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x20]
sub eax, 1
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx + 0x20], eax
mov eax, dword [ebp - 0x660]
cmp eax, dword [ebp - 0x664]
ja 0x460d79
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp dword [ebp - 0x14], 0
je 0x460dc2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x460dc2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x460dc2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x460d8e
jmp 0x460cec
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp - 0x158], edx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov edx, dword [ebp - 4]
add eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
cmp ecx, 0x78
je 0x460dd2
jmp 0x4626ad
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
sub eax, edx
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x158], 0
jne 0x460e5b
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x108], eax
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x108]
movzx eax, byte [edx + ecx]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 0x108]
movzx ecx, byte [edx + ecx]
or eax, ecx
add eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x158]
je 0x460ed3
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x108]
movzx ecx, byte [eax + edx]
shl ecx, 8
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 0x108]
movzx edx, byte [eax + edx]
or ecx, edx
add ecx, dword [ebp - 0x108]
mov dword [ebp - 0x108], ecx
jmp 0x460e67
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax]
cmp ecx, 0x87
je 0x460f8e
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx]
cmp eax, 0x8b
je 0x460f8e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x18]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x50]
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp + 0x14]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x50]
mov dword [edx + 0x50], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x460f8c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x54]
shl edx, 2
push edx
mov eax, dword [ebp - 4]
add eax, 0x58
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x58
push ecx
call fcn.0047cfc0
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x54], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x40], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov dword [eax + 0x10], edx
mov dword [ebp - 0xc], 1
jmp 0x4626b2
jmp 0x460f95
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x94]
movzx edx, byte [ecx]
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1c4]
sub eax, 0x7f
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0x10
ja case.0x460fc6.9
mov ecx, dword [ebp - 0x1c4]
jmp dword [ecx*4 + 0x463820]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x48], 0
jne 0x460feb
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax + ecx]
test ecx, ecx
je 0x460ff0
jmp case.0x460fc6.9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x461009
mov eax, 0xffffffd4
jmp 0x46288e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x18]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x50]
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x54]
shl edx, 2
push edx
mov eax, dword [ebp - 0x1c]
add eax, 0x58
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x58
push ecx
call fcn.0047cfc0
add esp, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x54], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov dword [edx + 0x4c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x48]
mov dword [edx + 0x48], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x445227
mov edx, 1
imul eax, edx, 3
mov ecx, dword [ebp - 0x108]
movzx edx, byte [ecx + eax]
cmp edx, 0x7e
jne case.0x460fc6.4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x38]
je case.0x460fc6.4
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jbe 0x4610d0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x64], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x38], edx
jmp case.0x460fc6.9
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 0x108]
movzx eax, byte [edx + ecx]
cmp eax, 0x7e
jne case.0x460fc6.0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x38]
je case.0x460fc6.0
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x64]
jbe 0x46112c
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x64], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x10], ecx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
movzx eax, byte [edx + eax]
shl eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov dword [ebp - 0x460], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x460]
movzx edx, byte [eax + ecx]
cmp edx, 0x78
je 0x461186
jmp 0x461198
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x460]
mov edx, dword [ebp - 0x1c]
mov dword [edx], ecx
jmp 0x461144
jmp case.0x460fc6.9
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 0x108]
movzx eax, byte [edx + ecx]
cmp eax, 0x7e
jne case.0x460fc6.1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x38]
je case.0x460fc6.1
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov dword [ebp - 0xc], 1
jmp 0x4626b2
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x38]
push edx
call fcn.0047a4f0
add esp, 0xc
test eax, eax
jne 0x461204
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp case.0x460fc6.9
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + ecx]
shl eax, 8
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 0x94]
movzx ecx, byte [edx + ecx]
or eax, ecx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x46129f
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp + 0x14]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x54]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x58
push ecx
mov edx, dword [ebp - 4]
add edx, 0x58
push edx
call fcn.0047cfc0
add esp, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x54]
mov dword [eax + 0x54], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x4c]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x48]
mov dword [eax + 0x48], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x445227
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + eax - 2]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x2c]
mov dword [edx + 0x4c], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
sub eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
mov dword [edx + ecx*4 + 0x58], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
sub edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
mov dword [ecx + eax*4 + 0x5c], edx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
cmp eax, dword [edx + 0x54]
jb case.0x460fc6.9
mov ecx, dword [ebp - 0x20]
add ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
cmp edx, 0x7c
jne 0x46132b
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x38
push ecx
mov edx, dword [ebp - 0x1c]
add edx, 0x38
push edx
call fcn.0047cfc0
add esp, 0xc
mov dword [ebp - 0xc], 0xfffffc1a
jmp 0x4626b2
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
cmp ecx, 0x79
je 0x4613e4
cmp dword [ebp - 0x1c], 0
je 0x461353
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x38]
je 0x4613e4
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
cmp eax, 0x7b
jne 0x4613be
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 3
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 6
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x461387
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx + edx]
shl edx, 8
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
or edx, eax
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
sub eax, edx
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp - 0x94]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 7
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x4613e4
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 3
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x4c]
jne 0x46140f
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x7c]
and eax, 1
je 0x46141b
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x4c]
je 0x461447
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x7c]
and edx, 2
je 0x461470
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x80]
and ecx, 0x10
jne case.0x445257.24
jmp case.0x445257.23
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x58]
jae 0x46149a
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x4614c5
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4614c5
mov eax, 0xfffffffe
jmp 0x46288e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x461685
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x8c], 0
je 0x46155b
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jae 0x461540
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp + 0x1c]
add eax, 0x90
push eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x54]
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x8c]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
push eax
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x461540
mov dword [ebp - 0x468], 1
jmp 0x46154a
mov dword [ebp - 0x468], 0
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x470], ecx
jmp 0x4615e1
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax + 0x90]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x38], ecx
ja 0x4615cb
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov eax, 1
imul ecx, eax, 0
mov eax, dword [ebp + 0x1c]
movzx ecx, byte [eax + ecx + 0x94]
cmp edx, ecx
jne 0x4615cb
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x90], 1
je 0x4615bf
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx + 1]
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 0x1c]
movzx eax, byte [ecx + eax + 0x94]
cmp edx, eax
jne 0x4615cb
mov dword [ebp - 0x46c], 1
jmp 0x4615d5
mov dword [ebp - 0x46c], 0
mov ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x470], ecx
cmp dword [ebp - 0x470], 0
je 0x461605
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x54]
sub ecx, dword [eax + 0x90]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x38], ecx
je 0x461685
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x461679
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp + 0x1c]
cmp eax, dword [ecx + 0x54]
jb 0x461679
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x8c], 0
jne 0x461679
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x90], 2
jne 0x461679
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 0x1c]
movzx edx, byte [ecx + edx + 0x94]
cmp eax, edx
jne 0x461679
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x461679
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x4616b0
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x4616b0
mov eax, 0xfffffffe
jmp 0x46288e
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x7c]
and eax, 1
je 0x4616e7
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x4c]
jne 0x4616e7
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x4c]
je 0x46183c
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jne 0x46171c
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x80]
and edx, 0x200000
je 0x461830
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
je 0x46178f
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x4c]
jbe 0x461774
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0x1c]
add edx, 0x90
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x4c]
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x8c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.004761b0
add esp, 0x14
test eax, eax
je 0x461774
mov dword [ebp - 0x474], 1
jmp 0x46177e
mov dword [ebp - 0x474], 0
mov eax, dword [ebp - 0x474]
mov dword [ebp - 0x47c], eax
jmp 0x461827
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp + 0x1c]
add edx, dword [eax + 0x90]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], edx
jb 0x461811
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
sub ecx, dword [eax + 0x90]
movzx edx, byte [ecx]
mov eax, 1
imul ecx, eax, 0
mov eax, dword [ebp + 0x1c]
movzx ecx, byte [eax + ecx + 0x94]
cmp edx, ecx
jne 0x461811
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x90], 1
je 0x461805
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
sub edx, dword [ecx + 0x90]
movzx eax, byte [edx + 1]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 0x1c]
movzx ecx, byte [edx + ecx + 0x94]
cmp eax, ecx
jne 0x461811
mov dword [ebp - 0x478], 1
jmp 0x46181b
mov dword [ebp - 0x478], 0
mov edx, dword [ebp - 0x478]
mov dword [ebp - 0x47c], edx
cmp dword [ebp - 0x47c], 0
jne 0x46183c
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x4619e8
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
je 0x4618d3
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x54]
jae 0x4618b8
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0x1c]
add edx, 0x90
push edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x8c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.00475e60
add esp, 0x14
test eax, eax
je 0x4618b8
mov dword [ebp - 0x480], 1
jmp 0x4618c2
mov dword [ebp - 0x480], 0
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x488], eax
jmp 0x461959
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x54]
sub eax, dword [edx + 0x90]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
ja 0x461943
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + eax + 0x94]
cmp ecx, eax
jne 0x461943
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 1
je 0x461937
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax + 1]
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 0x1c]
movzx edx, byte [eax + edx + 0x94]
cmp ecx, edx
jne 0x461943
mov dword [ebp - 0x484], 1
jmp 0x46194d
mov dword [ebp - 0x484], 0
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x488], eax
cmp dword [ebp - 0x488], 0
jne 0x4619e6
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
test edx, edx
je 0x4619da
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
add ecx, 1
mov edx, dword [ebp + 0x1c]
cmp ecx, dword [edx + 0x54]
jb 0x4619da
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
jne 0x4619da
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x90], 2
jne 0x4619da
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax]
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + eax + 0x94]
cmp ecx, eax
jne 0x4619da
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
cmp eax, 1
jle 0x4619da
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x461a41
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x7c]
and edx, 2
je 0x4619ff
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
test ecx, ecx
je 0x461a41
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x60]
ja 0x461a21
mov edx, dword [ebp + 0x1c]
cmp dword [edx + 0x24], 0
je 0x461a41
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp + 0x1c]
movzx edx, word [ecx + 0x3c]
cmp edx, 1
jle 0x461a41
mov eax, 0xfffffffe
jmp 0x46288e
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx], ecx
jmp 0x4626ad
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp + 0x1c]
add ecx, dword [edx + 0x34]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], ecx
je 0x461a73
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x4626ad
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x50]
jne 0x461ac0
mov dword [ebp - 0x1cc], 0
jmp 0x461dd7
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
sub edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x14], 0
je 0x461cc0
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x461af5
mov edx, dword [ebp - 0x30]
sub edx, 1
mov dword [ebp - 0x30], edx
jmp 0x461ad6
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xc0
jb 0x461cbe
mov edx, dword [ebp - 8]
and edx, 0x20
jne 0x461b38
mov eax, dword [ebp - 8]
and eax, 0x1f
shl eax, 6
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x30]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
jmp 0x461cbe
mov edx, dword [ebp - 8]
and edx, 0x10
jne 0x461b7b
mov eax, dword [ebp - 8]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x30]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx + edx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 8], eax
jmp 0x461cbe
mov eax, dword [ebp - 8]
and eax, 8
jne 0x461bd5
mov ecx, dword [ebp - 8]
and ecx, 7
shl ecx, 0x12
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x30]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
jmp 0x461cbe
mov ecx, dword [ebp - 8]
and ecx, 4
jne 0x461c43
mov edx, dword [ebp - 8]
and edx, 3
shl edx, 0x18
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x30]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x12
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x30]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
jmp 0x461cbe
mov ecx, dword [ebp - 8]
and ecx, 1
shl ecx, 0x1e
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x30]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 0x18
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx + eax]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 0x30]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
imul edx, eax, 5
mov eax, dword [ebp - 0x30]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
jmp 0x461cc9
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x30]
cmp eax, dword [edx + 0x60]
jae 0x461cdd
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x30]
mov dword [ecx + 0x60], edx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x31]
cmp ecx, 0xaa
je 0x461cfe
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
cmp eax, 0xa9
jne 0x461d9a
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x4c2460]
shl ecx, 7
mov edx, dword [ebp - 8]
and edx, 0x8000007f
jns 0x461d25
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x4c6860]
imul ecx, eax, 0xc
movzx edx, byte [ecx + 0x4be1a9]
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x228]
mov ecx, dword [eax*4 + 0x4bbc58]
mov dword [ebp - 0x48c], ecx
cmp dword [ebp - 0x48c], 1
je 0x461d82
cmp dword [ebp - 0x48c], 3
je 0x461d82
cmp dword [ebp - 0x228], 0xc
je 0x461d82
cmp dword [ebp - 0x228], 0x10
je 0x461d82
mov dword [ebp - 0x490], 0
jmp 0x461d8c
mov dword [ebp - 0x490], 1
mov edx, dword [ebp - 0x490]
mov dword [ebp - 0x1cc], edx
jmp 0x461dd7
cmp dword [ebp - 8], 0xff
ja 0x461dc1
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + edx]
and eax, 0x10
je 0x461dc1
mov dword [ebp - 0x494], 1
jmp 0x461dcb
mov dword [ebp - 0x494], 0
mov ecx, dword [ebp - 0x494]
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x54]
jb 0x461e36
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
test eax, eax
je 0x461e27
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x60]
ja 0x461e07
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x24], 0
je 0x461e27
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x1c], 1
mov eax, dword [ebp + 0x1c]
movzx ecx, word [eax + 0x3c]
cmp ecx, 1
jle 0x461e27
mov eax, 0xfffffffe
jmp 0x46288e
mov dword [ebp - 0x1c8], 0
jmp 0x4621a3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
add eax, 1
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x14], 0
je 0x462083
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x150]
cmp edx, dword [ecx + 0x54]
jae 0x461e85
mov eax, dword [ebp - 0x150]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x461e85
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
jmp 0x461e4f
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0xc0
jb 0x462081
mov eax, dword [ebp - 8]
and eax, 0x20
jne 0x461ece
mov ecx, dword [ebp - 8]
and ecx, 0x1f
shl ecx, 6
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 8], ecx
jmp 0x462081
mov eax, dword [ebp - 8]
and eax, 0x10
jne 0x461f17
mov ecx, dword [ebp - 8]
and ecx, 0xf
shl ecx, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
and edx, 0x3f
shl edx, 6
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 8], ecx
jmp 0x462081
mov ecx, dword [ebp - 8]
and ecx, 8
jne 0x461f7a
mov edx, dword [ebp - 8]
and edx, 7
shl edx, 0x12
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0xc
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 8], edx
jmp 0x462081
mov edx, dword [ebp - 8]
and edx, 4
jne 0x461ff7
mov eax, dword [ebp - 8]
and eax, 3
shl eax, 0x18
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx edx, byte [ecx + edx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
movzx ecx, byte [edx + ecx]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 8], eax
jmp 0x462081
mov edx, dword [ebp - 8]
and edx, 1
shl edx, 0x1e
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 0x18
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, byte [eax + ecx]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
shl eax, 6
or edx, eax
mov ecx, 1
imul eax, ecx, 5
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
movzx eax, byte [ecx + eax]
and eax, 0x3f
or edx, eax
mov dword [ebp - 8], edx
jmp 0x46208f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
movzx eax, byte [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x150]
cmp edx, dword [ecx + 0x64]
jbe 0x4620a9
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x150]
mov dword [eax + 0x64], ecx
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
cmp eax, 0xaa
je 0x4620ca
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x31]
cmp edx, 0xa9
jne 0x462166
mov eax, dword [ebp - 8]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, word [eax*2 + 0x4c2460]
shl eax, 7
mov ecx, dword [ebp - 8]
and ecx, 0x8000007f
jns 0x4620f1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x4c6860]
imul eax, edx, 0xc
movzx ecx, byte [eax + 0x4be1a9]
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp - 0x22c]
mov eax, dword [edx*4 + 0x4bbc58]
mov dword [ebp - 0x498], eax
cmp dword [ebp - 0x498], 1
je 0x46214e
cmp dword [ebp - 0x498], 3
je 0x46214e
cmp dword [ebp - 0x22c], 0xc
je 0x46214e
cmp dword [ebp - 0x22c], 0x10
je 0x46214e
mov dword [ebp - 0x49c], 0
jmp 0x462158
mov dword [ebp - 0x49c], 1
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0x1c8], ecx
jmp 0x4621a3
cmp dword [ebp - 8], 0xff
ja 0x46218d
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 8]
movzx edx, byte [eax + ecx]
and edx, 0x10
je 0x46218d
mov dword [ebp - 0x4a0], 1
jmp 0x462197
mov dword [ebp - 0x4a0], 0
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 1
mov ecx, dword [ebp - 4]
mov dword [ecx], edx
cmp eax, 5
je 0x4621fd
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x31]
cmp eax, 0xaa
je 0x4621fd
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1cc]
je 0x4621e5
mov dword [ebp - 0x4a4], 1
jmp 0x4621ef
mov dword [ebp - 0x4a4], 0
mov edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4ac], edx
jmp 0x46222d
mov eax, dword [ebp - 0x1c8]
cmp eax, dword [ebp - 0x1cc]
jne 0x462217
mov dword [ebp - 0x4a8], 1
jmp 0x462221
mov dword [ebp - 0x4a8], 0
mov ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x4ac], ecx
cmp dword [ebp - 0x4ac], 0
je 0x462242
mov dword [ebp - 0xc], 0
jmp 0x4626b2
jmp 0x4626ad
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 2
mov dword [ebp - 0x4b0], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x4b0]
mov dword [ecx + 0x6c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x4b0]
mov dword [eax + 0x40], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x4bbad8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, edx
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
add ecx, edx
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xc
jmp 0x444f78
cmp dword [ebp - 0xc], 0xfffffc1e
jne 0x4622e2
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x74]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 2
push ecx
call fcn.004765c0
add esp, 8
test eax, eax
jne 0x4622e2
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x74], ecx
mov dword [ebp - 0xc], 0xfffffc1d
jmp 0x4626b2
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov dword [ebp - 0xc], 0
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x4bbad8]
mov ecx, dword [ebp - 4]
add eax, dword [ecx]
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0xd
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x46232d
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x48]
mov dword [ecx + 0x78], eax
mov dword [ebp - 0xc], 0xfffffc1b
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, 2
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x4b4]
mov dword [eax + 0x6c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x4b4]
mov dword [edx + 0x40], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4bbad8]
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, ecx
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
add eax, ecx
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 4]
mov byte [edx + 0x30], 0x24
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x4623b4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x4626b2
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x48]
mov dword [ecx + 0x78], eax
mov dword [ebp - 0xc], 0xfffffc1b
jmp 0x4626b2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4bbad8]
mov edx, dword [ebp - 4]
add ecx, dword [edx]
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xe
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x462400
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x48]
mov dword [edx + 0x78], ecx
mov dword [ebp - 0xc], 0xfffffc1c
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 2
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x4b8]
mov dword [ecx + 0x6c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x4b8]
mov dword [eax + 0x40], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x4bbad8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, edx
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
add ecx, edx
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xf
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x462487
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x48]
mov dword [edx + 0x78], ecx
mov dword [ebp - 0xc], 0xfffffc1c
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x4bbad8]
mov eax, dword [ebp - 4]
add edx, dword [eax]
mov dword [ebp + 0xc], edx
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0x10
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x4624d3
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x74], edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x48]
mov dword [eax + 0x78], edx
mov dword [ebp - 0xc], 0xfffffc1d
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x84]
add ecx, 1
mov edx, dword [ebp + 0x1c]
mov dword [edx + 0x84], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x84]
cmp edx, dword [ecx + 0x88]
ja 0x462551
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x4bbad8]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov edx, dword [edx]
movzx ecx, byte [edx + ecx]
add eax, ecx
mov edx, dword [ebp - 4]
add eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x4626ad
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x4bbad8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, edx
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, byte [eax + edx]
add ecx, edx
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x11
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x46259a
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, 2
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x74], eax
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x48]
mov dword [edx + 0x78], ecx
mov dword [ebp - 0xc], 0xfffffc1e
jmp 0x4626b2
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x4bbad8]
mov eax, dword [ebp - 4]
add edx, dword [eax]
mov dword [ebp + 0xc], edx
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0x12
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x4625f4
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [eax + 0x70], edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x48]
mov dword [eax + 0x78], edx
mov dword [ebp - 0xc], 0xfffffc1f
jmp 0x4626b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 2
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x4bc]
mov dword [edx + 0x6c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x4bc]
mov dword [ecx + 0x40], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x4bbad8]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, eax
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
add edx, eax
mov dword [ebp + 0xc], edx
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x30], 0x13
jmp 0x444f78
cmp dword [ebp - 0xc], 0
je 0x462683
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
jmp 0x4626b2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [eax + 0x70], edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x48]
mov dword [eax + 0x78], edx
mov dword [ebp - 0xc], 0xfffffc1f
jmp 0x4626b2
mov eax, 0xffffffd4
jmp 0x46288e
jmp 0x445227
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jbe 0x4626cc
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x64], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
jne 0x4626dd
mov eax, dword [ebp - 0xc]
jmp 0x46288e
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
sub edx, dword [ecx + 0x10]
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x98]
mov edx, dword [ecx + 0x3c]
or edx, 2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x98]
mov dword [ecx + 0x3c], edx
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x30]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x1d0]
sub ecx, 1
mov dword [ebp - 0x1d0], ecx
cmp dword [ebp - 0x1d0], 0xe0
ja case.0x46273d.37
mov edx, dword [ebp - 0x1d0]
movzx eax, byte [edx + 0x46396c]
jmp dword [eax*4 + 0x463864]
jmp 0x45fb61
jmp 0x45fc3a
jmp 0x45fff9
jmp 0x460153
jmp 0x460798
jmp 0x461376
jmp 0x4613d3
jmp 0x45f92f
jmp 0x45f63c
jmp 0x45f77f
jmp 0x45fe89
jmp 0x4622a5
jmp 0x46231c
jmp 0x4623ef
jmp 0x462476
jmp 0x4624c2
jmp 0x462589
jmp 0x4625e3
jmp 0x462675
jmp 0x45f24d
jmp 0x45f4d1
jmp 0x45f521
jmp 0x44a6cf
jmp 0x44ad01
jmp 0x4476ae
jmp 0x447902
jmp 0x447a43
jmp 0x447c69
jmp 0x448a4f
jmp 0x44903c
jmp 0x4497a3
jmp 0x449d5e
jmp 0x457ff7
jmp 0x45ec81
jmp 0x4609e9
jmp 0x4623a3
jmp 0x460d03
jmp 0x44b215
jmp 0x44b8af
jmp 0x44a35c
jmp 0x44ab75
jmp 0x44713f
jmp 0x44743d
jmp 0x448702
jmp 0x448eea
jmp 0x44946a
jmp 0x449c28
jmp 0x454137
jmp 0x454473
jmp 0x454845
jmp 0x454c0d
jmp 0x454fcf
jmp 0x4557bc
jmp 0x455b8b
jmp 0x456015
jmp 0x456403
jmp 0x4567c2
jmp 0x45735d
jmp 0x45770d
jmp 0x45b806
jmp 0x45dfa9
jmp 0x45b41e
jmp 0x456f29
jmp 0x456b65
jmp 0x455391
mov eax, 0xffffffd4
pop edi
pop esi
mov esp, ebp
pop ebp
ret