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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + 0x80]
mov eax, ecx
shr ecx, 0x11
shr eax, 0x13
and ecx, 1
and eax, 1
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov ebx, dword [edx + 0x1c]
lea eax, [ecx - 0x38]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x3c], eax
mov eax, dword [edx + 0x18]
add ebx, eax
mov esi, dword [ebp + 0xc]
mov dword [ebp - 4], eax
mov dword [eax + 0x18], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0xffffffff
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 4]
mov dword [ebp - 0x38], ebx
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov eax, edi
mov dword [eax + 0x40], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0xffffffff
mov dword [eax + 0x1c], ebx
mov dword [eax], esi
mov dword [eax + 0x10], ecx
test ebx, ebx
je 0x4c1570
sub eax, dword [edx + 0x18]
mov edi, dword [ebp - 4]
mov dword [edi + 0x50], eax
mov eax, ebx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x4c156b
movzx eax, bx
mov dword [edi + 0x48], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x1c]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x10]
lea eax, [edx + 1]
mov dword [edi + 0x18], eax
cmp edx, ecx
jae 0x4cfc1d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x14]
jb 0x4c15ad
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, eax
jmp 0x4c15ad
mov edi, dword [ebp - 4]
mov dword [edi], eax
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov bl, byte [esi]
mov byte [eax + 0x31], bl
movzx eax, bl
mov byte [ebp + 0xf], bl
cmp eax, 0xaa
ja case.0x4cc7d3.15
movzx eax, byte [eax + 0x4cfd90]
jmp dword [eax*4 + 0x4cfc2c]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x4c1654
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
cmp eax, 0xffffffff
je case.0x4cc7d3.15
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x18]
add ecx, eax
mov eax, edi
mov edx, ecx
mov dword [ebp - 0x10], ecx
sub edx, dword [ebp + 0x14]
or eax, 0x10000
cmp dword [ecx + 0x1c], eax
je 0x4c161f
mov eax, dword [edx + 0x50]
jmp 0x4c15f5
mov eax, dword [ebp - 4]
lea esi, [edi + edi]
lea ecx, [esi - 2]
mov dword [eax + 0x4c], edi
mov eax, dword [edx + 0x38]
mov edx, dword [ebp + 0x1c]
mov edi, dword [ebp - 4]
sub eax, dword [edx + 0x4c]
mov dword [edi + ecx*4 + 0x58], eax
mov eax, edi
mov eax, dword [eax + 0x38]
sub eax, dword [edx + 0x4c]
mov dword [edi + ecx*4 + 0x5c], eax
mov eax, edi
cmp ecx, dword [eax + 0x54]
jb 0x4c1651
mov dword [eax + 0x54], esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x536040]
add eax, ecx
jmp 0x4c15a5
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jbe 0x4c1675
mov dword [edi + 0x64], ecx
mov dword [ebp - 0x20], eax
mov esi, 0xfffffc19
jmp 0x4c18c3
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
je 0x4c16e6
mov eax, dword [eax + 0x50]
nop
cmp eax, 0xffffffff
je case.0x4cc7d3.15
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ecx + 0x18]
add ebx, eax
mov ecx, ebx
mov dword [ebp - 0x10], ebx
sub ecx, dword [ebp + 0x14]
mov eax, dword [ebx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x4c16bd
mov eax, dword [ecx + 0x50]
jmp 0x4c1690
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0x3c]
mov dword [ecx + 0x3c], eax
add dword [ecx], 3
jmp 0x4c15b0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
mov ecx, dword [eax + 0x38]
cmp ecx, edx
jne 0x4c1716
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x7c]
test al, 4
jne 0x4c18bb
test al, 8
je 0x4c1716
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x1c]
mov eax, dword [eax + 0x4c]
add eax, dword [esi + 0x34]
cmp edx, eax
je 0x4c18bb
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x4cfb5d
mov edi, dword [ebp + 0x1c]
mov eax, dword [eax + 0x80]
or eax, dword [edi + 0x7c]
test eax, 0x20000000
je 0x4cfb5b
test bl, bl
jne 0x4cfb52
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax + 0x8c]
test esi, esi
je 0x4c1787
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax + 0x54]
cmp ecx, edx
jae 0x4c17c7
push dword [ebp - 8]
add eax, 0x90
push eax
push edx
push esi
push ecx
call fcn.004d3f10
add esp, 0x14
test eax, eax
je 0x4c17c0
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x4c18c0
mov edx, dword [eax + 0x90]
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x54]
sub eax, edx
cmp ecx, eax
ja 0x4c17c5
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne 0x4c17c5
cmp edx, 1
je case.0x4cc7ed.14
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x95]
jne 0x4c17c5
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp + 0x1c]
jmp 0x4c17c7
mov eax, edi
movzx eax, word [eax + 0x3c]
mov edi, dword [ebp + 0x1c]
mov edx, eax
test ax, ax
je case.0x4c15d2.13
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x54]
dec eax
cmp ecx, eax
jne case.0x4c15d2.13
mov eax, edi
cmp dword [eax + 0x8c], 0
jne 0x4c1813
cmp dword [eax + 0x90], 2
jne 0x4c1813
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne case.0x4c15d2.13
mov eax, edi
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov edi, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c184f
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c184b
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c1839
cmp dword [eax + 0x24], 0
je 0x4c1849
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov edi, eax
xor esi, esi
jmp 0x4c18c0
mov edx, dword [ebp - 8]
inc ecx
mov dword [eax + 0x38], ecx
test edx, edx
je 0x4c187d
cmp ecx, dword [edi + 0x54]
jae 0x4c187d
nop
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4c1877
mov eax, dword [ebp - 4]
inc ecx
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x4c1860
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
inc dword [eax]
jmp 0x4c15b0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x4c190d
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x4c18bb
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c18ab
cmp dword [eax + 0x24], 0
je 0x4c18bb
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jbe 0x4c18ce
mov dword [edi + 0x64], ecx
cmp dword [eax + 0x18], 0
je 0x4cfbf0
sub eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0x1c]
mov edi, eax
mov dword [ebp - 4], eax
mov ebx, edi
mov eax, dword [ecx + 0x98]
or dword [eax + 0x3c], 2
movzx eax, byte [ebx + 0x30]
dec eax
cmp eax, 0xe0
ja case.0x4cc7d3.15
movzx eax, byte [eax + 0x4cff38]
jmp dword [eax*4 + 0x4cfe3c]
mov edi, dword [ebp - 4]
lea eax, [ecx + 1]
mov dword [edi + 0x38], eax
lea eax, [esi + 1]
mov dword [edi], eax
nop dword [eax + eax]
mov edi, dword [ebp + 0x1c]
jmp 0x4c15b0
mov eax, dword [ebp - 4]
test edx, edx
je 0x4c1a38
mov edi, dword [ebp - 4]
mov ecx, 1
mov dword [eax + 0xc], 1
lea eax, [esi + 1]
mov dword [edi], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x4c19b0
test al, 0x20
jne 0x4c1965
mov eax, edi
mov ecx, 2
mov dword [eax + 0xc], 2
jmp 0x4c19b3
test al, 0x10
jne 0x4c197a
mov eax, dword [ebp - 4]
mov ecx, 3
mov dword [eax + 0xc], 3
jmp 0x4c19b0
test al, 8
jne 0x4c198f
mov eax, dword [ebp - 4]
mov ecx, 4
mov dword [eax + 0xc], 4
jmp 0x4c19b0
test al, 4
mov eax, dword [ebp - 4]
jne 0x4c19a4
mov dword [eax + 0xc], 5
mov ecx, 5
jmp 0x4c19b0
mov dword [eax + 0xc], 6
mov ecx, 6
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
mov esi, dword [edi + 0x54]
mov eax, esi
sub eax, edx
cmp ecx, eax
jbe 0x4c1a05
cmp edx, esi
jb 0x4c184b
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c184b
mov eax, edi
cmp edx, dword [eax + 0x60]
ja 0x4c19ec
cmp dword [eax + 0x24], 0
je 0x4c1849
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
mov edi, eax
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [edi]
mov bl, byte [eax]
inc eax
mov dl, byte [ecx]
mov dword [edi + 0x38], eax
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, edi
cmp dl, bl
jne 0x4c1a2e
add dword [eax + 0xc], 0xffffffff
jne 0x4c1a08
jmp 0x4c15aa
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x4c18c3
mov ecx, dword [ebp + 0x1c]
mov edi, dword [eax + 0x38]
mov eax, dword [ecx + 0x54]
sub eax, edi
cmp eax, 1
jge 0x4c1a78
movzx eax, word [ecx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c18bb
mov eax, dword [ebp + 0x1c]
cmp edi, dword [eax + 0x60]
ja 0x4c1a69
cmp dword [eax + 0x24], 0
je 0x4c18bb
mov dword [eax + 0x1c], 1
cmp ecx, 1
jmp 0x4c18b5
mov cl, byte [edi]
lea eax, [edi + 1]
mov edi, dword [ebp - 4]
mov dl, byte [esi + 1]
mov dword [edi + 0x38], eax
cmp dl, cl
je 0x4c1e3e
jmp 0x4c18bb
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov dword [ebp + 0xc], ebx
cmp ebx, dword [edi + 0x54]
jb 0x4c1adb
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c184b
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
ja 0x4c1ac2
cmp dword [eax + 0x24], 0
je 0x4c1849
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
mov edi, eax
xor esi, esi
jmp 0x4c18c0
test edx, edx
je 0x4c1e0e
inc esi
mov dword [eax + 0xc], 1
mov dword [eax], esi
mov dword [ebp - 0x30], esi
mov dword [ebp + 8], 1
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x4c1c3e
test dl, 0x20
jne 0x4c1b30
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebp + 8], 2
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 2
jmp 0x4c1c3b
test dl, 0x10
jne 0x4c1b66
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebp + 8], 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 3
jmp 0x4c1c3b
test dl, 8
jne 0x4c1ba8
movzx eax, byte [esi + 1]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebp + 8], 4
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 4
jmp 0x4c1c3b
movzx ecx, byte [esi + 1]
movzx edi, byte [esi + 2]
and ecx, 0x3f
movzx ebx, byte [esi + 3]
and edi, 0x3f
mov dword [ebp - 0x34], ecx
and ebx, 0x3f
movzx ecx, byte [esi + 4]
and ecx, 0x3f
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 0x34]
test dl, 4
jne 0x4c1c00
and edx, 3
mov dword [eax + 0xc], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp + 8]
mov dword [ebp + 8], 5
jmp 0x4c1c3e
movzx eax, byte [esi + 5]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
mov dword [ebp + 8], 6
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 6
mov eax, dword [ebp - 4]
movzx ebx, byte [ebx]
cmp edx, 0x80
jae 0x4c1c6f
mov ecx, dword [edi + 0x28]
mov al, byte [ecx + edx]
cmp al, byte [ebx + ecx]
je 0x4c1c5b
xor esi, esi
jmp 0x4c18c0
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov dword [edi], eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [edi + 0x38], eax
jmp 0x4c15aa
mov ecx, dword [ebp + 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
mov dword [eax + 0x38], ecx
cmp ebx, 0xc0
jb 0x4c1ca6
mov al, byte [ecx]
lea edi, [ecx + 1]
mov byte [ebp + 0xf], al
mov eax, dword [ebp - 4]
test bl, 0x20
jne 0x4c1d08
movzx eax, byte [ebp + 0xf]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 8]
add eax, esi
mov dword [edi], eax
mov edi, dword [ebp + 0x1c]
cmp ebx, edx
je 0x4c15ad
mov eax, edx
test eax, eax
jns 0x4c1cc4
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x51e330]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4c1ce0
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x522730]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x51a07c]
add eax, edx
mov edx, dword [ebp - 8]
cmp ebx, eax
je 0x4c15b0
xor esi, esi
jmp 0x4c18c0
lea esi, [ecx + 2]
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x30]
test bl, 0x10
jne 0x4c1d3e
movzx ecx, byte [ebp + 0xf]
and ebx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov ecx, dword [ebp - 0x24]
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c1ca6
lea esi, [ecx + 3]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x30]
test bl, 8
jne 0x4c1d82
movzx ecx, byte [ebp + 0xf]
and ebx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov ecx, dword [ebp - 0x34]
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x24]
shl ebx, 6
movzx eax, byte [eax]
and eax, 0x3f
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c1ca6
mov ecx, dword [ebp - 0x14]
movzx edi, byte [ebp + 0xf]
and edi, 0x3f
lea esi, [ecx + 4]
mov dword [ebp - 0x34], esi
movzx esi, byte [ecx + 1]
and esi, 0x3f
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 2]
and esi, 0x3f
mov dword [ebp - 0x24], esi
movzx esi, byte [ecx + 3]
and esi, 0x3f
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x30]
test bl, 4
jne 0x4c1dda
and ebx, 3
shl ebx, 6
or ebx, edi
mov edi, dword [ebp - 0x34]
shl ebx, 6
or ebx, dword [ebp + 0xc]
shl ebx, 6
or ebx, dword [ebp - 0x24]
shl ebx, 6
or ebx, dword [ebp - 0x14]
jmp 0x4c1ca3
movzx eax, byte [ecx + 4]
and ebx, 1
shl ebx, 6
and eax, 0x3f
or ebx, edi
mov edi, dword [ebp - 4]
shl ebx, 6
or ebx, dword [ebp + 0xc]
shl ebx, 6
or ebx, dword [ebp - 0x24]
shl ebx, 6
or ebx, dword [ebp - 0x14]
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
jmp 0x4c1ca9
cmp dword [ebp - 0x2c], 0
je 0x4c1e8e
movzx edx, byte [esi + 1]
movzx edi, byte [ebx]
cmp edx, 0x80
jae 0x4c1e46
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x28]
mov al, byte [ecx + edx]
cmp al, byte [ecx + edi]
jne 0x4c18bb
mov edi, dword [ebp - 4]
lea eax, [ebx + 1]
mov dword [edi + 0x38], eax
lea eax, [esi + 2]
jmp 0x4c15a8
cmp edi, edx
je 0x4c1e35
mov eax, edx
test eax, eax
jns 0x4c1e53
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x51e330]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4c1e6f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x522730]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x51a07c]
add eax, edx
cmp edi, eax
je 0x4c1e35
jmp 0x4c18bb
mov edx, dword [edi + 0x28]
movzx eax, byte [esi + 1]
movzx ecx, byte [ebx]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
je 0x4c1e35
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x30], edx
cmp edx, dword [edi + 0x54]
jb 0x4c1eef
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c184b
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x60]
ja 0x4c1ed6
cmp dword [eax + 0x24], 0
je 0x4c1849
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
mov edi, eax
xor esi, esi
jmp 0x4c18c0
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
je 0x4c21bb
mov dword [eax], ecx
lea esi, [ecx + 1]
movzx edx, byte [ecx]
mov dword [eax], esi
cmp edx, 0xc0
jb 0x4c2015
mov bl, byte [esi]
lea edi, [ecx + 2]
test dl, 0x20
jne 0x4c1f34
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax], edi
jmp 0x4c2012
lea esi, [ecx + 3]
test dl, 0x10
jne 0x4c1f5f
and edx, 0xf
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax], esi
jmp 0x4c2012
lea edi, [ecx + 4]
mov dword [ebp + 0xc], edi
test dl, 8
jne 0x4c1f98
and edx, 7
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, edi
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax], ecx
jmp 0x4c2012
movzx edi, byte [ecx + 2]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 5]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 4]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c1fe6
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c2015
movzx eax, byte [ecx + 5]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 6]
mov dword [edi], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
movzx ebx, byte [ecx]
inc ecx
mov dword [ebp - 0x34], ecx
mov dword [eax + 0x38], ecx
cmp ebx, 0xc0
jb 0x4c214d
mov al, byte [ecx]
lea edi, [ecx + 1]
mov byte [ebp + 0xf], al
mov eax, dword [ebp - 4]
test bl, 0x20
jne 0x4c2058
movzx eax, byte [ebp + 0xf]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c214a
lea esi, [ecx + 2]
test bl, 0x10
jne 0x4c2085
movzx ecx, byte [ebp + 0xf]
and ebx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c214a
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test bl, 8
jne 0x4c20c6
movzx ecx, byte [ebp + 0xf]
and ebx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov ecx, dword [ebp + 8]
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c214a
mov ecx, dword [ebp - 0x34]
movzx esi, byte [ebp + 0xf]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x30], esi
and edi, 0x3f
lea esi, [ecx + 4]
mov dword [ebp - 0x34], esi
movzx esi, byte [ecx + 2]
and esi, 0x3f
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
and esi, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp - 0x30]
test bl, 4
jne 0x4c211c
and ebx, 3
shl ebx, 6
or ebx, esi
mov esi, dword [ebp - 0x34]
shl ebx, 6
or ebx, edi
mov dword [eax + 0x38], esi
shl ebx, 6
or ebx, dword [ebp + 0xc]
shl ebx, 6
or ebx, dword [ebp + 8]
jmp 0x4c214d
movzx eax, byte [ecx + 4]
and ebx, 1
shl ebx, 6
and eax, 0x3f
or ebx, esi
shl ebx, 6
or ebx, edi
mov edi, dword [ebp - 4]
shl ebx, 6
or ebx, dword [ebp + 0xc]
shl ebx, 6
or ebx, dword [ebp + 8]
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
cmp edx, ebx
jne 0x4c215b
xor esi, esi
jmp 0x4c18c0
cmp byte [eax + 0x31], 0x20
jne 0x4c15ad
cmp edx, 0x7f
jbe 0x4c21a5
mov eax, edx
test eax, eax
jns 0x4c2173
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x51e330]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4c218f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x522730]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x51a07c]
jmp 0x4c21ac
mov eax, dword [edi + 0x2c]
movzx edx, byte [eax + edx]
cmp edx, ebx
jne 0x4c15ad
xor esi, esi
jmp 0x4c18c0
cmp dword [ebp - 0x2c], 0
lea edi, [edx + 1]
je 0x4c21ec
movzx ebx, byte [edx]
mov dword [eax + 0x38], edi
lea eax, [esi + 2]
mov edi, dword [ebp - 4]
movzx edx, byte [ecx]
mov dword [edi], eax
mov edi, dword [ebp + 0x1c]
cmp edx, ebx
jne 0x4c21e3
xor esi, esi
jmp 0x4c18c0
cmp byte [ebp + 0xf], 0x20
jmp 0x4c215f
movzx ecx, byte [ecx]
movzx edx, byte [edx]
mov dword [eax + 0x38], edi
cmp ecx, edx
je 0x4c2214
cmp bl, 0x20
jne 0x4c220c
mov edi, dword [ebp + 0x1c]
mov eax, dword [edi + 0x2c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je 0x4c2217
lea eax, [esi + 2]
jmp 0x4c15a5
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x4c18c0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], ecx
mov dword [eax], esi
jmp 0x4c230f
mov dword [ebp - 0xc], 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x4c230c
mov dword [ebp - 0xc], 1
jmp 0x4c2245
mov dword [ebp - 0xc], 0
jmp 0x4c2245
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4c230c
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4c230c
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x4c230c
movzx ecx, byte [esi]
cmp bl, 0x2e
mov edi, dword [ebp - 4]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, dword [ebp - 4]
inc esi
mov dword [eax], esi
mov eax, dword [ecx*4 + 0x519494]
mov dword [edi + 0x20], eax
mov eax, dword [ecx*4 + 0x5194c0]
mov dword [edi + 0x24], eax
mov eax, dword [ecx*4 + 0x5194ec]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
test edx, edx
je 0x4c276b
mov dword [eax + 0xc], 1
lea edx, [esi + 1]
mov dword [eax + 8], esi
movzx ebx, byte [esi]
cmp ebx, 0xc0
jb 0x4c2761
lea ecx, [esi + 2]
test bl, 0x20
jne 0x4c2357
movzx edx, byte [edx]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
mov dword [eax + 0xc], 2
mov esi, eax
jmp 0x4c2448
test bl, 0x10
jne 0x4c2387
movzx edx, byte [edx]
and ebx, 0xf
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
lea ecx, [esi + 3]
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 3
jmp 0x4c2443
test bl, 8
jne 0x4c23c3
movzx edx, byte [edx]
and ebx, 7
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
lea ecx, [esi + 4]
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 4
jmp 0x4c2443
movzx edi, byte [edx]
movzx edx, byte [esi + 3]
and edi, 0x3f
movzx ecx, byte [ecx]
and edx, 0x3f
mov dword [ebp + 0xc], edx
and ecx, 0x3f
movzx edx, byte [esi + 4]
and edx, 0x3f
mov dword [ebp + 8], edx
mov edx, ebx
test bl, 4
jne 0x4c2411
and edx, 3
mov dword [eax + 0xc], 5
shl edx, 6
or edx, edi
shl edx, 6
or edx, ecx
lea ecx, [esi + 5]
shl edx, 6
mov esi, eax
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c2448
movzx eax, byte [esi + 5]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
shl edx, 6
or edx, ecx
lea ecx, [esi + 6]
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 6
mov esi, eax
mov eax, dword [ebp - 4]
mov dword [esi], ecx
cmp byte [eax + 0x31], 0x2e
jb 0x4c2493
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x51e330]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x522730]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x51a07c]
add ecx, edx
cmp ecx, edx
je 0x4c2493
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
push ecx
call fcn.004d4230
add esp, 8
mov ecx, eax
jmp 0x4c2495
xor ecx, ecx
mov eax, dword [ebp - 4]
mov dword [ebp + 8], 1
mov dword [eax + 0x14], ecx
mov ecx, dword [eax + 0x20]
cmp ecx, 1
jb 0x4c25c7
mov ebx, dword [eax + 0x38]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 0xc], ecx
cmp ebx, eax
ja 0x4c252e
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4c24e5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c24ee
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c24d4
cmp esi, 0xfffffffc
je 0x4c25aa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c252b
cmp esi, 0xfffffffd
je 0x4c25aa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c252b
cmp esi, 0xfffffffe
je 0x4c25aa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c252b
cmp esi, 0xffffffff
je 0x4c25aa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4c25aa
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x4c26f2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4c26f2
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x4c2568
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c256d
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c2557
cmp esi, 0xfffffffc
je 0x4c25aa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c26f2
cmp esi, 0xfffffffd
je 0x4c25aa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c26f2
cmp esi, 0xfffffffe
je 0x4c25aa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c26f2
cmp esi, 0xffffffff
je 0x4c25aa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c26f2
mov eax, dword [ebp - 4]
add ebx, edi
mov edx, dword [ebp + 8]
inc edx
mov dword [ebp + 8], edx
mov dword [eax + 0x38], ebx
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp - 4]
cmp edx, ecx
jbe 0x4c24b1
mov edx, dword [eax + 0x24]
cmp ecx, edx
je 0x4c15aa
cmp dword [ebp - 0xc], 0
je 0x4cf53e
mov ebx, dword [eax + 0x38]
mov dword [eax + 4], ebx
mov ecx, dword [eax + 0x20]
mov dword [ebp + 8], ecx
cmp ecx, edx
jae 0x4c274c
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 0xc], ecx
cmp ebx, eax
ja 0x4c2669
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4c2624
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c262d
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c2613
cmp esi, 0xfffffffc
je 0x4c26d5
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c2666
cmp esi, 0xfffffffd
je 0x4c26d5
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c2666
cmp esi, 0xfffffffe
je 0x4c26d5
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c2666
cmp esi, 0xffffffff
je 0x4c26d5
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4c26d5
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x4c2718
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4c2718
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x4c26a3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c26a8
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c2692
cmp esi, 0xfffffffc
je 0x4c26d5
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c2718
cmp esi, 0xfffffffd
je 0x4c26d5
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c2718
cmp esi, 0xfffffffe
je 0x4c26d5
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c2718
cmp esi, 0xffffffff
je 0x4c26d5
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c2718
mov eax, dword [ebp - 4]
add ebx, edi
mov esi, dword [ebp + 8]
inc esi
mov dword [ebp + 8], esi
mov dword [eax + 0x38], ebx
cmp esi, dword [eax + 0x24]
mov eax, dword [ebp - 4]
jb 0x4c25f0
jmp 0x4c2749
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x4c18bb
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c18bb
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
jmp 0x4c1a5d
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x4c2749
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c2749
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
ja 0x4c2739
cmp dword [eax + 0x24], 0
je 0x4c2749
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c1920
mov ecx, dword [eax + 0x38]
jmp 0x4cef9f
mov dword [eax], edx
mov edx, dword [ebp - 8]
mov dword [eax + 0x28], ebx
jmp 0x4c277b
movzx ebx, byte [esi]
mov edi, dword [ebp - 4]
mov dword [eax + 0x28], ebx
lea eax, [esi + 1]
mov dword [edi], eax
mov eax, edi
cmp byte [eax + 0x31], 0x2e
jb 0x4c28db
cmp dword [ebp - 0x2c], 0
je 0x4c27c4
test edx, edx
jne 0x4c27c4
cmp ebx, 0x7f
jbe 0x4c27c4
mov edx, dword [ebp + 0x1c]
mov eax, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x51e330]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x522730]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x51a07c]
add ecx, ebx
jmp 0x4c27ce
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x2c]
movzx ecx, byte [eax + ebx]
mov eax, dword [ebp - 4]
mov edi, 1
mov dword [eax + 0x2c], ecx
mov esi, dword [eax + 0x20]
cmp esi, edi
jb 0x4c2843
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x4c2807
movzx edx, byte [ecx]
cmp dword [eax + 0x28], edx
je 0x4c27f9
cmp dword [eax + 0x2c], edx
jne 0x4c18bb
inc ecx
inc edi
mov dword [eax + 0x38], ecx
cmp edi, esi
ja 0x4c2843
mov edx, dword [ebp + 0x1c]
jmp 0x4c27e3
mov edi, dword [ebp + 0x1c]
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c184b
mov eax, edi
cmp ecx, dword [eax + 0x60]
ja 0x4c282a
cmp dword [eax + 0x24], 0
je 0x4c1849
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov edi, eax
xor esi, esi
jmp 0x4c18c0
mov edi, dword [eax + 0x24]
mov edx, dword [ebp - 8]
cmp esi, edi
je 0x4c1920
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4cc534
mov ecx, dword [eax + 0x38]
mov dword [eax + 4], ecx
cmp esi, edi
jae 0x4c2884
mov edx, dword [ebp + 0x1c]
cmp ecx, dword [edx + 0x54]
jae 0x4c2889
movzx edx, byte [ecx]
cmp dword [eax + 0x28], edx
je 0x4c287b
cmp dword [eax + 0x2c], edx
jne 0x4c2884
inc ecx
inc esi
mov dword [eax + 0x38], ecx
cmp esi, edi
jb 0x4c2866
mov edi, dword [ebp + 0x1c]
jmp 0x4c28b5
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c28b5
mov eax, edi
cmp ecx, dword [eax + 0x60]
ja 0x4c28a3
cmp dword [eax + 0x24], 0
je 0x4c28b3
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov edi, eax
mov edx, dword [ebp - 8]
cmp ebx, 2
je 0x4c15b0
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x4c15aa
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1a
jmp 0x4cfa43
mov esi, dword [eax + 0x20]
mov ebx, 1
cmp esi, ebx
jb 0x4c2910
mov edx, dword [eax + 0x38]
mov edi, dword [ebp - 4]
nop dword [eax]
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x4c2953
movzx eax, byte [edx]
inc edx
mov dword [edi + 0x38], edx
cmp dword [edi + 0x28], eax
jne 0x4c18bb
inc ebx
cmp ebx, esi
jbe 0x4c28f0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x24]
mov edi, dword [ebp + 0x1c]
cmp esi, edx
je 0x4c15ad
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x4cc5bf
mov ecx, dword [eax + 0x38]
mov dword [eax + 4], ecx
cmp esi, edx
jae 0x4c2996
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x4c296d
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
jne 0x4c2999
mov eax, ebx
inc ecx
inc esi
mov dword [eax + 0x38], ecx
cmp esi, edx
jb 0x4c2933
jmp 0x4c2996
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c18bb
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x60]
jmp 0x4c1a5d
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x4c2996
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c2986
cmp dword [eax + 0x24], 0
je 0x4c2996
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp edi, 2
mov edi, dword [ebp + 0x1c]
je 0x4c15b0
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x4c15aa
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1c
jmp 0x4cfa43
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edi, esi
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], ecx
mov dword [eax], esi
jmp 0x4c2b0f
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 1
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edi, esi
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x4c2b0c
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edi, esi
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x4c2b0c
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edi, esi
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4c2b0c
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edi, esi
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4c2b0c
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edi, esi
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x4c2b0c
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edi, esi
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x4c2b0c
movzx ecx, byte [esi]
cmp bl, 0x48
mov edi, dword [ebp - 4]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, dword [ebp - 4]
inc esi
mov dword [eax], esi
mov eax, dword [ecx*4 + 0x519494]
mov dword [edi + 0x20], eax
mov eax, dword [ecx*4 + 0x5194c0]
mov dword [edi + 0x24], eax
mov eax, dword [ecx*4 + 0x5194ec]
mov dword [ebp - 0xc], eax
mov eax, edi
mov edi, dword [eax]
mov eax, dword [ebp - 4]
movzx ecx, byte [esi]
lea esi, [edi + 1]
mov ebx, dword [ebp - 8]
mov edx, ecx
mov dword [eax + 0x28], ecx
mov dword [eax], esi
test ebx, ebx
je 0x4c2c44
cmp ecx, 0xc0
jb 0x4c2c44
mov bl, byte [esi]
test cl, 0x20
jne 0x4c2b56
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [edi + 2]
jmp 0x4c2c3a
test cl, 0x10
jne 0x4c2b85
mov edx, ecx
movzx eax, bl
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [edi + 3]
jmp 0x4c2c3a
test cl, 8
jne 0x4c2bbe
movzx eax, byte [esi + 1]
and ecx, 7
movzx edx, bl
and eax, 0x3f
and edx, 0x3f
shl ecx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [edi + 4]
jmp 0x4c2c3a
movzx edx, byte [esi + 1]
and edx, 0x3f
movzx ebx, bl
mov dword [ebp + 0xc], edx
and ebx, 0x3f
movzx edx, byte [esi + 2]
and edx, 0x3f
mov dword [ebp + 8], edx
movzx edx, byte [esi + 3]
and edx, 0x3f
mov dword [ebp - 0x30], edx
mov edx, ecx
test cl, 4
jne 0x4c2c0b
and edx, 3
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp - 0x30]
mov dword [eax + 0x28], edx
lea eax, [edi + 5]
jmp 0x4c2c3a
movzx eax, byte [esi + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp - 0x30]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [edi + 6]
mov edi, dword [ebp - 4]
mov ebx, dword [ebp - 8]
mov dword [edi], eax
mov eax, edi
cmp byte [eax + 0x31], 0x48
jb 0x4c30c9
test ebx, ebx
jne 0x4c2c57
cmp dword [ebp - 0x2c], ebx
je 0x4c2c8c
cmp edx, 0x7f
jbe 0x4c2c8c
mov edi, dword [ebp + 0x1c]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x51e330]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x522730]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x51a07c]
add ecx, edx
jmp 0x4c2c96
mov edi, dword [ebp + 0x1c]
mov eax, dword [edi + 0x2c]
movzx ecx, byte [eax + edx]
mov eax, dword [ebp - 4]
mov dword [eax + 0x2c], ecx
mov edx, dword [eax + 0x20]
test ebx, ebx
je 0x4c2ec7
mov ebx, 1
mov dword [ebp + 0xc], ebx
cmp edx, ebx
jb 0x4c2e17
mov ecx, dword [eax + 0x38]
nop word [eax + eax]
cmp ecx, dword [edi + 0x54]
jae 0x4c2e8d
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x4c2df6
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c2d01
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, esi
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c2df0
lea edi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x4c2d32
movzx eax, byte [esi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edi
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c2ded
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x34]
test dl, 8
jne 0x4c2d6c
movzx eax, byte [esi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [edi]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x4c2de7
movzx esi, byte [esi]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, bl
and edi, 0x3f
and ebx, 0x3f
mov dword [ebp - 0x34], ebx
lea ebx, [ecx + 4]
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp + 8]
movzx ebx, byte [ebx]
and ebx, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 0x34]
test dl, 4
jne 0x4c2dbe
mov ecx, dword [ebp - 0x30]
and edx, 3
shl edx, 6
or edx, ebx
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c2df3
mov eax, dword [ebp - 0x30]
and edx, 1
shl edx, 6
or edx, ebx
shl edx, 6
movzx eax, byte [eax]
or edx, esi
shl edx, 6
and eax, 0x3f
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
add ecx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
cmp dword [eax + 0x28], edx
je case.0x4cc7ed.14
cmp dword [eax + 0x2c], edx
je case.0x4cc7ed.14
mov edx, dword [eax + 0x20]
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, edx
jbe 0x4c2cc0
mov ebx, dword [ebp - 8]
mov edi, dword [eax + 0x24]
mov dword [ebp + 8], edi
cmp edx, edi
je 0x4c15aa
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x4cf391
cmp dword [ebp - 8], 0
mov ecx, edi
mov edx, dword [eax + 0x38]
mov dword [eax + 4], edx
mov ebx, dword [eax + 0x20]
mov dword [ebp + 0xc], ebx
je 0x4c3061
cmp ebx, ecx
jae 0x4c301e
mov ecx, dword [ebp + 0x1c]
mov esi, 1
cmp edx, dword [ecx + 0x54]
jae 0x4c3036
movzx ecx, byte [edx]
cmp ecx, 0xc0
jb 0x4c3003
test cl, 0x20
jne 0x4c2f3c
movzx eax, byte [edx + 1]
and ecx, 0x1f
mov esi, 2
jmp 0x4c2ff8
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c184b
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c2eae
cmp dword [eax + 0x24], 0
je 0x4c1849
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov edi, eax
xor esi, esi
jmp 0x4c18c0
mov esi, 1
cmp edx, esi
jb 0x4c2e1a
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x4c2f02
movzx edx, byte [ecx]
cmp dword [eax + 0x28], edx
je case.0x4cc7ed.14
cmp dword [eax + 0x2c], edx
je case.0x4cc7ed.14
inc ecx
inc esi
mov dword [eax + 0x38], ecx
mov edx, dword [eax + 0x20]
cmp esi, edx
jbe 0x4c2ed7
jmp 0x4c2e1a
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c184b
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c2f23
cmp dword [eax + 0x24], 0
je 0x4c1849
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov edi, eax
xor esi, esi
jmp 0x4c18c0
test cl, 0x10
jne 0x4c2f5e
movzx eax, byte [edx + 1]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov esi, 3
movzx eax, byte [edx + 2]
jmp 0x4c2ff8
movzx esi, byte [edx + 1]
movzx edi, byte [edx + 2]
and esi, 0x3f
movzx ebx, byte [edx + 3]
and edi, 0x3f
and ebx, 0x3f
mov dword [ebp - 0x34], ebx
test cl, 8
jne 0x4c2f9a
and ecx, 7
shl ecx, 6
or ecx, esi
mov esi, 4
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 8]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 0xc]
jmp 0x4c3003
movzx ebx, byte [edx + 4]
and ebx, 0x3f
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x34]
test cl, 4
jne 0x4c2fd1
and ecx, 3
shl ecx, 6
or ecx, esi
mov esi, 5
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 8]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 0xc]
shl ecx, 6
or ecx, dword [ebp - 0x30]
jmp 0x4c3003
movzx eax, byte [edx + 5]
and ecx, 1
shl ecx, 6
or ecx, esi
mov esi, 6
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 8]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 0xc]
shl ecx, 6
or ecx, dword [ebp - 0x30]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je 0x4c301e
cmp dword [eax + 0x2c], ecx
je 0x4c301e
inc ebx
add edx, esi
mov dword [eax + 0x38], edx
mov dword [ebp + 0xc], ebx
cmp ebx, edi
jb 0x4c2e53
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c15b0
mov ecx, dword [eax + 0x38]
jmp 0x4cefd0
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c305c
mov eax, edi
cmp edx, dword [eax + 0x60]
ja 0x4c3050
cmp dword [eax + 0x24], 0
je 0x4c305c
mov dword [eax + 0x1c], esi
cmp ecx, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
jmp 0x4c3021
cmp ebx, ecx
jae 0x4c3083
mov ecx, dword [ebp + 0x1c]
cmp edx, dword [ecx + 0x54]
jae 0x4c309a
movzx ecx, byte [edx]
cmp dword [eax + 0x28], ecx
je 0x4c3083
cmp dword [eax + 0x2c], ecx
je 0x4c3083
inc edx
inc ebx
mov dword [eax + 0x38], edx
cmp ebx, edi
jb 0x4c3065
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp esi, 2
je 0x4c15b0
mov ecx, dword [eax + 0x38]
jmp 0x4cef17
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c30c4
mov eax, edi
cmp edx, dword [eax + 0x60]
ja 0x4c30b4
cmp dword [eax + 0x24], 0
je 0x4c30c4
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
jmp 0x4c3086
mov esi, dword [eax + 0x20]
test ebx, ebx
mov ebx, 1
je 0x4c32f4
mov dword [ebp + 0xc], ebx
cmp esi, ebx
jb 0x4c323e
mov ecx, dword [eax + 0x38]
mov edi, dword [ebp + 0x1c]
nop word [eax + eax]
cmp ecx, dword [edi + 0x54]
jae 0x4c32ba
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x4c3226
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c3131
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, esi
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c3220
lea edi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x4c3162
and edx, 0xf
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, edi
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c321d
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x34]
test dl, 8
jne 0x4c319c
movzx eax, byte [esi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [edi]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x4c3217
movzx esi, byte [esi]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, bl
and edi, 0x3f
and ebx, 0x3f
mov dword [ebp - 0x34], ebx
lea ebx, [ecx + 4]
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp + 8]
movzx ebx, byte [ebx]
and ebx, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 0x34]
test dl, 4
jne 0x4c31ee
mov ecx, dword [ebp - 0x30]
and edx, 3
shl edx, 6
or edx, ebx
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c3223
mov eax, dword [ebp - 0x30]
and edx, 1
shl edx, 6
or edx, ebx
shl edx, 6
movzx eax, byte [eax]
or edx, esi
shl edx, 6
and eax, 0x3f
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
add ecx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
cmp dword [eax + 0x28], edx
je case.0x4cc7ed.14
mov esi, dword [eax + 0x20]
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, esi
jbe 0x4c30f0
mov edi, dword [eax + 0x24]
mov dword [ebp + 8], edi
cmp esi, edi
je 0x4c15aa
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x4cf3a4
cmp dword [ebp - 8], 0
mov ecx, edi
mov edx, dword [eax + 0x38]
mov dword [eax + 4], edx
mov ebx, dword [eax + 0x20]
mov dword [ebp + 0xc], ebx
je 0x4c3480
cmp ebx, ecx
jae 0x4c343f
nop word [eax + eax]
mov ecx, dword [ebp + 0x1c]
mov esi, 1
cmp edx, dword [ecx + 0x54]
jae 0x4c3457
movzx ecx, byte [edx]
cmp ecx, 0xc0
jb 0x4c3429
test cl, 0x20
jne 0x4c3362
movzx eax, byte [edx + 1]
and ecx, 0x1f
mov esi, 2
jmp 0x4c341e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c184b
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c32db
cmp dword [eax + 0x24], 0
je 0x4c1849
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov edi, eax
xor esi, esi
jmp 0x4c18c0
cmp esi, 1
jb 0x4c323e
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x4c332a
mov edi, dword [ebp - 4]
movzx eax, byte [edx]
inc edx
mov dword [edi + 0x38], edx
cmp dword [edi + 0x28], eax
mov eax, edi
je 0x4c1a2e
mov esi, dword [eax + 0x20]
inc ebx
cmp ebx, esi
jbe 0x4c3300
jmp 0x4c323e
movzx eax, word [eax + 0x3c]
mov edi, dword [ebp + 0x1c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp edx, dword [edi + 0x60]
ja 0x4c334b
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
test cl, 0x10
jne 0x4c3384
movzx eax, byte [edx + 1]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov esi, 3
movzx eax, byte [edx + 2]
jmp 0x4c341e
movzx esi, byte [edx + 1]
movzx edi, byte [edx + 2]
and esi, 0x3f
movzx ebx, byte [edx + 3]
and edi, 0x3f
and ebx, 0x3f
mov dword [ebp - 0x34], ebx
test cl, 8
jne 0x4c33c0
and ecx, 7
shl ecx, 6
or ecx, esi
mov esi, 4
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 8]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 0xc]
jmp 0x4c3429
movzx ebx, byte [edx + 4]
and ebx, 0x3f
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x34]
test cl, 4
jne 0x4c33f7
and ecx, 3
shl ecx, 6
or ecx, esi
mov esi, 5
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 8]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 0xc]
shl ecx, 6
or ecx, dword [ebp - 0x30]
jmp 0x4c3429
movzx eax, byte [edx + 5]
and ecx, 1
shl ecx, 6
or ecx, esi
mov esi, 6
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 8]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 0xc]
shl ecx, 6
or ecx, dword [ebp - 0x30]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je 0x4c343f
inc ebx
add edx, esi
mov dword [eax + 0x38], edx
mov dword [ebp + 0xc], ebx
cmp ebx, edi
jb 0x4c3280
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c15b0
mov ecx, dword [eax + 0x38]
jmp 0x4cf001
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c347b
cmp edx, dword [edi + 0x60]
ja 0x4c346f
cmp dword [edi + 0x24], 0
je 0x4c347b
mov dword [edi + 0x1c], esi
cmp ecx, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
jmp 0x4c3442
cmp ebx, ecx
jae 0x4c34a5
mov ecx, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
cmp edx, dword [edi + 0x54]
jae 0x4c34bc
mov edi, dword [ebp - 4]
movzx eax, byte [edx]
cmp dword [edi + 0x28], eax
mov eax, edi
je 0x4c34a5
inc edx
inc ebx
mov dword [eax + 0x38], edx
cmp ebx, ecx
jb 0x4c3487
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp esi, 2
je 0x4c15b0
mov ecx, dword [eax + 0x38]
jmp 0x4cef31
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c34e2
cmp edx, dword [edi + 0x60]
ja 0x4c34d2
cmp dword [edi + 0x24], 0
je 0x4c34e2
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
jmp 0x4c34a8
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
add esi, 0x21
mov dword [edi + 8], eax
mov eax, edi
mov dword [eax], esi
movzx ecx, byte [esi]
lea edx, [ecx - 0x62]
cmp edx, 0xb
ja case.default.0x4c350d
movzx eax, byte [edx + 0x4d0024]
jmp dword [eax*4 + 0x4d001c]
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov edx, dword [ecx*4 + 0x51930c]
mov dword [edi], eax
mov eax, edi
mov dword [eax + 0x20], edx
mov eax, dword [ecx*4 + 0x519338]
mov ecx, dword [ecx*4 + 0x519364]
mov dword [edi + 0x24], eax
mov eax, edi
mov dword [ebp - 0xc], ecx
jmp 0x4c359a
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov edi, dword [ebp - 4]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], edx
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov eax, 0xffffffff
cmove ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
movzx eax, byte [esi]
mov eax, dword [eax*4 + 0x519364]
mov dword [ebp - 0xc], eax
lea eax, [esi + 5]
mov dword [edi], eax
mov eax, edi
jmp 0x4c359a
mov dword [eax + 0x24], 1
mov edx, 1
mov dword [eax + 0x20], 1
mov edi, dword [ebp - 8]
test edi, edi
je 0x4c37f1
mov edi, 1
mov dword [ebp + 0xc], edi
cmp edx, edi
jb 0x4c373b
mov esi, dword [eax + 0x38]
nop dword [eax + eax]
mov ecx, dword [ebp + 0x1c]
cmp esi, dword [ecx + 0x54]
jae 0x4c37ba
movzx ebx, byte [esi]
inc esi
mov dword [eax + 0x38], esi
cmp ebx, 0xc0
jb 0x4c36fa
mov cl, byte [esi]
lea edx, [esi + 1]
test bl, 0x20
jne 0x4c3604
and ebx, 0x1f
movzx eax, cl
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov esi, edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x4c36f7
movzx ecx, cl
lea edi, [esi + 2]
mov dword [ebp - 0x34], edi
test bl, 0x10
jne 0x4c3635
movzx eax, byte [edx]
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and eax, 0x3f
shl ebx, 6
mov esi, edi
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c36f4
lea edi, [esi + 3]
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x34]
test bl, 8
jne 0x4c3674
movzx eax, byte [edx]
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and eax, 0x3f
mov ecx, dword [ebp + 8]
mov esi, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c36f4
movzx edx, byte [edx]
and ecx, 0x3f
movzx edi, byte [edi]
and edx, 0x3f
mov dword [ebp - 0x34], ecx
and edi, 0x3f
lea ecx, [esi + 4]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp + 8]
movzx ecx, byte [ecx]
and ecx, 0x3f
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 0x34]
test bl, 4
jne 0x4c36c5
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, dword [ebp - 0x30]
shl ebx, 6
mov esi, ecx
or ebx, edx
mov dword [eax + 0x38], ecx
shl ebx, 6
or ebx, edi
mov edi, dword [ebp + 0xc]
shl ebx, 6
or ebx, dword [ebp + 8]
jmp 0x4c36fa
mov eax, dword [ebp - 0x30]
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
movzx eax, byte [eax]
or ebx, edx
shl ebx, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, dword [ebp + 8]
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
add esi, 5
mov dword [eax + 0x38], esi
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
cmp ebx, 0xff
jbe 0x4c370e
cmp byte [eax + 0x31], 0x6e
je 0x4c18bb
jmp 0x4c372c
mov eax, dword [eax + 8]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
mov eax, dword [ebp - 4]
je 0x4c1a2e
mov edx, dword [eax + 0x20]
inc edi
mov dword [ebp + 0xc], edi
cmp edi, edx
jbe 0x4c35c0
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x30], ecx
cmp edx, ecx
je 0x4c15aa
cmp dword [ebp - 0xc], 0
je 0x4cf3b9
mov edi, dword [eax + 0x38]
mov edx, dword [ebp - 8]
mov dword [eax + 4], edi
mov ebx, dword [eax + 0x20]
mov dword [ebp + 8], ebx
test edx, edx
je 0x4c39b6
cmp ebx, ecx
jae 0x4c3994
nop dword [eax + eax]
mov edx, dword [ebp + 0x1c]
mov esi, 1
cmp edi, dword [edx + 0x54]
jae 0x4c396e
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x4c392a
test bl, 0x20
jne 0x4c387c
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov esi, 2
jmp 0x4c391f
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c37da
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov ebx, 1
cmp edx, ebx
jb 0x4c373e
mov edi, dword [eax + 0x38]
jmp 0x4c3806
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
cmp edi, dword [edx + 0x54]
jae 0x4c3843
movzx esi, byte [edi]
mov edx, 1
inc edi
mov ecx, esi
mov dword [eax + 0x38], edi
and ecx, 7
mov eax, dword [eax + 8]
shr esi, 3
shl edx, cl
test byte [esi + eax], dl
mov eax, dword [ebp - 4]
je 0x4c1a2e
mov edx, dword [eax + 0x20]
inc ebx
cmp ebx, edx
jbe 0x4c3803
mov edi, dword [ebp - 8]
jmp 0x4c3741
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c3873
cmp edi, dword [edx + 0x60]
mov edi, edx
ja 0x4c385b
cmp dword [edi + 0x24], 0
je 0x4c3875
mov dword [edi + 0x1c], 1
cmp ecx, 1
jbe 0x4c3875
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, edx
xor esi, esi
jmp 0x4c18c0
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x10
jne 0x4c389e
movzx eax, byte [edi + 2]
and ebx, 0xf
shl ebx, 6
mov esi, 3
or ebx, ecx
jmp 0x4c391f
movzx edx, byte [edi + 2]
movzx esi, byte [edi + 3]
and edx, 0x3f
and esi, 0x3f
mov dword [ebp - 0x34], esi
test bl, 8
jne 0x4c38cd
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 4
jmp 0x4c392a
movzx esi, byte [edi + 4]
and esi, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp - 0x34]
test bl, 4
jne 0x4c38fe
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 5
shl ebx, 6
or ebx, dword [ebp + 0xc]
jmp 0x4c392a
movzx eax, byte [edi + 5]
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 6
shl ebx, 6
or ebx, dword [ebp + 0xc]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
cmp ebx, 0xff
jbe 0x4c393a
cmp byte [eax + 0x31], 0x6e
je 0x4c3969
jmp 0x4c3954
mov eax, dword [eax + 8]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x4c3969
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 8]
add edi, esi
inc ebx
mov dword [eax + 0x38], edi
mov dword [ebp + 8], ebx
cmp ebx, dword [ebp - 0x30]
jb 0x4c3780
mov edi, dword [ebp + 0x1c]
jmp 0x4c399b
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c3999
cmp edi, dword [edx + 0x60]
mov edi, edx
ja 0x4c3986
cmp dword [edi + 0x24], 0
je 0x4c399b
mov dword [edi + 0x1c], esi
cmp ecx, 1
ja 0x4c3867
jmp 0x4c399b
mov edi, dword [ebp + 0x1c]
jmp 0x4c399e
mov edi, edx
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x4c15b0
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x4cfa43
cmp ebx, ecx
jb 0x4c39c3
mov edi, dword [ebp + 0x1c]
jmp 0x4c3a26
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
cmp edi, dword [edx + 0x54]
jae 0x4c39f7
movzx esi, byte [edi]
mov edx, 1
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
shl edx, cl
test byte [esi + eax], dl
je 0x4c39f2
mov eax, dword [ebp - 4]
inc edi
inc ebx
mov dword [eax + 0x38], edi
cmp ebx, dword [ebp - 0x30]
jb 0x4c39c0
mov edi, dword [ebp + 0x1c]
jmp 0x4c3a23
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c3a21
cmp edi, dword [edx + 0x60]
mov edi, edx
ja 0x4c3a0f
cmp dword [edi + 0x24], 0
je 0x4c3a23
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
jmp 0x4c3a23
mov edi, edx
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x4c15b0
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb 0x4c18bb
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x18
jmp 0x4cfa43
mov edi, dword [ebp - 4]
lea eax, [esi + 3]
mov dword [edi + 8], eax
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, edi
add esi, ecx
mov dword [eax], esi
movzx ebx, byte [esi]
lea ecx, [ebx - 0x62]
cmp ecx, 0xb
ja case.default.0x4c3a7c
movzx eax, byte [ecx + 0x4d0038]
jmp dword [eax*4 + 0x4d0030]
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov ecx, dword [ebx*4 + 0x51930c]
mov edx, dword [ebx*4 + 0x519338]
mov ebx, dword [ebx*4 + 0x519364]
mov dword [edi], eax
mov eax, edi
lea edi, [eax + 0x24]
mov dword [ebp - 0xc], ebx
mov dword [ebp + 8], edi
mov dword [eax + 0x20], ecx
mov dword [edi], edx
jmp 0x4c3afd
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], ecx
movzx edx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 4]
lea eax, [eax + 0x24]
mov dword [eax], edx
mov dword [ebp + 8], eax
jne 0x4c3ae8
mov dword [eax], 0xffffffff
or edx, 0xffffffff
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
mov eax, dword [eax*4 + 0x519364]
mov dword [ebp - 0xc], eax
lea eax, [esi + 5]
mov dword [edi], eax
mov eax, dword [ebp - 4]
cmp ecx, 1
jb 0x4c3ca1
mov edi, dword [ebp + 0x1c]
mov ebx, 1
mov dword [ebp + 0xc], ebx
jmp 0x4c3b39
lea edi, [eax + 0x24]
mov ebx, 1
mov dword [edi], 1
mov dword [ebp + 8], edi
mov edi, dword [ebp + 0x1c]
mov dword [eax + 0x20], 1
mov dword [ebp + 0xc], ebx
jmp 0x4c3b39
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x4c3e3a
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c3c75
cmp edx, 0xc0
jb 0x4c3c75
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c3b85
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c3c6c
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c3bb1
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c3c6c
lea edi, [ecx + 3]
mov dword [ebp - 0x34], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c3bf1
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp - 0x34]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c3c6c
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x34], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x24], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x34]
test dl, 4
jne 0x4c3c3f
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x24]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x30]
jmp 0x4c3c6f
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x30]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x1c]
push dword [ebp - 8]
push dword [eax + 8]
push edx
call fcn.004d6a10
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 4]
je 0x4cc907
mov ecx, dword [eax + 0x20]
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, ecx
jbe 0x4c3b36
mov edx, dword [eax + 0x24]
mov edi, dword [ebp + 0x1c]
cmp ecx, edx
je 0x4c15ad
cmp dword [ebp - 0xc], 0
je 0x4cf52a
mov esi, dword [eax + 0x38]
mov dword [eax + 4], esi
mov ebx, dword [eax + 0x20]
mov dword [ebp + 0xc], ebx
cmp ebx, edx
jae 0x4c3df8
jmp 0x4c3cd3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [ecx + 0x54]
jae 0x4c3e10
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x4c3dca
cmp edx, 0xc0
jb 0x4c3dca
test dl, 0x20
jne 0x4c3d13
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x4c3dbf
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4c3d35
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x4c3dbf
movzx edi, byte [esi + 2]
movzx ebx, byte [esi + 3]
and edi, 0x3f
and ebx, 0x3f
mov dword [ebp - 0x34], ebx
test dl, 8
jne 0x4c3d67
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 4
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
jmp 0x4c3dca
movzx ebx, byte [esi + 4]
and ebx, 0x3f
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x34]
test dl, 4
jne 0x4c3d9b
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp - 0x30]
jmp 0x4c3dca
movzx eax, byte [esi + 5]
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp - 0x30]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
push dword [ebp - 8]
push dword [eax + 8]
push edx
call fcn.004d6a10
add esp, 0xc
test eax, eax
je 0x4c3df5
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 0xc], ebx
add dword [eax + 0x38], edi
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 8]
cmp ebx, dword [eax]
jb 0x4c3cd0
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
je 0x4c15ad
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x4cfa43
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c3df8
cmp esi, dword [edi + 0x60]
ja 0x4c3e28
cmp dword [edi + 0x24], 0
je 0x4c3df8
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
jmp 0x4c3df8
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c3e58
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c3eaf
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c3e98
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c3fd9
cmp edx, 0xc0
jb 0x4c3fd9
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c3eef
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c3fd6
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c3f1b
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c3fd6
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c3f5b
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c3fd6
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c3fa9
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c3fd6
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0xff
ja case.0x4c4b60.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x4c4b60.8203
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c4039
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c4022
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c4163
cmp edx, 0xc0
jb 0x4c4163
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c4079
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c4160
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c40a5
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c4160
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c40e5
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c4160
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c4133
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c4160
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0xff
ja case.0x4cc7ed.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c15ad
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c41c6
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c41af
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c42f0
cmp edx, 0xc0
jb 0x4c42f0
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c4206
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c42ed
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c4232
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c42ed
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c4272
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c42ed
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c42c0
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c42ed
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0xff
ja case.0x4c4b60.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x4c4b60.8203
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c4350
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c4339
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c447a
cmp edx, 0xc0
jb 0x4c447a
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c4390
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c4477
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c43bc
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c4477
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c43fc
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c4477
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c444a
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c4477
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0xff
ja case.0x4cc7ed.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c15ad
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c44dd
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c44c6
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c4607
cmp edx, 0xc0
jb 0x4c4607
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c451d
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c4604
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c4549
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c4604
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c4589
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c4604
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c45d7
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c4604
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0xff
ja case.0x4c4b60.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x4c4b60.8203
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c4667
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c4650
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c4791
cmp edx, 0xc0
jb 0x4c4791
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c46a7
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c478e
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c46d3
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c478e
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c4713
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c478e
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c4761
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c478e
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0xff
ja case.0x4cc7ed.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c15ad
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c47f4
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c47dd
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c4901
cmp edx, 0xc0
jb 0x4c4901
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c4828
movzx eax, bl
and edx, 0x1f
jmp 0x4c48f3
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp + 8], edi
test dl, 0x10
jne 0x4c484b
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c48f0
mov dword [ebp + 0xc], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c487a
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp + 0xc]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
jmp 0x4c48f0
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp + 0xc]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x34]
test dl, 4
jne 0x4c48d1
mov ecx, dword [ebp - 0x30]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
mov esi, ecx
jmp 0x4c4901
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
cmp edx, 0x85
ja 0x4c496a
je case.0x4c4917.11
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4cc7ed.14
jmp dword [edx*4 + 0x4d0044]
cmp esi, dword [edi + 0x54]
jb 0x4c4953
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4c4917.10
cmp esi, dword [edi + 0x60]
ja 0x4c4939
cmp dword [edi + 0x24], 0
je case.0x4c4917.10
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c15aa
cmp byte [esi], 0xa
jne case.0x4c4917.10
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov dword [edi + 0x38], eax
mov eax, edi
inc dword [eax]
jmp 0x4c15aa
sub edx, 0x2028
je case.0x4c4917.11
sub edx, 1
je case.0x4c4917.11
xor esi, esi
jmp 0x4c18c0
cmp word [edi + 0x3e], 2
jne case.0x4c4917.10
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c49cc
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c49b5
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c4af4
cmp edx, 0xc0
jb 0x4c4af4
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c4a0c
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c4af1
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c4a38
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c4af1
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
test dl, 8
jne 0x4c4a75
and edx, 7
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, edi
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c4af1
movzx edi, byte [ecx + 1]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c4ac4
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c4af1
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0x2000
ja 0x4c4b38
je case.0x4cc7ed.14
cmp edx, 0xa0
ja 0x4c4b21
je case.0x4cc7ed.14
cmp edx, 9
je case.0x4cc7ed.14
cmp edx, 0x20
jmp 0x4c4176
cmp edx, 0x1680
je case.0x4cc7ed.14
cmp edx, 0x180e
jmp 0x4c4176
cmp edx, 0x3000
ja case.0x4c4b60.8203
je case.0x4cc7ed.14
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4c4b60.8203
movzx eax, byte [edx + 0x4d005c]
jmp dword [eax*4 + 0x4d0054]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c4ba7
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c4b90
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c4cd1
cmp edx, 0xc0
jb 0x4c4cd1
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c4be7
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c4cce
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c4c13
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c4cce
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c4c53
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c4cce
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c4ca1
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c4cce
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0x2000
ja 0x4c4d25
je case.0x4c4b60.8203
cmp edx, 0xa0
ja 0x4c4d06
je case.0x4c4b60.8203
cmp edx, 9
je case.0x4c4b60.8203
cmp edx, 0x20
je case.0x4c4b60.8203
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x1680
je case.0x4c4b60.8203
cmp edx, 0x180e
je case.0x4c4b60.8203
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x3000
ja case.0x4cc7ed.14
je case.0x4c4b60.8203
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4cc7ed.14
movzx eax, byte [edx + 0x4d00c4]
jmp dword [eax*4 + 0x4d00bc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c4d94
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c4d7d
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c4ec1
cmp edx, 0xc0
jb 0x4c4ec1
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c4dd4
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c4ebb
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c4e00
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c4ebb
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c4e40
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c4ebb
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c4e8e
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c4ebe
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
cmp edx, 0x85
ja 0x4c4ee2
je case.0x4cc7ed.14
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4c4edb
jmp dword [edx*4 + 0x4d0124]
sub edx, 0x2028
je case.0x4cc7ed.14
sub edx, 1
jne case.default.0x4c4edb
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c4f3e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c4f27
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c506b
cmp edx, 0xc0
jb 0x4c506b
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c4f7e
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c5065
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c4faa
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c5065
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c4fea
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c5065
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 8]
test dl, 4
jne 0x4c5038
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c5068
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
cmp edx, 0x85
ja 0x4c508c
je case.default.0x4c4edb
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4cc7ed.14
jmp dword [edx*4 + 0x4d0134]
sub edx, 0x2028
je case.default.0x4c4edb
sub edx, 1
je case.default.0x4c4edb
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c50e8
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c50d1
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c520d
cmp edx, 0xc0
jb 0x4c520d
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c5128
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4c520d
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c5154
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4c520d
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
test dl, 8
jne 0x4c5191
and edx, 7
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, edi
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x4c520d
movzx edi, byte [ecx + 1]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x34], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x30], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp - 0x34]
test dl, 4
jne 0x4c51e0
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x30]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c520d
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, edx
xor ebx, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x51e330]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x522730]
mov cl, byte [ebp + 0xf]
cmp cl, 0xf
lea edi, [eax + eax*2]
sete bl
mov eax, dword [ebp - 4]
mov esi, dword [eax]
movzx eax, byte [esi + 1]
cmp eax, 0xd
ja case.0x4cc7d3.15
jmp dword [eax*4 + 0x4d0144]
cmp cl, 0xf
je 0x4c18bb
mov eax, dword [ebp - 4]
add dword [eax], 3
jmp 0x4c15aa
mov al, byte [edi*4 + 0x51a079]
cmp al, 9
je 0x4c527e
cmp al, 5
je 0x4c527e
cmp al, 8
je 0x4c527e
xor eax, eax
jmp 0x4c5283
mov eax, 1
cmp eax, ebx
jne 0x4c525c
jmp 0x4c18bb
movzx ecx, byte [edi*4 + 0x51a079]
xor edx, edx
movzx eax, byte [esi + 2]
cmp eax, dword [ecx*4 + 0x5361c0]
sete dl
cmp edx, ebx
jne 0x4c525c
jmp 0x4c18bb
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x51a079]
sete cl
cmp ecx, ebx
jne 0x4c525c
jmp 0x4c18bb
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x51a078]
sete cl
cmp ecx, ebx
jne 0x4c525c
jmp 0x4c18bb
mov al, byte [esi + 2]
cmp al, byte [edi*4 + 0x51a078]
je 0x4c527e
movzx edx, word [edi*4 + 0x51a080]
movzx ecx, al
and edx, 0x3ff
mov eax, ecx
and ecx, 0x1f
shr eax, 5
add edx, eax
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x519d80], eax
jne 0x4c527e
xor eax, eax
jmp 0x4c5283
movzx eax, byte [edi*4 + 0x51a079]
mov eax, dword [eax*4 + 0x5361c0]
cmp eax, 1
je 0x4c527e
cmp eax, 3
je 0x4c527e
xor eax, eax
jmp 0x4c5283
cmp edx, 0x20
ja 0x4c5361
je case.0x4c524c.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x4c53d6.8203
jmp dword [edx*4 + 0x4d017c]
cmp edx, 0x2000
ja 0x4c53b6
je case.0x4c524c.0
cmp edx, 0x1680
ja 0x4c53ae
je case.0x4c524c.0
sub edx, 0x85
je case.0x4c524c.0
sub edx, 0x1b
je case.0x4c524c.0
movzx eax, byte [edi*4 + 0x51a079]
xor ecx, ecx
cmp dword [eax*4 + 0x5361c0], 6
sete cl
cmp ecx, ebx
jmp 0x4c5256
cmp edx, 0x180e
jmp 0x4c538c
cmp edx, 0x3000
ja case.0x4c53d6.8203
je case.0x4c524c.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4c53d6.8203
movzx eax, byte [edx + 0x4d0198]
jmp dword [eax*4 + 0x4d0190]
movzx eax, byte [edi*4 + 0x51a079]
mov ecx, dword [eax*4 + 0x5361c0]
cmp ecx, 1
je 0x4c5409
cmp ecx, 3
je 0x4c5409
cmp eax, 0xc
je 0x4c5409
cmp eax, 0x10
je 0x4c5409
xor eax, eax
cmp eax, ebx
jmp 0x4c5256
mov eax, 1
cmp eax, ebx
jmp 0x4c5256
movzx eax, byte [esi + 2]
mov ecx, dword [eax*4 + 0x519aa8]
lea eax, [eax*4 + 0x519aa8]
cmp edx, ecx
jb 0x4c543d
nop dword [eax + eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4c544c
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4c5430
cmp byte [ebp + 0xf], 0xf
je 0x4c525c
jmp 0x4c18bb
cmp byte [ebp + 0xf], 0xf
jmp 0x4c5256
cmp edx, 0x24
je 0x4c5409
cmp edx, 0x40
je 0x4c5409
cmp edx, 0x60
je 0x4c5409
cmp edx, 0xa0
jb 0x4c5474
cmp edx, 0xd7ff
jbe 0x4c5409
cmp edx, 0xe000
jae 0x4c5409
xor eax, eax
cmp eax, ebx
jmp 0x4c5256
mov ax, word [edi*4 + 0x51a080]
xor ecx, ecx
shr ax, 0xb
cmp al, byte [esi + 2]
sete cl
cmp ecx, ebx
jmp 0x4c5256
movzx ecx, byte [esi + 2]
movzx edx, word [edi*4 + 0x51a082]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x519520]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, ebx
jmp 0x4c5256
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c5519
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c5502
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c5623
cmp edx, 0xc0
jb 0x4c5623
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c554d
movzx eax, bl
and edx, 0x1f
jmp 0x4c5615
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp + 8], edi
test dl, 0x10
jne 0x4c5570
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c5612
mov dword [ebp + 0xc], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c559c
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp + 0xc]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
jmp 0x4c5612
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp + 0xc]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x34]
test dl, 4
jne 0x4c55f3
mov ecx, dword [ebp - 0x30]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
mov esi, ecx
jmp 0x4c5623
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.004d6100
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
cmp ecx, dword [edi + 0x54]
jb case.default.0x4c4edb
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4c4b60.8203
cmp ecx, dword [edi + 0x60]
ja 0x4c5667
cmp dword [edi + 0x24], 0
je case.0x4c4b60.8203
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c15ad
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov ecx, esi
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], ebx
mov dword [eax], esi
jmp 0x4c57a2
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
xor ecx, ecx
cmp byte [esi], 0x5c
setne cl
add esi, 3
mov dword [ebp - 0xc], ecx
xor ebx, ebx
mov dword [eax], esi
mov ecx, esi
jmp 0x4c57a2
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov ecx, esi
xor ebx, ebx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4c57a2
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov ecx, esi
mov ebx, 1
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4c57a2
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov ecx, esi
xor ebx, ebx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x4c57a2
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
add esi, 3
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
xor ebx, ebx
mov dword [eax + 0x24], ecx
mov ecx, esi
mov dword [eax], esi
jmp 0x4c57a2
movzx ecx, byte [esi]
inc esi
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 4]
mov ebx, dword [ecx*4 + 0x519340]
mov dword [eax], esi
mov dword [eax + 0x20], ebx
mov eax, dword [ecx*4 + str.NOTEMPTY_ATSTART_]
mov dword [edi + 0x24], eax
mov eax, dword [ecx*4 + 0x519398]
mov dword [ebp - 0xc], eax
mov eax, edi
mov ecx, dword [eax]
mov dword [ebp + 8], ebx
mov dl, byte [esi]
inc ecx
mov edi, dword [ebp - 4]
movzx eax, dl
mov dword [edi + 0x28], eax
mov eax, edi
mov dword [eax], ecx
cmp dl, 0x10
je 0x4c57c4
cmp dl, 0xf
je 0x4c57c4
or edx, 0xffffffff
jmp 0x4c57e0
movzx edx, byte [ecx]
inc ecx
mov edi, dword [ebp - 4]
mov dword [eax], ecx
movzx eax, byte [ecx]
mov dword [edi + 0x2c], eax
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, edi
mov ebx, dword [eax + 0x20]
mov dword [ebp + 8], ebx
mov dword [ebp - 0x30], edx
test ebx, ebx
je 0x4c7387
mov esi, dword [eax + 0x28]
mov dword [ebp - 0x14], esi
test edx, edx
js 0x4c6f91
xor ecx, ecx
cmp esi, 0xf
sete cl
mov dword [ebp + 0xc], ecx
cmp edx, 0xd
ja case.0x4cc7d3.15
jmp dword [edx*4 + 0x4d01f8]
mov edi, dword [ebp + 0x1c]
cmp esi, 0xf
je case.0x4cc7ed.14
mov ecx, dword [eax + 0x38]
mov esi, 1
cmp ecx, dword [edi + 0x54]
jae 0x4c587d
cmp dword [ebp - 8], 0
lea edx, [ecx + 1]
movzx ebx, byte [ecx]
mov ecx, edx
mov dword [eax + 0x38], edx
je 0x4c5872
cmp ebx, 0xc0
jb 0x4c5872
test bl, 0x20
jne 0x4c5850
lea ecx, [edx + 1]
jmp 0x4c586f
test bl, 0x10
jne 0x4c585a
lea ecx, [edx + 2]
jmp 0x4c586f
test bl, 8
jne 0x4c5864
lea ecx, [edx + 3]
jmp 0x4c586f
lea ecx, [edx + 4]
test bl, 4
je 0x4c586f
lea ecx, [edx + 5]
mov dword [eax + 0x38], ecx
inc esi
cmp esi, dword [ebp + 8]
jbe 0x4c5828
jmp 0x4c738a
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c589b
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [eax + 0x38]
mov ebx, 1
mov edi, dword [ebp + 0x1c]
mov dword [ebp + 8], ebx
jmp 0x4c58c5
mov eax, dword [ebp - 4]
cmp esi, dword [edi + 0x54]
jae 0x4c5a4b
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c59e0
cmp edx, 0xc0
jb 0x4c59e0
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c5904
movzx eax, bl
and edx, 0x1f
jmp 0x4c59cf
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x4c5927
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c59cc
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c5956
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x24]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
jmp 0x4c59cc
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x40], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp - 0x24]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
test dl, 4
jne 0x4c59ad
mov ecx, dword [ebp - 0x40]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
mov esi, ecx
jmp 0x4c59dd
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp + 8]
mov eax, edx
test eax, eax
jns 0x4c59e9
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c5a04
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x51a079]
cmp al, 9
je 0x4c5a28
cmp al, 5
je 0x4c5a28
cmp al, 8
je 0x4c5a28
xor eax, eax
jmp 0x4c5a2d
mov eax, 1
cmp eax, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
je 0x4cc907
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [eax + 0x20]
jbe 0x4c58c2
jmp 0x4c738d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c5a69
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [eax + 0x38]
mov ebx, 1
mov dword [ebp - 0x14], ebx
nop dword [eax + eax]
mov edi, dword [ebp + 0x1c]
cmp esi, dword [edi + 0x54]
jae 0x4c5c26
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c5b96
cmp edx, 0xc0
jb 0x4c5b96
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c5ae3
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
mov ebx, dword [ebp - 0x14]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c5b99
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x40], edi
test dl, 0x10
jne 0x4c5b00
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c5b27
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c5b3d
and edx, 7
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp - 0x24]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp - 4]
and eax, 0x3f
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c5b99
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x44], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp - 0x24]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x34]
test dl, 4
jne 0x4c5c02
mov ecx, dword [ebp - 0x44]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
mov esi, ecx
mov edi, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x4c5ba2
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c5bbd
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
mov eax, dword [eax*4 + 0x5361c0]
cmp eax, dword [edi + 0x2c]
mov eax, dword [ebp - 4]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c1a2e
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c5a90
mov edi, dword [ebp + 0x1c]
jmp 0x4c738d
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
jmp 0x4c5b2a
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c5c44
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [eax + 0x38]
mov ebx, 1
mov dword [ebp - 0x14], ebx
nop word [eax + eax]
mov edi, dword [ebp + 0x1c]
cmp esi, dword [edi + 0x54]
jae 0x4c5dff
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c5d76
cmp edx, 0xc0
jb 0x4c5d76
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c5cc3
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
mov ebx, dword [ebp - 0x14]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c5d79
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c5ce0
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c5d07
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c5d1d
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x24]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp - 4]
and eax, 0x3f
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c5d79
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x34], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp - 0x24]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x40]
test dl, 4
jne 0x4c5ddb
mov ecx, dword [ebp - 0x34]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
mov esi, ecx
mov edi, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x4c5d82
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c5d9d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
cmp eax, dword [edi + 0x2c]
mov eax, dword [ebp - 4]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c1a2e
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c5c70
mov edi, dword [ebp + 0x1c]
jmp 0x4c738d
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
jmp 0x4c5d0a
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c5e1d
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [eax + 0x38]
mov ebx, 1
mov dword [ebp - 0x14], ebx
nop
mov edi, dword [ebp + 0x1c]
cmp esi, dword [edi + 0x54]
jae 0x4c5fcf
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c5f46
cmp edx, 0xc0
jb 0x4c5f46
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c5e93
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
mov ebx, dword [ebp - 0x14]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c5f49
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c5eb0
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c5ed7
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c5eed
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x24]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp - 4]
and eax, 0x3f
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c5f49
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x34], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp - 0x24]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x40]
test dl, 4
jne 0x4c5fab
mov ecx, dword [ebp - 0x34]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
mov esi, ecx
mov edi, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x4c5f52
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c5f6d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a078]
cmp eax, dword [edi + 0x2c]
mov eax, dword [ebp - 4]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c1a2e
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c5e40
mov edi, dword [ebp + 0x1c]
jmp 0x4c738d
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
jmp 0x4c5eda
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c5fed
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [eax + 0x38]
mov ebx, 1
mov dword [ebp - 0x14], ebx
nop
mov edi, dword [ebp + 0x1c]
cmp esi, dword [edi + 0x54]
jae 0x4c61cf
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c6116
cmp edx, 0xc0
jb 0x4c6116
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c6063
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
mov ebx, dword [ebp - 0x14]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c6119
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c6080
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c60a7
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c60bd
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x24]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp - 4]
and eax, 0x3f
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c6119
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x34], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp - 0x24]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x40]
test dl, 4
jne 0x4c6185
mov ecx, dword [ebp - 0x34]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
mov esi, ecx
mov edi, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x4c6122
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c613d
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [edi + 0x2c]
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x51a078]
cmp eax, ecx
je 0x4c61a9
movzx edx, word [edx*4 + 0x51a080]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x519d80], eax
jne 0x4c61a9
xor eax, eax
jmp 0x4c61ae
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
jmp 0x4c60aa
mov eax, 1
cmp eax, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
je 0x4c1a2e
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c6010
mov edi, dword [ebp + 0x1c]
jmp 0x4c738d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c61ed
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [eax + 0x38]
mov ebx, 1
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x14], ebx
cmp esi, dword [edi + 0x54]
jae 0x4c6398
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c6327
cmp edx, 0xc0
jb 0x4c6327
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c6251
movzx eax, bl
and edx, 0x1f
jmp 0x4c6313
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c6274
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c6313
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c62a0
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x24]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
jmp 0x4c6313
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x34], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp - 0x24]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x40]
test dl, 4
jne 0x4c62f4
mov ecx, dword [ebp - 0x34]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
mov esi, ecx
jmp 0x4c6321
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4c6330
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c634b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
mov eax, dword [eax*4 + 0x5361c0]
cmp eax, 1
je 0x4c6375
cmp eax, 3
je 0x4c6375
xor eax, eax
jmp 0x4c637a
mov eax, 1
cmp eax, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
je 0x4cc907
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c6212
jmp 0x4c738d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c63b6
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov ebx, 1
mov dword [ebp + 8], ebx
mov edi, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x4c661c
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c64f8
cmp edx, 0xc0
jb 0x4c64f8
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c642a
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
mov ebx, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
mov dword [edi + 0x38], esi
or edx, eax
mov esi, dword [ebp - 0x14]
jmp 0x4c64fb
lea edi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c6462
movzx eax, byte [esi]
and edx, 0xf
mov edi, dword [ebp - 4]
and eax, 0x3f
mov esi, dword [ebp - 0x44]
movzx ecx, bl
mov ebx, dword [ebp + 8]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov dword [edi + 0x38], esi
mov esi, dword [ebp - 0x14]
shl edx, 6
or edx, eax
jmp 0x4c64fb
lea edi, [ecx + 3]
mov dword [ebp - 0x44], edi
lea edi, [ecx + 2]
test dl, 8
jne 0x4c64a5
movzx eax, byte [esi]
and edx, 7
mov esi, dword [ebp - 0x14]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp + 8]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x44]
mov dword [edi + 0x38], eax
jmp 0x4c64fb
movzx edi, byte [ecx + 1]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x44], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x40], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x44]
test dl, 4
jne 0x4c6515
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x40]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 0x14]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp - 0x24]
mov edi, dword [ebp - 4]
cmp edx, 0x20
ja 0x4c654a
je case.0x4c6610.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4c6610.8203
jmp dword [eax*4 + 0x4d0230]
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
mov esi, dword [ebp - 0x14]
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
jmp 0x4c64fb
cmp edx, 0x2000
ja 0x4c65f0
je case.0x4c6610.8193
cmp edx, 0x1680
ja 0x4c65e8
je case.0x4c6610.8193
mov eax, edx
sub eax, 0x85
je case.0x4c6610.8193
sub eax, 0x1b
je case.0x4c6610.8193
mov eax, edx
test eax, eax
jns 0x4c658d
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c65a8
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
cmp dword [eax*4 + 0x5361c0], 6
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c18bb
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [edi + 0x20]
ja 0x4c7299
jmp 0x4c63d5
cmp edx, 0x180e
jmp 0x4c657e
cmp edx, 0x3000
ja case.0x4c6610.8203
je case.0x4c6610.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4c6610.8203
movzx eax, byte [eax + 0x4d024c]
jmp dword [eax*4 + 0x4d0244]
cmp esi, 0xf
jmp 0x4c65cd
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c663a
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [eax + 0x38]
mov ebx, 1
mov dword [ebp + 8], ebx
nop dword [eax]
mov edi, dword [ebp + 0x1c]
cmp esi, dword [edi + 0x54]
jae 0x4c680b
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c6766
cmp edx, 0xc0
jb 0x4c6766
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c66b3
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
mov ebx, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c6769
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c66d0
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c66f7
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c670d
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x24]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp - 4]
and eax, 0x3f
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c6769
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x34], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp - 0x24]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x40]
test dl, 4
jne 0x4c67c1
mov ecx, dword [ebp - 0x34]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
mov esi, ecx
mov edi, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x4c6772
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c678d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
mov ecx, dword [eax*4 + 0x5361c0]
cmp ecx, 1
je 0x4c67e5
cmp ecx, 3
je 0x4c67e5
cmp eax, 0xc
je 0x4c67e5
cmp eax, 0x10
je 0x4c67e5
xor eax, eax
jmp 0x4c67ea
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
jmp 0x4c66fa
mov eax, 1
cmp eax, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
je 0x4c1a2e
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [edi + 0x20]
jbe 0x4c6660
mov edi, dword [ebp + 0x1c]
jmp 0x4c738d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c6829
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov ebx, 1
mov dword [ebp + 0xc], ebx
nop dword [eax + eax]
mov edi, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x4c69da
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c698d
cmp edx, 0xc0
jb 0x4c698d
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c689f
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c6981
lea edi, [ecx + 2]
mov dword [ebp + 8], edi
test dl, 0x10
jne 0x4c68d1
movzx eax, byte [esi]
and edx, 0xf
mov edi, dword [ebp - 4]
and eax, 0x3f
mov esi, dword [ebp + 8]
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
mov dword [edi + 0x38], esi
shl edx, 6
or edx, eax
jmp 0x4c6981
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
test dl, 8
jne 0x4c6905
and edx, 7
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edi
jmp 0x4c697b
movzx edi, byte [ecx + 1]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x44], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x40], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp - 0x44]
test dl, 4
jne 0x4c6954
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x40]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c6984
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp + 0x1c]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax*4 + 0x519aa8]
lea eax, [eax*4 + 0x519aa8]
cmp edx, ecx
jb 0x4c69af
lea eax, [eax + 4]
cmp edx, ecx
je 0x4c69cf
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4c69a2
cmp esi, 0xf
jne case.0x4cc7ed.14
mov edi, dword [ebp - 4]
inc ebx
mov dword [ebp + 0xc], ebx
mov eax, edi
cmp ebx, dword [edi + 0x20]
ja 0x4c6d56
jmp 0x4c6850
cmp esi, 0xf
je case.0x4cc7ed.14
jmp 0x4c69b8
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c69f8
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov edi, dword [ebp + 0x1c]
mov ebx, 1
mov dword [ebp + 8], ebx
nop word [eax + eax]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x4c6ba5
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c6b5a
cmp edx, 0xc0
jb 0x4c6b5a
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c6a6c
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c6b51
lea edi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c6a9e
movzx eax, byte [esi]
and edx, 0xf
mov edi, dword [ebp - 4]
and eax, 0x3f
mov esi, dword [ebp - 0x44]
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
mov dword [edi + 0x38], esi
shl edx, 6
or edx, eax
jmp 0x4c6b51
lea edi, [ecx + 3]
mov dword [ebp - 0x44], edi
lea edi, [ecx + 2]
test dl, 8
jne 0x4c6ad5
movzx eax, byte [esi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x44]
jmp 0x4c6b4b
movzx edi, byte [ecx + 1]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x44], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x40], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x44]
test dl, 4
jne 0x4c6b24
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x40]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
jmp 0x4c6b54
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
cmp edx, 0x24
je 0x4c6b85
cmp edx, 0x40
je 0x4c6b85
cmp edx, 0x60
je 0x4c6b85
cmp edx, 0xa0
jb 0x4c6b79
cmp edx, 0xd7ff
jbe 0x4c6b85
cmp edx, 0xe000
jae 0x4c6b85
xor ecx, ecx
jmp 0x4c6b8a
mov ecx, 1
cmp ecx, dword [ebp + 0xc]
je case.0x4cc7ed.14
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [eax + 0x20]
jbe 0x4c6a20
jmp 0x4c738a
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c6bc3
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [eax + 0x38]
mov ebx, 1
mov dword [ebp - 0x14], ebx
nop word [eax + eax]
mov edi, dword [ebp + 0x1c]
cmp esi, dword [edi + 0x54]
jae 0x4c6d82
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c6cf6
cmp edx, 0xc0
jb 0x4c6cf6
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c6c43
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
mov ebx, dword [ebp - 0x14]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c6cf9
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c6c60
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c6c87
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c6c9d
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x24]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp - 4]
and eax, 0x3f
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c6cf9
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x34], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp - 0x24]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x40]
test dl, 4
jne 0x4c6d5e
mov ecx, dword [ebp - 0x34]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x14]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
mov esi, ecx
mov edi, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x4c6d02
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c6d1d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x51a080]
shr eax, 0xb
cmp eax, dword [edi + 0x2c]
mov eax, dword [ebp - 4]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c1a2e
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c6bf0
mov edi, dword [ebp + 0x1c]
jmp 0x4c738d
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
jmp 0x4c6c8a
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c6da0
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [eax + 0x38]
mov ebx, 1
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x14], ebx
cmp esi, dword [edi + 0x54]
jae 0x4c6f5c
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c6edc
cmp edx, 0xc0
jb 0x4c6edc
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c6e04
movzx eax, bl
and edx, 0x1f
jmp 0x4c6ec6
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c6e27
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c6ec6
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c6e53
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x24]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
jmp 0x4c6ec6
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x34], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp - 0x24]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x40]
test dl, 4
jne 0x4c6ea7
mov ecx, dword [ebp - 0x34]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
mov esi, ecx
jmp 0x4c6ed6
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edi
mov dword [edi + 0x38], esi
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x2c]
mov eax, edx
test eax, eax
jns 0x4c6ee8
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4c6f03
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x51a082]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x519520]
and ecx, eax
mov eax, dword [ebp - 4]
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp + 0xc]
je 0x4cc907
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c6dc5
jmp 0x4c738a
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4c6f7a
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
cmp esi, 0x16
jne 0x4c717a
mov ecx, dword [ebp + 0x1c]
mov ebx, 1
mov dword [ebp + 0xc], ebx
mov esi, dword [ecx + 0x54]
nop dword [eax + eax]
mov ecx, dword [eax + 0x38]
cmp ecx, esi
jae 0x4c7142
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c70b3
cmp edx, 0xc0
jb 0x4c70b3
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c7000
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
mov ebx, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c70b6
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c701d
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c7044
mov dword [ebp + 8], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c705a
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp + 8]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp - 4]
and eax, 0x3f
mov ebx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c70b6
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x34], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp + 8]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x40]
test dl, 4
jne 0x4c711e
mov ecx, dword [ebp - 0x34]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
mov esi, ecx
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
push 0
push dword [ebp - 8]
push dword [eax + 0x54]
push dword [eax + 0x4c]
push esi
push edx
call fcn.004d6100
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp + 0x1c]
mov dword [edi + 0x38], ecx
mov esi, dword [eax + 0x54]
cmp ecx, esi
jb 0x4c7106
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x4c7106
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c70f6
cmp dword [eax + 0x24], 0
je 0x4c7106
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, dword [edi + 0x20]
jbe 0x4c6fb0
mov edi, dword [ebp + 0x1c]
jmp 0x4c738d
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
jmp 0x4c7047
mov edi, dword [ebp + 0x1c]
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c7163
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
lea ecx, [esi - 6]
cmp ecx, 0xf
ja case.0x4cc7d3.15
cmp dword [ebp - 8], 0
je switch.0x004c81de
jmp dword [ecx*4 + 0x4d02ac]
mov edi, dword [ebp + 0x1c]
jmp 0x4c738d
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], edx
cmp edx, esi
je 0x4c15ad
cmp dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x30]
je 0x4cf3cc
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
mov edi, dword [ebx + 0x28]
test ecx, ecx
js 0x4c9b6a
xor ecx, ecx
cmp edi, 0xf
sete cl
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x30]
cmp ecx, 0xd
ja case.0x4cc7d3.15
jmp dword [ecx*4 + 0x4d02ec]
mov ecx, dword [eax + 0x38]
mov ebx, 1
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x14], ebx
cmp ecx, dword [edi + 0x54]
jae 0x4c7eec
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x4c7ec2
mov bl, byte [ecx]
lea esi, [ecx + 1]
mov byte [ebp + 0xf], bl
test dl, 0x20
jne 0x4c7dc8
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
mov ecx, esi
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x4c7ebc
lea ebx, [ecx + 2]
mov dword [ebp - 0x44], ebx
test dl, 0x10
jne 0x4c7dfa
movzx ecx, byte [ebp + 0xf]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
mov edi, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, ebx
shl edx, 6
or edx, eax
mov dword [edi + 0x38], ebx
jmp 0x4c7ebc
lea edi, [ecx + 3]
mov dword [ebp - 0x24], edi
test dl, 8
jne 0x4c7e3a
movzx ecx, byte [ebp + 0xf]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
mov edi, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 0x38], eax
mov ecx, eax
jmp 0x4c7ebc
movzx edi, byte [ebp + 0xf]
lea ebx, [ecx + 4]
movzx esi, byte [esi]
and edi, 0x3f
mov dword [ebp - 0x40], edi
and esi, 0x3f
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x44]
movzx edi, byte [edi]
and edi, 0x3f
movzx ebx, byte [ebx]
and ebx, 0x3f
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x40]
test dl, 4
jne 0x4c7e8d
mov ecx, dword [ebp - 0x34]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4c7ebc
mov eax, dword [ebp - 0x34]
and edx, 1
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
movzx eax, byte [eax]
or edx, esi
shl edx, 6
and eax, 0x3f
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
add ecx, 5
mov dword [edi + 0x38], ecx
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp + 0x1c]
cmp edx, 0x80
jae 0x4c7ed7
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
jne case.0x4cc7ed.14
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
ja 0x4c738d
jmp 0x4c7d84
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4c7f0a
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
jmp dword [ecx*4 + 0x4d0424]
mov edx, dword [eax + 0x38]
mov esi, 1
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x4c85d9
movzx ecx, byte [edx]
mov eax, dword [eax + 0x30]
test byte [ecx + eax], 8
jne 0x4c18bb
inc edx
inc esi
mov dword [edi + 0x38], edx
cmp esi, ebx
jbe 0x4c85b3
jmp 0x4c7387
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp edx, dword [edi + 0x60]
ja 0x4c85f9
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
cmp edx, esi
jae 0x4c9b52
mov edx, dword [ebp + 0x1c]
mov ecx, 1
cmp eax, dword [edx + 0x54]
jae 0x4c8893
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c8875
cmp edx, 0xc0
jb 0x4c8875
test dl, 0x20
jne 0x4c884f
mov ecx, 2
jmp 0x4c8875
test dl, 0x10
jne 0x4c885b
mov ecx, 3
jmp 0x4c8875
test dl, 8
jne 0x4c8867
mov ecx, 4
jmp 0x4c8875
test dl, 4
mov ecx, 0
setne cl
add ecx, 5
cmp edi, 0xf
je 0x4c9b52
mov edx, dword [ebp + 0xc]
add eax, ecx
inc edx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], edx
cmp edx, esi
jb 0x4c8825
jmp 0x4c9b52
mov edi, edx
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4c9b55
cmp eax, dword [edi + 0x60]
ja 0x4c88b3
cmp dword [edi + 0x24], 0
je 0x4c9b55
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
jmp 0x4c9b55
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9b55
nop dword [eax]
nop word [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c8a51
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 8], edx
je 0x4c89de
cmp edx, 0xc0
jb 0x4c89de
test dl, 0x20
jne 0x4c8920
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c89d6
test dl, 0x10
jne 0x4c8945
mov ecx, dword [ebp + 8]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c89d6
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c897e
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
jmp 0x4c89de
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c89b2
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c89de
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x4c89e7
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c8a02
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx ecx, word [ecx*2 + 0x522730]
lea ecx, [ecx + ecx*2]
mov cl, byte [ecx*4 + 0x51a079]
cmp cl, 9
je 0x4c8a29
cmp cl, 5
je 0x4c8a29
cmp cl, 8
je 0x4c8a29
xor ecx, ecx
jmp 0x4c8a2e
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c9b55
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x4c88e0
jmp 0x4c9b55
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4c9b55
cmp eax, dword [edi + 0x60]
ja 0x4c8a6f
cmp dword [edi + 0x24], 0
je 0x4c9b55
mov dword [edi + 0x1c], esi
cmp edx, 1
ja 0x4c3867
jmp 0x4c9b55
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9b55
nop dword [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c8a51
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
je 0x4c8b8a
cmp edx, 0xc0
jb 0x4c8b8a
test dl, 0x20
jne 0x4c8acc
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c8b82
test dl, 0x10
jne 0x4c8af1
mov ecx, dword [ebp - 0x44]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c8b82
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c8b2a
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
jmp 0x4c8b8a
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c8b5e
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
jmp 0x4c8b8a
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x4c8b93
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c8bae
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x522730]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x51a079]
mov ecx, dword [ecx*4 + 0x5361c0]
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c9b55
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebp + 8]
jb 0x4c8a90
jmp 0x4c9b55
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9b55
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c8a51
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c8ced
cmp edx, 0xc0
jb 0x4c8ced
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x4c8c3d
and edx, 0x1f
mov esi, 2
jmp 0x4c8ce5
and ecx, 0x3f
test dl, 0x10
jne 0x4c8c5b
and edx, 0xf
mov esi, 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c8ce5
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c8c8d
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
jmp 0x4c8ced
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c8cc1
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
jmp 0x4c8ced
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x4c8cf6
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c8d11
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x522730]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x51a079]
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c9b55
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebp + 8]
jb 0x4c8c00
jmp 0x4c9b55
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9b55
nop dword [eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c8a51
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
je 0x4c8e5e
cmp edx, 0xc0
jb 0x4c8e5e
test dl, 0x20
jne 0x4c8da0
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c8e56
test dl, 0x10
jne 0x4c8dc5
mov ecx, dword [ebp - 0x44]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c8e56
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c8dfe
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
jmp 0x4c8e5e
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c8e32
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
jmp 0x4c8e5e
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x4c8e67
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c8e82
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x522730]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x51a078]
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c9b55
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebp + 8]
jb 0x4c8d60
jmp 0x4c9b55
cmp edx, esi
jae 0x4c9b52
nop word [eax + eax]
mov edi, dword [ebp + 0x1c]
mov dword [ebp + 8], 1
cmp eax, dword [edi + 0x54]
jae 0x4c906b
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
je 0x4c8fd4
cmp edx, 0xc0
jb 0x4c8fd4
test dl, 0x20
jne 0x4c8f17
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov dword [ebp + 8], 2
jmp 0x4c8fcc
test dl, 0x10
jne 0x4c8f3e
mov ecx, dword [ebp - 0x44]
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
mov dword [ebp + 8], 3
movzx ecx, byte [eax + 2]
jmp 0x4c8fcc
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c8f76
and edx, 7
mov dword [ebp + 8], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
jmp 0x4c8fd4
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c8fa9
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
mov dword [ebp + 8], 5
jmp 0x4c8fd4
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
mov dword [ebp + 8], 6
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x4c8fdd
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c8ff8
dec edx
or edx, 0xffffff80
inc edx
mov edi, dword [ebx + 0x2c]
add ecx, edx
movzx ecx, word [ecx*2 + 0x522730]
lea edx, [ecx + ecx*2]
movzx ecx, byte [edx*4 + 0x51a078]
cmp ecx, edi
je 0x4c9042
movzx esi, word [edx*4 + 0x51a080]
mov edx, edi
shr edx, 5
and esi, 0x3ff
add esi, edx
and edi, 0x1f
mov edx, 1
mov ecx, edi
shl edx, cl
test dword [esi*4 + 0x519d80], edx
jne 0x4c9042
xor ecx, ecx
jmp 0x4c9047
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c9b52
mov ecx, dword [ebp + 0xc]
add eax, dword [ebp + 8]
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x4c8ed0
jmp 0x4c9b52
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4c9b55
cmp eax, dword [edi + 0x60]
ja 0x4c9089
cmp dword [edi + 0x24], 0
je 0x4c9b55
mov dword [edi + 0x1c], 1
jmp 0x4c8a72
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9b55
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c8a51
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 8], edx
je 0x4c919e
cmp edx, 0xc0
jb 0x4c919e
test dl, 0x20
jne 0x4c90e0
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c9196
test dl, 0x10
jne 0x4c9105
mov ecx, dword [ebp + 8]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c9196
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c913e
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
jmp 0x4c919e
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c9172
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c919e
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x4c91a7
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c91c2
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx ecx, word [ecx*2 + 0x522730]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x51a079]
mov ecx, dword [ecx*4 + 0x5361c0]
cmp ecx, 1
je 0x4c91ec
cmp ecx, 3
je 0x4c91ec
xor ecx, ecx
jmp 0x4c91f1
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c9b55
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x4c90a0
jmp 0x4c9b55
cmp edx, esi
jae 0x4c9b52
nop dword [eax]
mov ecx, dword [ebp + 0x1c]
mov esi, 1
cmp eax, dword [ecx + 0x54]
jae 0x4c941c
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 8], edx
je 0x4c9321
cmp edx, 0xc0
jb 0x4c9321
test dl, 0x20
jne 0x4c9263
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c9319
test dl, 0x10
jne 0x4c9288
mov ecx, dword [ebp + 8]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c9319
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c92c1
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebx + 0x28]
jmp 0x4c9321
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c92f5
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebx + 0x28]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c9321
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebx + 0x28]
shl edx, 6
or edx, dword [ebp + 8]
and ecx, 0x3f
shl edx, 6
or edx, ecx
cmp edx, 0x20
ja 0x4c933b
je case.0x4c9407.8193
lea ecx, [edx - 9]
cmp ecx, 4
ja case.0x4c9407.8203
jmp dword [ecx*4 + 0x4d05f8]
cmp edx, 0x2000
ja 0x4c93e7
je case.0x4c9407.8193
cmp edx, 0x1680
ja 0x4c93df
je case.0x4c9407.8193
mov ecx, edx
sub ecx, 0x85
je case.0x4c9407.8193
sub ecx, 0x1b
je case.0x4c9407.8193
mov ecx, edx
test ecx, ecx
jns 0x4c937f
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c939a
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x522730]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x51a079]
cmp dword [ecx*4 + 0x5361c0], 6
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c9b52
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x4c9220
jmp 0x4c9b52
cmp edx, 0x180e
jmp 0x4c9370
cmp edx, 0x3000
ja case.0x4c9407.8203
je case.0x4c9407.8193
lea ecx, [edx - 0x2001]
cmp ecx, 0x5e
ja case.0x4c9407.8203
movzx ecx, byte [ecx + 0x4d0614]
jmp dword [ecx*4 + 0x4d060c]
cmp edi, 0xf
je 0x4c9b52
mov eax, dword [ebx + 0x38]
jmp 0x4c93c5
mov edi, ecx
jmp 0x4c8a51
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9b55
nop
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c8a51
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 8], edx
je 0x4c952e
cmp edx, 0xc0
jb 0x4c952e
test dl, 0x20
jne 0x4c9470
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c9526
test dl, 0x10
jne 0x4c9495
mov ecx, dword [ebp + 8]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c9526
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c94ce
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
jmp 0x4c952e
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c9502
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c952e
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x4c9537
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c9552
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx ecx, word [ecx*2 + 0x522730]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x51a079]
mov edx, dword [ecx*4 + 0x5361c0]
cmp edx, 1
je 0x4c9586
cmp edx, 3
je 0x4c9586
cmp ecx, 0xc
je 0x4c9586
cmp ecx, 0x10
je 0x4c9586
xor ecx, ecx
jmp 0x4c958b
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c9b55
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x4c9430
jmp 0x4c9b55
cmp edx, esi
jae 0x4c9b52
nop word [eax + eax]
mov ecx, dword [ebp + 0x1c]
mov esi, 1
cmp eax, dword [ecx + 0x54]
jae 0x4c941c
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c96b4
cmp edx, 0xc0
jb 0x4c96b4
test dl, 0x20
jne 0x4c9600
movzx eax, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c96ac
movzx ecx, byte [eax + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4c9622
movzx eax, byte [eax + 2]
and edx, 0xf
shl edx, 6
mov esi, 3
or edx, ecx
jmp 0x4c96ac
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c9654
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebx + 0x28]
jmp 0x4c96b4
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c9688
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebx + 0x28]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c96b4
movzx eax, byte [eax + 5]
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebx + 0x28]
shl edx, 6
or edx, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax*4 + 0x519aa8]
lea eax, [eax*4 + 0x519aa8]
cmp edx, ecx
jb 0x4c96dd
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4c9701
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4c96d0
cmp edi, 0xf
jne 0x4c9b52
mov ecx, dword [ebp + 0xc]
add dword [ebx + 0x38], esi
inc ecx
mov eax, dword [ebx + 0x38]
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x4c95c0
jmp 0x4c9b52
cmp edi, 0xf
je 0x4c9b52
jmp 0x4c96e6
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9b55
nop word [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c8a51
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c980d
cmp edx, 0xc0
jb 0x4c980d
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x4c975d
and edx, 0x1f
mov esi, 2
jmp 0x4c9805
and ecx, 0x3f
test dl, 0x10
jne 0x4c977b
and edx, 0xf
mov esi, 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c9805
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c97ad
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
jmp 0x4c980d
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c97e1
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x4c980d
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
and ecx, 0x3f
shl edx, 6
or edx, ecx
cmp edx, 0x24
je 0x4c9838
cmp edx, 0x40
je 0x4c9838
cmp edx, 0x60
je 0x4c9838
cmp edx, 0xa0
jb 0x4c982c
cmp edx, 0xd7ff
jbe 0x4c9838
cmp edx, 0xe000
jae 0x4c9838
xor ecx, ecx
jmp 0x4c983d
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c9b55
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x4c9720
jmp 0x4c9b55
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9b55
nop dword [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c8a51
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
je 0x4c996e
cmp edx, 0xc0
jb 0x4c996e
test dl, 0x20
jne 0x4c98b0
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c9966
test dl, 0x10
jne 0x4c98d5
mov ecx, dword [ebp - 0x44]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c9966
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c990e
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
jmp 0x4c996e
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c9942
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
jmp 0x4c996e
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x4c9977
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c9992
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x522730]
lea ecx, [ecx + ecx*2]
movzx ecx, word [ecx*4 + 0x51a080]
shr ecx, 0xb
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c9b55
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebp + 8]
jb 0x4c9870
jmp 0x4c9b55
cmp edx, esi
jae 0x4c9b52
nop dword [eax]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x24], 1
cmp eax, dword [edi + 0x54]
jae 0x4c906b
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c9ad3
cmp edx, 0xc0
jb 0x4c9ad3
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x4c9a24
and edx, 0x1f
mov dword [ebp - 0x24], 2
jmp 0x4c9acb
and ecx, 0x3f
test dl, 0x10
jne 0x4c9a44
and edx, 0xf
mov dword [ebp - 0x24], 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c9acb
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4c9a75
and edx, 7
mov dword [ebp - 0x24], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
jmp 0x4c9ad3
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c9aa8
and edx, 3
mov dword [ebp - 0x24], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp - 0x34]
jmp 0x4c9ad3
and edx, 1
mov dword [ebp - 0x24], 6
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp - 0x34]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov edi, dword [ebx + 0x2c]
mov ecx, edx
test ecx, ecx
jns 0x4c9adf
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x51e330]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c9afa
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx edx, word [ecx*2 + 0x522730]
lea edx, [edx + edx*2]
movzx esi, word [edx*4 + 0x51a082]
mov edx, edi
shr edx, 5
and esi, 0xfff
add esi, edx
and edi, 0x1f
mov ecx, edi
mov edx, 1
shl edx, cl
mov ecx, dword [esi*4 + 0x519520]
and ecx, edx
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp - 0x14]
je 0x4c9b52
mov ecx, dword [ebp + 0xc]
add eax, dword [ebp - 0x24]
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebp + 8]
jb 0x4c99e0
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c15b0
mov ecx, dword [ebx + 0x38]
jmp 0x4cf347
cmp edi, 0x16
jne 0x4c9d1e
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9d0c
mov esi, dword [edi + 0x54]
mov ecx, dword [ebx + 0x38]
cmp ecx, esi
jae 0x4c9ce6
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [ebx + 0x38], ecx
je 0x4c9c8d
cmp edx, 0xc0
jb 0x4c9c8d
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c9bc0
movzx eax, al
and edx, 0x1f
jmp 0x4c9c82
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c9be0
movzx ecx, al
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c9c7f
mov dword [ebp + 8], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c9c0c
movzx ecx, al
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
jmp 0x4c9c7f
movzx edi, byte [edi]
movzx esi, byte [esi]
and edi, 0x3f
movzx eax, al
and esi, 0x3f
and eax, 0x3f
mov dword [ebp - 0x44], eax
lea eax, [ecx + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x44]
test dl, 4
jne 0x4c9c60
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x40]
shl edx, 6
or edx, edi
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x4c9c8d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
mov dword [ebx + 0x38], esi
or edx, eax
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.004d6100
mov ecx, eax
add esp, 0x18
mov dword [ebx + 0x38], ecx
mov esi, dword [edi + 0x54]
cmp ecx, esi
jb 0x4c9cd4
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c9cd4
cmp ecx, dword [edi + 0x60]
ja 0x4c9cc4
cmp dword [edi + 0x24], 0
je 0x4c9cd4
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebx + 0x24]
jb 0x4c9b81
jmp 0x4c9d0c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c9d0c
cmp ecx, dword [edi + 0x60]
ja 0x4c9cfc
cmp dword [edi + 0x24], 0
je 0x4c9d0c
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c15b0
jmp 0x4cf29f
lea ecx, [edi - 6]
cmp ecx, 0xf
ja case.0x4cc7d3.15
cmp dword [ebp - 8], 0
je switch.0x004cab53
jmp dword [ecx*4 + 0x4d0674]
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4cab3e
cmp eax, dword [edi + 0x60]
ja 0x4ca2cb
cmp dword [edi + 0x24], 0
je 0x4cab3e
mov dword [edi + 0x1c], esi
cmp edx, 1
ja 0x4c3867
jmp 0x4cab3e
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4cab3e
nop dword [eax]
nop dword [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4ca2ad
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
cmp edx, 0xc0
jb 0x4ca534
test dl, 0x20
jne 0x4ca476
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4ca52c
test dl, 0x10
jne 0x4ca49b
mov ecx, dword [ebp - 0x44]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4ca52c
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
mov dword [ebp - 0x44], edi
test dl, 8
jne 0x4ca4d4
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
jmp 0x4ca534
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4ca508
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
jmp 0x4ca534
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp - 0x34]
and ecx, 0x3f
shl edx, 6
or edx, ecx
cmp edx, 0x100
jae 0x4ca549
mov ecx, dword [edi + 0x30]
test byte [edx + ecx], 8
jne 0x4cab3e
mov ecx, dword [ebp + 0xc]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebp + 8]
jb 0x4ca440
jmp 0x4cab3e
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c15b0
mov ecx, dword [ebx + 0x38]
jmp 0x4cf30c
jmp dword [ecx*4 + 0x4d072c]
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4caf2d
cmp eax, dword [edi + 0x54]
jae 0x4caf07
movzx edx, byte [eax]
mov ecx, dword [edi + 0x30]
test byte [edx + ecx], 8
jne 0x4caf2d
mov ecx, dword [ebp + 0xc]
inc eax
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, esi
jb 0x4cadc1
jmp 0x4caf2d
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4caf2d
cmp eax, dword [edi + 0x60]
ja 0x4caf1d
cmp dword [edi + 0x24], 0
je 0x4caf2d
cmp edx, 1
mov dword [edi + 0x1c], 1
ja 0x4c3867
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c15b0
mov ecx, dword [ebx + 0x38]
jmp 0x4cef6c
mov ecx, dword [ebp + 0x1c]
xor eax, eax
cmp bl, 0x74
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx edi, byte [esi + 3]
movzx eax, byte [esi + 4]
movzx edx, byte [esi + 1]
shl edi, 8
or edi, eax
shl edx, 8
movzx eax, byte [esi + 2]
or edx, eax
movzx eax, word [ecx + 0x42]
imul edx, eax
lea eax, [esi + 5]
add edx, dword [ecx + 0x44]
mov dword [ebx], eax
test edi, edi
je 0x4cafb0
movzx ecx, byte [edx]
dec edi
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
mov dword [ebx + 0x14], ecx
cmp ecx, dword [ebx + 0x54]
jae 0x4cafa3
cmp dword [ebx + ecx*4 + 0x58], 0xffffffff
jne 0x4cafb0
mov eax, dword [ebp + 0x1c]
movzx eax, word [eax + 0x42]
add edx, eax
test edi, edi
jg 0x4caf80
mov esi, dword [ebx]
jmp 0x4cafde
xor eax, eax
cmp bl, 0x72
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, 3
lea eax, [ecx*2 - 2]
mov dword [ebx + 0x14], eax
mov dword [ebx], esi
mov edi, esi
movzx edx, byte [esi]
mov dword [ebp + 0xc], edx
lea eax, [edx - 0x62]
cmp eax, 7
ja case.default.0x4caff9
movzx eax, byte [eax + 0x4d087c]
jmp dword [eax*4 + 0x4d0874]
mov ecx, dword [edx*4 + 0x51930c]
lea eax, [esi + 1]
mov edx, dword [edx*4 + 0x519338]
mov dword [ebx], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], edx
mov esi, dword [eax*4 + 0x519364]
mov dword [ebp - 0xc], esi
jmp 0x4cb066
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x20], ecx
movzx edx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl edx, 8
or edx, eax
mov dword [ebx + 0x24], edx
movzx eax, byte [edi]
mov eax, dword [eax*4 + 0x519364]
mov dword [ebp - 0xc], eax
jne 0x4cb061
mov dword [ebx + 0x24], 0xffffffff
or edx, 0xffffffff
lea eax, [edi + 5]
mov dword [ebx], eax
mov edi, dword [ebx + 0x14]
cmp edi, dword [ebx + 0x54]
jae 0x4cb086
mov eax, dword [ebx + edi*4 + 0x58]
cmp eax, 0xffffffff
je 0x4cb086
cmp eax, dword [ebx + edi*4 + 0x5c]
je 0x4c15aa
mov eax, dword [ebp + 0x1c]
jmp 0x4cb0a1
test ecx, ecx
je 0x4c15aa
mov eax, dword [ebp + 0x1c]
test dword [eax + 0x80], 0x200
jne 0x4c15a1
mov esi, 1
cmp ecx, esi
jb 0x4cb0e1
nop word [eax + eax]
mov edi, dword [ebx + 0x14]
lea ecx, [ebp - 0x48]
push ecx
push eax
push ebx
push dword [ebx + 0x28]
push edi
call fcn.004d0d00
add esp, 0x14
test eax, eax
jne 0x4cb147
mov eax, dword [ebp - 0x48]
inc esi
add dword [ebx + 0x38], eax
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebp + 0x1c]
cmp esi, ecx
jbe 0x4cb0b0
mov edx, dword [ebx + 0x24]
cmp ecx, edx
je 0x4c15aa
cmp dword [ebp - 0xc], 0
je 0x4cf47d
mov eax, dword [ebx + 0x38]
mov esi, 1
mov dword [ebx + 4], eax
mov eax, dword [ebx + edi*4 + 0x5c]
sub eax, dword [ebx + edi*4 + 0x58]
mov dword [ebx + 0xc], eax
mov edi, dword [ebx + 0x20]
cmp edi, edx
jae 0x4cc3bf
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 0x1c]
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.004d0d00
add esp, 0x14
test eax, eax
jne 0x4cb195
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp eax, dword [ebx + 0xc]
cmovne esi, ecx
add dword [ebx + 0x38], eax
inc edi
cmp edi, dword [ebx + 0x24]
jb 0x4cb114
jmp 0x4cb1bd
mov edi, dword [ebp + 0x1c]
jle 0x4cb154
mov ecx, dword [edi + 0x54]
mov dword [ebx + 0x38], ecx
jmp 0x4cb157
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x4cc7ed.14
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cb17e
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
jle 0x4cb1bd
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4cb1bd
mov eax, dword [edx + 0x54]
cmp eax, dword [edx + 0x60]
jbe 0x4cb1bd
mov dword [edx + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
test esi, esi
jne 0x4cc3bf
mov dword [ebx + 0x24], edi
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x16
jmp 0x4cfa43
mov edi, dword [ebp + 0x1c]
lea eax, [ebp - 0x28]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.004d0d00
add esp, 0x14
test eax, eax
je 0x4cb239
jle 0x4cb1f8
mov ecx, dword [edi + 0x54]
mov dword [ebx + 0x38], ecx
jmp 0x4cb1fb
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x4cc7ed.14
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cb222
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov eax, dword [ebp - 0x28]
add dword [ebx + 0x38], eax
jmp 0x4c15ad
mov edi, dword [ebp - 4]
inc esi
mov dword [edi], esi
nop word [eax + eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
mov dword [edi], esi
cmp byte [esi], 0x78
je 0x4cb250
lea eax, [esi + 3]
mov dword [edi], eax
mov edi, dword [ebp + 0x1c]
jmp 0x4c15b0
cmp dword [edi + 0x20], 0
mov ebx, dword [ebp - 4]
jne 0x4cb286
cmp dword [ebx + 0x18], 0
jne 0x4cbff0
xor ecx, ecx
jmp 0x4cf802
lea eax, [ebp - 0x28]
push eax
push edi
mov edi, dword [ebp - 4]
push edi
call fcn.004c1380
mov esi, eax
add esp, 0xc
test esi, esi
jg 0x4c18bb
js 0x4c18bd
mov eax, dword [ebp - 0x28]
add dword [edi], eax
jmp 0x4c15aa
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebx, dword [ebp - 4]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc], ecx
cmp byte [esi + ecx], 0x78
je 0x4cb2d7
lea eax, [ecx - 3]
mov dword [ebx + 0xc], eax
lea edi, [esi + 3]
mov dword [ebx], edi
mov cl, byte [edi]
cmp cl, 0x76
je 0x4cb2e8
cmp cl, 0x77
jne 0x4cb317
mov edi, dword [ebp + 0x1c]
lea eax, [ebp - 0x28]
push eax
push edi
push ebx
call fcn.004c1380
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x4cc7ed.14
js 0x4c18c0
mov edi, dword [ebx]
mov ecx, dword [ebp - 0x28]
add edi, ecx
mov dword [ebx], edi
sub dword [ebx + 0xc], ecx
mov cl, byte [edi]
movzx eax, cl
add eax, 0xffffff6f
cmp eax, 0x12
ja case.0x4cb32f.151
movzx eax, byte [eax + 0x4d08a0]
jmp dword [eax*4 + 0x4d0884]
mov edx, dword [ebx + 0x48]
cmp edx, 0xffffffff
je case.0x4cb32f.149
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je case.0x4cb32f.150
cmp ecx, edx
je case.0x4cb32f.150
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
lea edx, [eax + ecx]
mov dword [ebx], edx
cmp byte [ebx + 0x31], 0x90
mov dword [ebp + 0xc], edx
jne 0x4c15aa
mov eax, 0x20090
mov byte [ebx + 0x30], 0x23
mov dword [ebp - 0x18], eax
mov esi, edx
jmp 0x4cfa43
cmp dword [ebx + 0x48], 0xffffffff
je case.0x4cb32f.149
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
mov ecx, dword [ebp + 0x1c]
movzx edx, byte [edi + 1]
shl esi, 8
shl edx, 8
or esi, eax
movzx eax, byte [edi + 2]
movzx edi, word [ecx + 0x42]
or edx, eax
imul edx, edi
add edx, dword [ecx + 0x44]
test esi, esi
je case.0x4cb32f.149
nop word [eax + eax]
movzx eax, byte [edx]
dec esi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
cmp ecx, dword [ebx + 0x48]
je 0x4cb3f8
add edx, edi
test esi, esi
jg 0x4cb3c0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ebx
jmp case.0x4cb32f.149
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
movzx eax, byte [ecx]
mov dword [ebp - 4], ebx
movzx eax, byte [eax + 0x536040]
jmp 0x4cb364
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
cmp ecx, dword [ebx + 0x54]
jae case.0x4cb32f.149
cmp dword [ebx + ecx*4 + 0x58], 0xffffffff
je case.0x4cb32f.149
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x536040]
jmp 0x4cb364
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
mov ecx, dword [ebp + 0x1c]
movzx edx, byte [edi + 1]
shl esi, 8
shl edx, 8
or esi, eax
movzx eax, byte [edi + 2]
movzx edi, word [ecx + 0x42]
or edx, eax
imul edx, edi
add edx, dword [ecx + 0x44]
test esi, esi
je case.0x4cb32f.149
nop dword [eax]
movzx ecx, byte [edx]
dec esi
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
cmp ecx, dword [ebx + 0x54]
jae 0x4cb4b4
cmp dword [ebx + ecx*4 + 0x58], 0xffffffff
jne case.0x4cb32f.150
add edx, edi
test esi, esi
jg 0x4cb490
jmp case.0x4cb32f.149
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x1c]
shl edx, 8
or edx, eax
cmp dword [ebp - 8], 0
je 0x4cb507
test edx, edx
je 0x4cb502
mov ecx, dword [edi + 0x38]
nop
dec edx
cmp ecx, dword [ebx + 0x50]
jbe 0x4cb513
dec ecx
mov dword [edi + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4cb4fe
dec ecx
mov dword [edi + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cb4f2
test edx, edx
jne 0x4cb4e0
mov ecx, dword [edi + 0x38]
jmp 0x4cb521
mov ecx, dword [edi + 0x38]
mov eax, ecx
sub eax, dword [ebx + 0x4c]
cmp edx, eax
jle 0x4cb51c
xor esi, esi
mov edi, ebx
jmp 0x4c18c0
sub ecx, edx
mov dword [edi + 0x38], ecx
cmp ecx, dword [ebx + 0x60]
jae 0x4cb529
mov dword [ebx + 0x60], ecx
add dword [edi], 3
jmp 0x4c15aa
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebx, dword [ebp - 4]
shl edi, 8
or edi, eax
mov dword [ebx + 0x20], edi
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x24], ecx
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebx + 0x38]
mov dword [ebx + 4], ecx
test edx, edx
je 0x4cb5ae
mov edi, dword [ebp + 0x1c]
xor edx, edx
cmp edx, dword [ebx + 0x24]
jae 0x4cf517
cmp ecx, dword [edi + 0x4c]
je 0x4cb58f
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4cb58c
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cb580
inc edx
jmp 0x4cb566
cmp edx, dword [ebx + 0x20]
jb case.0x4cc7ed.14
mov dword [ebx + 0x24], edx
mov edx, dword [ebx]
add edx, 5
mov byte [ebx + 0x30], 0x25
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4cfa43
mov edx, dword [ebp + 0x1c]
mov eax, ecx
sub eax, dword [edx + 0x4c]
cmp eax, 0xffff
jle 0x4cb5c4
mov edx, 0xffff
jmp 0x4cb5cb
xor edx, edx
test eax, eax
cmovg edx, eax
cmp edi, edx
ja 0x4c18bb
mov eax, dword [ebp + 0xc]
cmp eax, edx
jbe 0x4cb5df
mov dword [ebx + 0x24], edx
mov eax, edx
sub ecx, eax
mov dword [ebx + 0x38], ecx
mov edx, dword [ebx]
add edx, 5
mov byte [ebx + 0x30], 0x25
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4cfa43
mov edi, dword [ebp - 4]
mov dword [ebp - 0x1c], esi
nop dword [eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or eax, ecx
add eax, esi
mov esi, eax
mov dword [edi], esi
cmp byte [eax], 0x78
je 0x4cb600
mov edi, dword [ebp + 0x1c]
jmp 0x4c15b0
movzx ecx, byte [esi + 1]
mov ebx, esi
movzx eax, byte [esi + 2]
mov edi, dword [ebp - 0x1c]
shl ecx, 8
or ecx, eax
sub ebx, ecx
test edi, edi
mov dword [ebp + 0xc], ebx
mov edx, ebx
cmove edi, esi
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + ebx]
cmp eax, edi
je 0x4cb669
movzx eax, byte [edx + ecx + 2]
add edx, ecx
movzx ecx, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea eax, [edx + ecx]
cmp eax, edi
jne 0x4cb652
mov al, byte [ebx]
mov dword [ebp - 0x1c], 0
cmp al, 0x87
je 0x4cb6de
cmp al, 0x8b
je 0x4cb6de
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp - 4]
mov ecx, dword [eax + 0x18]
add ecx, dword [ebx + 0x50]
mov edi, ecx
mov dword [ebp - 0x10], ecx
sub edi, dword [ebp + 0x14]
mov eax, dword [edi + 0x50]
mov dword [ebx + 0x50], eax
mov eax, dword [ecx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x4cb6d7
mov eax, dword [ebx + 0x54]
shl eax, 2
push eax
lea eax, [ebx + 0x58]
push eax
lea eax, [edi + 0x58]
push eax
call fcn.004f2d15
mov eax, dword [ebx + 0x54]
add esp, 0xc
mov dword [edi + 0x54], eax
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x40], eax
mov eax, ebx
sub eax, edi
mov dword [ebx + 0x10], eax
mov esi, 1
jmp 0x4c18bd
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx]
jmp 0x4cb6e6
mov ebx, dword [ebp - 4]
xor edi, edi
mov ecx, dword [ebp + 0xc]
movzx eax, al
add eax, 0xffffff81
cmp eax, 0x10
ja case.0x4cb6f5.136
jmp dword [eax*4 + 0x4d08b4]
cmp dword [ebx + 0x48], 0
jne case.0x4cb6f5.136
cmp byte [esi + 3], 0
jne case.0x4cb6f5.136
mov eax, dword [ebx + 0x50]
cmp eax, 0xffffffff
je case.0x4cc7d3.15
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x18]
add ecx, eax
mov esi, ecx
mov dword [ebp - 0x10], ecx
sub esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x50]
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x54]
shl eax, 2
push eax
lea eax, [esi + 0x58]
push eax
lea eax, [ebx + 0x58]
push eax
call fcn.004f2d15
mov eax, dword [esi + 0x54]
add esp, 0xc
mov dword [ebx + 0x54], eax
mov eax, dword [esi + 0x4c]
mov dword [ebx + 0x4c], eax
mov eax, dword [esi + 0x48]
mov dword [ebx + 0x48], eax
mov eax, dword [esi]
add eax, 3
mov dword [ebx], eax
jmp 0x4c15aa
cmp byte [edx + 3], 0x7e
jne case.0x4cb6f5.131
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x4c18bb
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x38]
cmp eax, dword [edx + 0x64]
jbe 0x4cb787
mov dword [edx + 0x64], eax
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x38], eax
jmp case.0x4cb6f5.136
cmp byte [edx + 3], 0x7e
jne case.0x4cb6f5.127
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x4c18bb
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x64]
jbe 0x4cb7b2
mov dword [ecx + 0x64], eax
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x38], eax
mov eax, ebx
sub eax, edi
mov dword [ebx + 0x10], eax
mov edx, dword [edi]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x78
jne case.0x4cb6f5.136
add edx, ecx
mov dword [edi], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x78
je 0x4cb7d8
jmp case.0x4cb6f5.136
cmp byte [edx + 3], 0x7e
jne case.0x4cb6f5.128
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
je case.0x4cb6f5.128
jmp 0x4c18bb
push dword [ebp - 8]
push dword [ebx + 0x38]
push dword [edi + 0x38]
call fcn.004d6490
add esp, 0xc
test eax, eax
jne case.0x4cb6f5.136
jmp 0x4c18bb
movzx edx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl edx, 8
or edx, eax
cmp dword [ebx + 0x48], edx
jne 0x4cb87a
mov esi, dword [ebp - 0x10]
mov eax, dword [ebx + 0x54]
sub esi, dword [ebp + 0x14]
shl eax, 2
push eax
lea eax, [esi + 0x58]
push eax
lea eax, [ebx + 0x58]
push eax
call fcn.004f2d15
mov eax, dword [esi + 0x54]
add esp, 0xc
mov dword [ebx + 0x54], eax
mov eax, dword [esi + 0x4c]
mov dword [ebx + 0x4c], eax
mov eax, dword [esi + 0x48]
mov dword [ebx + 0x48], eax
mov eax, dword [esi]
add eax, 3
mov dword [ebx], eax
jmp 0x4c15aa
mov dword [ebx + 0x4c], edx
lea esi, [edx + edx]
mov edx, dword [ebp + 0x1c]
lea ecx, [esi - 2]
mov eax, dword [edi + 0x38]
sub eax, dword [edx + 0x4c]
mov dword [ebx + ecx*4 + 0x58], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [edx + 0x4c]
mov dword [ebx + ecx*4 + 0x5c], eax
cmp ecx, dword [ebx + 0x54]
jb case.0x4cb6f5.136
mov dword [ebx + 0x54], esi
mov esi, dword [ebx]
cmp byte [esi], 0x7c
jne 0x4cb8c6
push dword [ebp - 0x3c]
lea eax, [ebx + 0x38]
push eax
lea eax, [edi + 0x38]
push eax
call fcn.004f2d15
add esp, 0xc
mov esi, 0xfffffc1a
jmp 0x4c18bd
mov cl, byte [ebx + 0x31]
cmp cl, 0x79
je 0x4cb8e2
test edi, edi
je 0x4cf444
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x4cf444
add dword [ebx], 3
jmp 0x4c15aa
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x4c]
jne case.0x4cc0d6.999
test byte [ecx + 0x7c], 1
jne case.0x4cc0d6.999
lea eax, [esi + 1]
mov dword [edi], eax
mov edi, ecx
jmp 0x4c15b0
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x4c]
je 0x4cb8fe
xor esi, esi
mov edi, ecx
jmp 0x4c18c0
test byte [edi + 0x7c], 2
jne case.0x4cc7ed.14
test byte [edi + 0x80], 0x10
je case.0x4c15d2.23
mov edi, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x38]
cmp eax, dword [edx + 0x58]
jae 0x4cb94b
xor esi, esi
mov edi, edx
jmp 0x4c18c0
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4cb966
mov dword [edx + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
inc dword [edi]
mov edi, edx
jmp 0x4c15ad
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x1c]
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x54]
cmp ecx, edx
jae 0x4cba3c
mov eax, dword [ebx + 0x8c]
add ebx, 0x90
mov dword [ebp + 0xc], ebx
test eax, eax
je 0x4cb9b6
push dword [ebp - 8]
push ebx
push edx
push eax
push ecx
call fcn.004d3f10
add esp, 0x14
test eax, eax
je 0x4cb9ec
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebx]
mov ecx, dword [edi + 0x38]
mov edx, dword [eax + 0x54]
jmp 0x4cb9e6
mov esi, dword [ebx]
mov eax, edx
sub eax, esi
cmp ecx, eax
ja 0x4cb9ec
mov ebx, dword [ebp + 0x1c]
mov al, byte [ecx]
cmp al, byte [ebx + 0x94]
mov ebx, dword [ebp + 0xc]
jne 0x4cb9ec
cmp esi, 1
je 0x4cb9e6
mov ebx, dword [ebp + 0x1c]
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x95]
mov ebx, dword [ebp + 0xc]
jne 0x4cb9ec
sub edx, esi
cmp ecx, edx
je 0x4cba39
mov eax, dword [ebp + 0x1c]
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x4c177d
mov ecx, dword [edi + 0x38]
mov edi, dword [ebp + 0x1c]
lea eax, [ecx + 1]
cmp eax, dword [edi + 0x54]
jb case.0x4cc7ed.14
cmp dword [edi + 0x8c], 0
jne case.0x4cc7ed.14
cmp dword [ebx], 2
jne case.0x4cc7ed.14
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne case.0x4cc7ed.14
jmp 0x4c4d7d
mov ebx, dword [ebp + 0x1c]
movzx eax, word [ebx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4cba57
mov dword [ebx + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
inc dword [edi]
jmp 0x4c15aa
test byte [edi + 0x7c], 1
mov ebx, dword [ebp + 0x1c]
mov edi, dword [ebp - 4]
je 0x4cba7b
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x4c]
jne 0x4cba7b
xor esi, esi
mov edi, ebx
jmp 0x4c18c0
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x4c]
cmp ecx, edx
je 0x4cba57
cmp ecx, dword [ebx + 0x54]
jne 0x4cba9a
test dword [ebx + 0x80], 0x200000
je 0x4c18bb
mov esi, dword [ebx + 0x8c]
test esi, esi
je 0x4cbad0
cmp ecx, edx
jbe 0x4c18bb
push dword [ebp - 8]
lea eax, [ebx + 0x90]
push eax
push edx
push esi
push ecx
call fcn.004d4080
add esp, 0x14
test eax, eax
je 0x4c18bb
inc dword [edi]
jmp 0x4c15aa
mov esi, dword [ebx + 0x90]
lea eax, [esi + edx]
cmp ecx, eax
jb 0x4c18bb
sub ecx, esi
mov al, byte [ecx]
cmp al, byte [ebx + 0x94]
jne 0x4c18bb
cmp esi, 1
je 0x4cba57
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x95]
je 0x4cba57
jmp 0x4c18bb
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x1c]
mov ecx, dword [edi + 0x38]
mov eax, dword [ebx + 0x54]
cmp ecx, eax
jae 0x4cbbc6
mov edx, dword [ebx + 0x8c]
lea esi, [ebx + 0x90]
test edx, edx
je 0x4cbb4e
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.004d3f10
add esp, 0x14
test eax, eax
je 0x4cbb78
inc dword [edi]
mov edi, ebx
jmp 0x4c15ad
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x4cbb78
mov al, byte [ecx]
cmp al, byte [ebx + 0x94]
jne 0x4cbb78
cmp edx, 1
je 0x4cbbfb
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x95]
je 0x4cbbfb
movzx eax, word [ebx + 0x3c]
mov edx, eax
test ax, ax
je 0x4cbbbd
mov ecx, dword [edi + 0x38]
mov edi, ebx
lea eax, [ecx + 1]
cmp eax, dword [edi + 0x54]
jb case.0x4cc7ed.14
cmp dword [edi + 0x8c], 0
jne case.0x4cc7ed.14
cmp dword [esi], 2
jne case.0x4cc7ed.14
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne case.0x4cc7ed.14
jmp 0x4c4d7d
mov edi, ebx
xor esi, esi
jmp 0x4c18c0
test byte [ebx + 0x7c], 2
je 0x4cbbd5
xor esi, esi
mov edi, ebx
jmp 0x4c18c0
movzx eax, word [ebx + 0x3c]
mov edx, eax
test ax, ax
je 0x4cbbfb
cmp ecx, dword [ebx + 0x60]
ja 0x4cbbeb
cmp dword [ebx + 0x24], 0
je 0x4cbbfb
mov dword [ebx + 0x1c], 1
cmp edx, 1
ja 0x4c3867
inc dword [edi]
mov edi, ebx
jmp 0x4c15ad
mov eax, dword [edi + 0x4c]
add eax, dword [edi + 0x34]
mov edi, dword [ebp - 4]
cmp dword [edi + 0x38], eax
je 0x4c1916
jmp 0x4c18bb
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
lea eax, [esi + 1]
mov dword [edi], eax
mov edi, dword [ebp + 0x1c]
jmp 0x4c15b0
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov esi, dword [edi + 0x38]
cmp esi, dword [eax + 0x50]
jne 0x4cbc52
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 1
jmp 0x4cbdf4
mov cl, byte [esi - 1]
dec esi
test edx, edx
je 0x4cbd43
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4cbc72
mov cl, byte [esi - 1]
dec esi
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x4cbc66
movzx edx, cl
cmp edx, 0xc0
jb 0x4cbd46
mov al, byte [esi + 1]
test dl, 0x20
jne 0x4cbc9c
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x4cbd46
mov bl, byte [esi + 2]
test dl, 0x10
jne 0x4cbcc2
and edx, 0xf
movzx ecx, al
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx eax, bl
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x4cbd46
movzx ecx, bl
movzx ebx, byte [esi + 3]
and ecx, 0x3f
movzx eax, al
and ebx, 0x3f
and eax, 0x3f
mov dword [ebp + 8], ebx
test dl, 8
jne 0x4cbcf1
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
jmp 0x4cbd46
movzx ebx, byte [esi + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp + 8]
test dl, 4
jne 0x4cbd1d
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cbd46
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
jmp 0x4cbd46
movzx edx, cl
mov ecx, dword [ebp + 0x1c]
cmp esi, dword [ecx + 0x60]
jae 0x4cbd51
mov dword [ecx + 0x60], esi
mov al, byte [edi + 0x31]
cmp al, 0xaa
je 0x4cbd84
cmp al, 0xa9
je 0x4cbd84
cmp edx, 0xff
ja 0x4cbd71
mov eax, dword [ecx + 0x30]
test byte [edx + eax], 0x10
jne 0x4cbde8
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 1
jmp 0x4cbdf4
mov eax, edx
test eax, eax
jns 0x4cbd8d
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cbda8
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
mov ecx, dword [eax*4 + 0x5361c0]
cmp ecx, 1
je 0x4cbde8
cmp ecx, 3
je 0x4cbde8
cmp eax, 0xc
je 0x4cbde8
cmp eax, 0x10
je 0x4cbde8
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 1
jmp 0x4cbdf4
xor eax, eax
mov dword [ebp + 0xc], 1
mov dword [ebp + 8], eax
mov esi, dword [ebp + 0x1c]
mov ebx, dword [edi + 0x38]
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jb 0x4cbe2e
movzx eax, word [esi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4cbe27
cmp ebx, dword [esi + 0x60]
ja 0x4cbe17
cmp dword [esi + 0x24], 0
je 0x4cbe27
mov dword [esi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor edx, edx
jmp 0x4cbfb5
cmp dword [ebp - 8], 0
lea eax, [ebx + 1]
mov esi, eax
je 0x4cbf26
cmp esi, ecx
jae 0x4cbe51
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4cbe4e
inc esi
cmp esi, ecx
jb 0x4cbe41
lea eax, [ebx + 1]
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x4cbf29
mov al, byte [eax]
test dl, 0x20
jne 0x4cbe7a
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x4cbf29
test dl, 0x10
jne 0x4cbe9e
and edx, 0xf
movzx ecx, al
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
jmp 0x4cbf29
movzx ecx, byte [ebx + 2]
movzx ebx, byte [ebx + 3]
and ecx, 0x3f
movzx eax, al
and ebx, 0x3f
and eax, 0x3f
mov dword [ebp - 0x44], ebx
test dl, 8
jne 0x4cbece
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
jmp 0x4cbf29
mov ebx, dword [edi + 0x38]
movzx ebx, byte [ebx + 4]
and ebx, 0x3f
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x44]
test dl, 4
jne 0x4cbefd
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x34]
jmp 0x4cbf29
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [edi + 0x38]
shl edx, 6
or edx, ecx
shl edx, 6
movzx eax, byte [eax + 5]
or edx, ebx
shl edx, 6
and eax, 0x3f
or edx, dword [ebp - 0x34]
shl edx, 6
or edx, eax
jmp 0x4cbf29
movzx edx, byte [ebx]
mov ecx, dword [ebp + 0x1c]
cmp esi, dword [ecx + 0x64]
jbe 0x4cbf34
mov dword [ecx + 0x64], esi
mov al, byte [edi + 0x31]
cmp al, 0xaa
je 0x4cbf58
cmp al, 0xa9
je 0x4cbf58
cmp edx, 0xff
ja 0x4cbe27
mov eax, dword [ecx + 0x30]
test byte [edx + eax], 0x10
jne 0x4cbfb0
xor edx, edx
jmp 0x4cbfb5
mov eax, edx
test eax, eax
jns 0x4cbf61
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cbf7c
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
mov ecx, dword [eax*4 + 0x5361c0]
cmp ecx, 1
je 0x4cbfb0
cmp ecx, 3
je 0x4cbfb0
cmp eax, 0xc
je 0x4cbfb0
cmp eax, 0x10
je 0x4cbfb0
xor edx, edx
jmp 0x4cbfb5
mov edx, 1
mov eax, dword [edi]
mov cl, byte [eax]
inc eax
mov dword [edi], eax
cmp cl, 5
je 0x4cbfcc
cmp byte [edi + 0x31], 0xaa
je 0x4cbfcc
xor edx, dword [ebp + 0xc]
jmp 0x4cbfcf
xor edx, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
test edx, edx
je 0x4c15ad
xor esi, esi
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov esi, dword [ebx + 4]
mov dword [ebx], esi
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add edx, esi
mov dword [ebx + 4], edx
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x536040]
add esi, ecx
cmp byte [edx], 0x78
je 0x4cf464
mov dword [ebx], esi
jmp 0x4c15ad
cmp esi, 0xfffffc1f
jne 0x4cc04f
mov edx, dword [ebx]
mov edi, dword [ebp + 0x1c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x70], ecx
jae 0x4c18c0
cmp byte [edx], 0x78
je 0x4cc059
cmp byte [ecx], 0x78
jmp 0x4cc053
test esi, esi
mov edi, ecx
jne 0x4c18c0
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x4cf805
xor esi, esi
jmp 0x4c18c0
cmp esi, 0xfffffc19
je 0x4cedc2
test esi, esi
je 0x4cc098
cmp esi, 0xfffffc1f
jne case.0x4cc0d6.998
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x4cf8f7
xor esi, esi
mov edi, ecx
jmp 0x4c18c0
test esi, esi
jg 0x4cc0dd
je case.0x4cc0d6.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x4cc0d6.998
jmp dword [eax*4 + 0x4d08f8]
mov eax, esi
mov edi, ecx
sub eax, 1
mov eax, dword [ebp - 4]
jne 0x4c18c3
xor esi, esi
jmp 0x4c18c0
test esi, esi
jg 0x4cc114
je case.0x4cc10d.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x4cc0d6.998
jmp dword [eax*4 + 0x4d0914]
mov eax, esi
sub eax, 1
je 0x4cee78
mov edi, ecx
jmp 0x4c18c0
test esi, esi
je 0x4ceed4
mov edi, ecx
jmp 0x4c18c0
test esi, esi
je 0x4cb8e2
mov edi, ecx
jmp 0x4c18c0
cmp esi, 0xfffffc1a
jne 0x4cc179
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x4cf46d
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x4cc161
jmp 0x4cc1d2
cmp esi, 0xfffffc1f
jne 0x4cc1ae
mov edx, dword [ebx]
mov edi, dword [ebp + 0x1c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x70], ecx
jae 0x4c18c0
cmp byte [edx], 0x78
je 0x4cc1b6
cmp byte [ecx], 0x78
jne 0x4c18c0
jmp 0x4cc1b6
test esi, esi
jne case.0x4cc0d6.998
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x4cf7b9
cmp dword [ebx + 0x24], 0
jne 0x4cef07
cmp dword [ebx + 0x28], 0
jne 0x4cef07
jmp 0x4c18bb
test esi, esi
je 0x4ceeec
mov edi, ecx
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
inc dword [ebx]
jmp 0x4c15ad
mov edx, dword [ebx + 4]
mov edi, dword [ebp + 0x1c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [esi + 0x3e5]
add ecx, edx
cmp eax, 4
ja 0x4cc25e
mov eax, dword [ebx + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x78], eax
jne 0x4cc25e
cmp esi, 0xfffffc1f
jne case.0x4cc7ed.14
cmp dword [edi + 0x70], ecx
jae case.0x4cc7ed.14
cmp byte [edx], 0x78
je 0x4cc266
cmp byte [ecx], 0x78
je 0x4cc266
xor esi, esi
jmp 0x4c18c0
test esi, esi
jne 0x4c18c0
mov dword [ebx + 4], ecx
cmp byte [ecx], 0x78
je 0x4cf89b
xor esi, esi
jmp 0x4c18c0
mov edi, ecx
cmp esi, 0xfffffc1e
jne 0x4c18c0
mov eax, dword [ebx]
push dword [edi + 0x74]
add eax, 2
push eax
call fcn.004d22b0
add esp, 8
test eax, eax
jne 0x4c18c0
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x74], eax
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov eax, dword [ebx + 0x48]
mov esi, 0xfffffc1c
mov dword [edi + 0x78], eax
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x78], eax
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov eax, dword [ebx]
mov esi, 0xfffffc1e
add eax, 2
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x78], eax
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov eax, dword [ebx]
mov esi, 0xfffffc1f
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x78], eax
jmp 0x4c18c0
test esi, esi
jne case.0x4cc0d6.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae 0x4c18bb
mov esi, dword [ebp + 0x1c]
lea eax, [ebp - 0x50]
push eax
push esi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.004d0d00
add esp, 0x14
test eax, eax
je 0x4cf477
jle 0x4cc36e
mov ecx, dword [esi + 0x54]
mov dword [edi + 0x38], ecx
jmp 0x4cc371
mov ecx, dword [edi + 0x38]
mov edi, esi
cmp ecx, dword [edi + 0x54]
jb case.0x4cc7ed.14
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cc39a
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
test esi, esi
jne case.0x4cc0d6.998
mov eax, dword [ebx + 0xc]
sub dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb 0x4c18bb
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x15
jmp 0x4cfa43
test esi, esi
jne case.0x4cc0d6.998
mov esi, dword [ebx + 4]
cmp dword [ebx + 0x38], esi
je 0x4c18bb
mov dword [ebx + 0x38], esi
dec dword [ebx + 0x24]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x4cc41b
lea eax, [ebp - 0x54]
push eax
push ecx
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.004d0d00
add esi, dword [ebp - 0x54]
inc edi
mov ecx, dword [ebp + 0x1c]
add esp, 0x14
mov dword [ebx + 0x38], esi
cmp edi, dword [ebx + 0x24]
jb 0x4cc3f8
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x16
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4cc47f
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp edx, dword [edi + 0x60]
ja 0x4cc468
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx ecx, byte [edx]
lea eax, [edx + 1]
mov dword [ebx + 0x38], eax
mov esi, ecx
mov edx, dword [ebx + 8]
and ecx, 7
shr esi, 3
mov eax, 1
shl eax, cl
test byte [esi + edx], al
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x17
jmp 0x4cfa43
test esi, esi
jne case.0x4cc0d6.998
dec dword [ebx + 0x38]
jmp 0x4c3a33
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cc51a
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cc503
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x4cc52b
cmp dword [ebx + 0x2c], eax
jne case.0x4cc7ed.14
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x19
jmp 0x4cfa43
dec dword [ebx + 0x38]
test esi, esi
je 0x4c28c4
mov edi, ecx
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x4cc5aa
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4cc593
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
jne case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1b
jmp 0x4cfa46
dec dword [ebx + 0x38]
test esi, esi
je 0x4c29a8
mov edi, ecx
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cc635
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cc61e
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je case.0x4cc7ed.14
cmp dword [ebx + 0x2c], eax
je case.0x4cc7ed.14
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x4cfa43
mov eax, dword [ebp - 4]
test esi, esi
je 0x4cef11
mov edi, ecx
jmp 0x4c18c3
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x4cc6c9
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp esi, dword [edi + 0x60]
ja 0x4cc6b2
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x4cfa43
mov eax, dword [ebp - 4]
test esi, esi
je 0x4cef2b
mov edi, ecx
jmp 0x4c18c3
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov edx, dword [ebx + 0x38]
mov eax, dword [edi + 0x54]
cmp edx, eax
jb 0x4cc756
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp edx, dword [edi + 0x60]
ja 0x4cc73f
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov esi, dword [ebx + 0x28]
cmp esi, 0xc
jne 0x4cc7c0
mov ecx, dword [ebp + 0x1c]
mov edi, dword [edi + 0x8c]
add ecx, 0x90
test edi, edi
je 0x4cc793
push dword [ebp - 8]
push ecx
push eax
push edi
push edx
call fcn.004d3f10
mov edi, dword [ebp + 0x1c]
add esp, 0x14
test eax, eax
jne case.0x4cc7ed.14
mov edx, dword [ebx + 0x38]
mov esi, dword [ebx + 0x28]
jmp 0x4cc7c0
mov ecx, dword [ecx]
sub eax, ecx
mov edi, dword [ebp + 0x1c]
cmp edx, eax
ja 0x4cc7c0
mov al, byte [edx]
cmp al, byte [edi + 0x94]
jne 0x4cc7c0
cmp ecx, 1
je case.0x4cc7ed.14
mov al, byte [edx + 1]
cmp al, byte [edi + 0x95]
je case.0x4cc7ed.14
movzx ecx, byte [edx]
add esi, 0xfffffffa
inc edx
mov dword [ebx + 0x38], edx
cmp esi, 0xf
ja case.0x4cc7d3.15
jmp dword [esi*4 + 0x4d0930]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4cc7ed.14
movzx eax, byte [ecx + 0x4d0980]
jmp dword [eax*4 + 0x4d0970]
cmp word [edi + 0x3e], 2
jne case.0x4cc7d3.13
xor esi, esi
jmp 0x4c18c0
cmp ecx, 9
je case.0x4cc7ed.14
cmp ecx, 0x20
je case.0x4cc7ed.14
cmp ecx, 0xa0
jne case.0x4cc7d3.13
xor esi, esi
jmp 0x4c18c0
cmp ecx, 9
je case.0x4cc7d3.13
cmp ecx, 0x20
je case.0x4cc7d3.13
cmp ecx, 0xa0
je case.0x4cc7d3.13
xor esi, esi
jmp 0x4c18c0
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4cc7d3.13
movzx eax, byte [ecx + 0x4d0a04]
jmp dword [eax*4 + 0x4d09fc]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4cc7ed.14
movzx eax, byte [ecx + 0x4d0a88]
jmp dword [eax*4 + 0x4d0a80]
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
mov eax, dword [ebp - 4]
je 0x4cf4e6
xor esi, esi
jmp 0x4c18c3
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
mov eax, dword [ebp - 4]
jne 0x4cf4e6
xor esi, esi
jmp 0x4c18c3
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
mov eax, dword [ebp - 4]
je 0x4cf4e6
xor esi, esi
jmp 0x4c18c3
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
mov eax, dword [ebp - 4]
jne 0x4cf4e6
xor esi, esi
jmp 0x4c18c3
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 4]
je 0x4cf4e6
xor esi, esi
jmp 0x4c18c3
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 4]
jne 0x4cf4e6
xor esi, esi
jmp 0x4c18c3
test esi, esi
je 0x4cef45
mov edi, ecx
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov eax, dword [ebx + 0x48]
mov esi, 0xfffffc1b
mov dword [edi + 0x78], eax
jmp 0x4c18c0
test esi, esi
jne case.0x4cc0d6.998
mov edx, dword [ebx + 0x24]
lea eax, [edx - 1]
mov dword [ebx + 0x24], eax
cmp edx, dword [ebx + 0x20]
ja 0x4cf4f1
mov edi, ecx
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cc9b1
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cc99a
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ccac5
cmp edx, 0xc0
jb 0x4ccac5
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cc9ee
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ccac5
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cca17
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4ccac2
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cca51
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4ccabf
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cca98
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4ccabf
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
push dword [ebp - 8]
push dword [ebx + 8]
push edx
call fcn.004d6a10
add esp, 0xc
test eax, eax
jne 0x4cf52d
xor esi, esi
jmp 0x4c18c0
test esi, esi
jne case.0x4cc0d6.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe 0x4c18bb
cmp dword [ebp - 8], esi
je 0x4c3e05
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4c3e05
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4ccb12
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4ccb82
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4ccb6b
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
mov dword [ebp + 0xc], edx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x4ccc92
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4ccbb8
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ccc8f
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4ccbe1
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4ccc8c
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4ccc1b
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x4ccc89
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4ccc62
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4ccc89
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov dword [ebp + 0xc], edx
cmp edx, 0xff
jbe 0x4cccb2
cmp byte [ebx + 0x31], 0x6e
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xc8
jmp 0x4cfa43
mov ecx, dword [ebp + 0xc]
mov esi, edx
mov edx, dword [ebx + 8]
and ecx, 7
shr esi, 3
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x4ccca4
xor esi, esi
jmp 0x4c18c0
test esi, esi
jne case.0x4cc0d6.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe 0x4c18bb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4c39ab
nop dword [eax]
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4ccd00
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x4cfa43
test esi, esi
jne case.0x4cc0d6.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae 0x4c18bb
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x38]
mov edx, dword [eax + 0x54]
mov eax, edx
sub eax, edi
mov dword [ebp + 0xc], edx
cmp ecx, eax
ja 0x4ccdaf
mov edx, dword [ebx + 8]
mov esi, edi
sub esi, 4
jb 0x4ccd63
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4ccd6c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4ccd52
cmp esi, 0xfffffffc
je 0x4cf538
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4ccda9
cmp esi, 0xfffffffd
je 0x4cf538
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4ccda9
cmp esi, 0xfffffffe
je 0x4cf538
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4ccda9
cmp esi, 0xffffffff
je 0x4cf538
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4cf538
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x38]
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x4cce1f
mov eax, edx
sub eax, edi
cmp ecx, eax
ja 0x4cce1f
mov esi, edi
lea edx, [ebx + 0x32]
sub esi, 4
jb 0x4ccdd9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4ccde2
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4ccdc8
cmp esi, 0xfffffffc
je 0x4cf538
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4cce1f
cmp esi, 0xfffffffd
je 0x4cf538
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4cce1f
cmp esi, 0xfffffffe
je 0x4cf538
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4cce1f
cmp esi, 0xffffffff
je 0x4cf538
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4cf538
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb case.0x4cc7ed.14
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp edx, dword [edi + 0x60]
ja 0x4cce4c
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
test esi, esi
je 0x4cef80
mov edi, ecx
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4ccecb
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cc7ed.14
cmp edx, dword [edi + 0x60]
ja 0x4cceb4
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx ecx, byte [edx]
inc edx
mov dword [ebx + 0x38], edx
cmp ecx, 0xc0
jb 0x4ccfcc
mov al, byte [edx]
lea esi, [edx + 1]
movzx eax, al
test cl, 0x20
jne 0x4ccefe
and ecx, 0x1f
mov dword [ebx + 0x38], esi
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x4ccfcc
lea edi, [edx + 2]
test cl, 0x10
jne 0x4ccf24
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], edi
jmp 0x4ccfc9
lea ebx, [edx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test cl, 8
jne 0x4ccf5b
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4ccfc6
movzx esi, byte [esi]
lea ebx, [edx + 4]
movzx edi, byte [edi]
and eax, 0x3f
mov dword [ebp + 8], ebx
and esi, 0x3f
movzx ebx, byte [edx + 3]
and edi, 0x3f
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test cl, 4
jne 0x4ccf9f
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, dword [ebp + 0xc]
jmp 0x4ccfc6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, dword [ebp + 0xc]
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp dword [ebx + 0x28], ecx
je case.0x4cc7ed.14
cmp dword [ebx + 0x2c], ecx
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcc
jmp 0x4cfa43
test esi, esi
je 0x4cefb3
mov edi, ecx
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd054
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd03d
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x4cd15e
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cd087
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cd15e
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cd0b0
and edx, 0xf
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], edi
jmp 0x4cd15b
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cd0ea
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4cd158
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cd131
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cd158
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp dword [ebx + 0x28], edx
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xce
jmp 0x4cfa43
test esi, esi
je 0x4cefe4
mov edi, ecx
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd1dd
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd1c6
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
cmp dword [ebp - 8], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [ebx + 0x38], edx
je 0x4cd21b
cmp eax, 0xc0
jb 0x4cd21b
test al, 0x20
jne 0x4cd1fc
lea eax, [edx + 1]
jmp 0x4cd218
test al, 0x10
jne 0x4cd205
lea eax, [ecx + 3]
jmp 0x4cd218
test al, 8
jne 0x4cd20e
lea eax, [ecx + 4]
jmp 0x4cd218
test al, 4
lea eax, [ecx + 5]
je 0x4cd218
lea eax, [ecx + 6]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd0
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd28c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd275
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cd3a0
cmp edx, 0xc0
jb 0x4cd3a0
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cd2c9
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cd3a0
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cd2f2
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4cd39d
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cd32c
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4cd39a
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cd373
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cd39a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4cd3a9
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cd3c4
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x51a079]
cmp al, 9
je 0x4cd3e8
cmp al, 5
je 0x4cd3e8
cmp al, 8
je 0x4cd3e8
xor ecx, ecx
jmp 0x4cd3ed
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd1
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd465
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd44e
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cd579
cmp edx, 0xc0
jb 0x4cd579
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cd4a2
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cd579
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cd4cb
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4cd576
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cd505
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4cd573
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cd54c
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cd573
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4cd582
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cd59d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
mov eax, dword [eax*4 + 0x5361c0]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd2
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd639
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd622
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cd74d
cmp edx, 0xc0
jb 0x4cd74d
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cd676
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cd74d
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cd69f
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4cd74a
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cd6d9
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4cd747
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cd720
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cd747
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4cd756
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cd771
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd3
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd806
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd7ef
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cd91a
cmp edx, 0xc0
jb 0x4cd91a
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cd843
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cd91a
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cd86c
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4cd917
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cd8a6
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4cd914
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cd8ed
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cd914
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4cd923
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cd93e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a078]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd4
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd9d3
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd9bc
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cdae7
cmp edx, 0xc0
jb 0x4cdae7
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cda10
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cdae7
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cda39
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4cdae4
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cda73
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4cdae1
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cdaba
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cdae1
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4cdaf0
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cdb0b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
mov eax, dword [eax*4 + 0x5361c0]
cmp eax, 1
je 0x4cdb35
cmp eax, 3
je 0x4cdb35
xor ecx, ecx
jmp 0x4cdb3a
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd5
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cdbb2
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cdb9b
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cdcc6
cmp edx, 0xc0
jb 0x4cdcc6
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cdbef
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cdcc6
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cdc18
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4cdcc3
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cdc52
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4cdcc0
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cdc99
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cdcc0
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0x20
ja 0x4cdce0
je case.0x4cdda7.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4cdda7.8203
jmp dword [eax*4 + 0x4d0b04]
cmp edx, 0x2000
ja 0x4cdd87
je case.0x4cdda7.8193
cmp edx, 0x1680
ja 0x4cdd7f
je case.0x4cdda7.8193
mov eax, edx
sub eax, 0x85
je case.0x4cdda7.8193
sub eax, 0x1b
je case.0x4cdda7.8193
mov eax, edx
test eax, eax
jns 0x4cdd23
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cdd3e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
cmp dword [eax*4 + 0x5361c0], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd6
jmp 0x4cfa43
cmp edx, 0x180e
jmp 0x4cdd14
cmp edx, 0x3000
ja case.0x4cdda7.8203
je case.0x4cdda7.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4cdda7.8203
movzx eax, byte [eax + 0x4d0b20]
jmp dword [eax*4 + 0x4d0b18]
cmp dword [ebx + 0x28], 0xf
jne 0x4cdd71
xor esi, esi
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cde14
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cddfd
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cdf28
cmp edx, 0xc0
jb 0x4cdf28
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cde51
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cdf28
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cde7a
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4cdf25
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cdeb4
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4cdf22
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cdefb
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cdf22
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4cdf31
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cdf4c
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a079]
mov ecx, dword [eax*4 + 0x5361c0]
cmp ecx, 1
je 0x4cdf80
cmp ecx, 3
je 0x4cdf80
cmp eax, 0xc
je 0x4cdf80
cmp eax, 0x10
je 0x4cdf80
xor ecx, ecx
jmp 0x4cdf85
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd7
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cdffd
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cdfe6
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ce111
cmp edx, 0xc0
jb 0x4ce111
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4ce03a
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ce111
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4ce063
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4ce10e
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4ce09d
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4ce10b
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4ce0e4
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4ce10b
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax*4 + 0x519aa8]
lea eax, [eax*4 + 0x519aa8]
cmp edx, ecx
jb 0x4ce133
lea eax, [eax + 4]
cmp edx, ecx
je 0x4ce14b
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4ce126
cmp dword [ebx + 0x28], 0xf
jne case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd8
jmp 0x4cfa43
cmp dword [ebx + 0x28], 0xf
jne 0x4ce13d
xor esi, esi
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4ce1b1
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4ce19a
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ce2c5
cmp edx, 0xc0
jb 0x4ce2c5
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4ce1ee
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ce2c5
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4ce217
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4ce2c2
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4ce251
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4ce2bf
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4ce298
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4ce2bf
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0x24
je 0x4ce2f0
cmp edx, 0x40
je 0x4ce2f0
cmp edx, 0x60
je 0x4ce2f0
cmp edx, 0xa0
jb 0x4ce2e4
cmp edx, 0xd7ff
jbe 0x4ce2f0
cmp edx, 0xe000
jae 0x4ce2f0
xor ecx, ecx
jmp 0x4ce2f5
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd9
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cf549
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4ce35a
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 0x54]
cmp ecx, eax
jb 0x4ce3cc
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4ce3b5
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
cmp dword [ebx + 0x28], 0xc
jne 0x4ce428
mov esi, dword [edi + 0x8c]
lea edx, [edi + 0x90]
test esi, esi
je 0x4ce3fe
push dword [ebp - 8]
push edx
push eax
push esi
push ecx
call fcn.004d3f10
add esp, 0x14
test eax, eax
jne case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
jmp 0x4ce428
mov edx, dword [edx]
sub eax, edx
cmp ecx, eax
ja 0x4ce428
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne 0x4ce428
cmp edx, 1
je case.0x4cc7ed.14
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x95]
je case.0x4cc7ed.14
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x4ce544
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4ce45d
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
mov ecx, esi
jmp 0x4ce544
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4ce488
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
mov ecx, edi
or edx, eax
jmp 0x4ce541
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4ce4c7
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x38], eax
mov ecx, eax
jmp 0x4ce541
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
mov ebx, dword [ebp + 0xc]
movzx eax, al
and eax, 0x3f
movzx ebx, byte [ebx]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4ce515
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
mov ecx, eax
or edx, esi
mov dword [ebx + 0x38], eax
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4ce541
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
movzx eax, byte [eax]
or edx, edi
shl edx, 6
and eax, 0x3f
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
add ecx, 5
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x4cc7d3.15
jmp dword [eax*4 + 0x4d0b80]
cmp edx, 0x85
ja 0x4ce577
je case.0x4ce570.11
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4cc7ed.14
jmp dword [edx*4 + 0x4d0bc0]
sub edx, 0x2028
je case.0x4ce570.11
sub edx, 1
jne case.0x4cc7ed.14
cmp word [edi + 0x3e], 2
jne case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x2000
ja 0x4ce5ee
je case.0x4cc7ed.14
cmp edx, 0xa0
ja 0x4ce5cf
je case.0x4cc7ed.14
cmp edx, 9
je case.0x4cc7ed.14
cmp edx, 0x20
jne case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x1680
je case.0x4cc7ed.14
cmp edx, 0x180e
jne case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x3000
ja case.0x4ce553.13
je case.0x4cc7ed.14
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4ce553.13
movzx eax, byte [edx + 0x4d0bd8]
jmp dword [eax*4 + 0x4d0bd0]
cmp edx, 0x2000
ja 0x4ce671
je case.0x4ce553.13
cmp edx, 0xa0
ja 0x4ce652
je case.0x4ce553.13
cmp edx, 9
je case.0x4ce553.13
cmp edx, 0x20
je case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x1680
je case.0x4ce553.13
cmp edx, 0x180e
je case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x3000
ja case.0x4cc7ed.14
je case.0x4ce553.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4cc7ed.14
movzx eax, byte [edx + 0x4d0c40]
jmp dword [eax*4 + 0x4d0c38]
cmp edx, 0x85
ja 0x4ce6c1
je case.0x4cc7ed.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4ce553.13
jmp dword [edx*4 + 0x4d0ca0]
sub edx, 0x2028
je case.0x4cc7ed.14
sub edx, 1
jne case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x85
ja 0x4ce6fe
je case.0x4ce553.13
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4cc7ed.14
jmp dword [edx*4 + 0x4d0cb0]
sub edx, 0x2028
je case.0x4ce553.13
sub edx, 1
je case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x100
jae case.0x4ce553.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x100
jae case.0x4cc7ed.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
jne case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x100
jae case.0x4ce553.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x100
jae case.0x4cc7ed.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
jne case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x100
jae case.0x4ce553.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
cmp edx, 0x100
jae case.0x4cc7ed.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
jne case.0x4ce553.13
xor esi, esi
jmp 0x4c18c0
test esi, esi
je 0x4cf015
mov edi, ecx
jmp 0x4c18c0
test esi, esi
je 0x4cf2b6
mov edi, ecx
jmp 0x4c18c0
test esi, esi
je 0x4cf320
mov edi, ecx
jmp 0x4c18c0
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4ce860
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4ce849
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ce974
cmp edx, 0xc0
jb 0x4ce974
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4ce89d
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ce974
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4ce8c6
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4ce971
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4ce900
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4ce96e
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4ce947
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4ce96e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebx + 0x2c]
mov eax, edx
test eax, eax
jns 0x4ce980
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4ce99b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x51a082]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x519520]
and ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xdf
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cea4e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cea37
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ceb62
cmp edx, 0xc0
jb 0x4ceb62
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cea8b
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ceb62
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4ceab4
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4ceb5f
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4ceaee
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4ceb5c
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4ceb35
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4ceb5c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4ceb6b
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4ceb86
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x51a080]
shr eax, 0xb
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xe0
jmp 0x4cfa43
mov edi, ecx
test esi, esi
jne 0x4c18c0
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cc7ed.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cec1e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cc7ed.14
cmp ecx, dword [edi + 0x60]
ja 0x4cec07
cmp dword [edi + 0x24], 0
je case.0x4cc7ed.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
xor esi, esi
jmp 0x4c18c0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ced32
cmp edx, 0xc0
jb 0x4ced32
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cec5b
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ced32
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cec84
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4ced2f
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cecbe
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x4ced2c
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4ced05
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4ced2c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, edx
test eax, eax
jns 0x4ced3b
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4ced56
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebx + 0x2c]
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x51a078]
cmp eax, ecx
je 0x4ced9e
movzx edx, word [edx*4 + 0x51a080]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x519d80], eax
jne 0x4ced9e
xor ecx, ecx
jmp 0x4ceda3
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cc7ed.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xe1
jmp 0x4cfa43
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x54]
shl eax, 2
push eax
lea eax, [esi + 0x58]
push eax
lea eax, [ebx + 0x58]
push eax
call fcn.004f2d15
mov eax, dword [esi + 0x54]
add esp, 0xc
mov dword [ebx + 0x54], eax
mov eax, dword [esi + 0x40]
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
nop word [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x4cedf0
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x4c15aa
mov esi, dword [ebx]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x4cee12
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x4c15aa
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x4cf925
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x4c15aa
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x54]
shl eax, 2
push eax
lea eax, [esi + 0x58]
push eax
lea eax, [ebx + 0x58]
push eax
call fcn.004f2d15
mov eax, dword [esi + 0x54]
add esp, 0xc
mov dword [ebx + 0x54], eax
mov eax, dword [ebx + 0x20]
test eax, eax
je case.0x4cb32f.149
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x4cee85
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x536040]
jmp 0x4cb364
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [ebx + 4], eax
cmp byte [eax], 0x78
je 0x4cf41a
xor eax, eax
cmp dword [ebx + 0x20], eax
sete al
jmp 0x4cee7b
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [ebx], edx
jmp 0x4c15aa
mov edx, dword [ebx + 4]
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx + 4], edx
cmp byte [edx], 0x78
je 0x4ceef0
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x4c15aa
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [eax + 4]
je 0x4c15aa
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1e
jmp 0x4cfa43
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [eax + 4]
je 0x4c15aa
mov esi, dword [eax]
mov byte [eax + 0x30], 0x20
jmp 0x4cfa43
mov eax, dword [ebx + 0x38]
dec eax
mov dword [ebx + 0x38], eax
mov ecx, eax
cmp dword [ebx + 0x28], 0x11
jne 0x4cef6c
cmp eax, dword [ebx + 4]
jbe 0x4cef6c
cmp byte [eax], 0xa
jne 0x4cef6c
cmp byte [eax - 1], 0xd
lea edx, [eax - 1]
jne 0x4cef6c
mov dword [ebx + 0x38], edx
mov ecx, edx
cmp ecx, dword [ebx + 4]
je 0x4c15aa
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x22
jmp 0x4cfa43
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4cef9c
nop
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cef90
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x4c15aa
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcb
jmp 0x4cfa43
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4cefcd
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cefc1
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x4c15aa
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcd
jmp 0x4cfa43
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ceffe
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4ceff2
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x4c15aa
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcf
jmp 0x4cfa43
mov esi, dword [ebx + 0x38]
dec esi
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], esi
jne 0x4cf02a
movzx edx, byte [esi]
jmp 0x4cf105
mov cl, byte [esi]
mov edi, esi
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4cf046
dec esi
mov dword [ebx + 0x38], esi
mov edi, esi
mov cl, byte [esi]
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x4cf036
movzx edx, cl
mov esi, edi
cmp edx, 0xc0
jb 0x4cf105
test dl, 0x20
jne 0x4cf068
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x4cf0fb
test dl, 0x10
jne 0x4cf085
movzx ecx, byte [edi + 1]
and edx, 0xf
movzx eax, byte [edi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4cf0fb
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
and eax, 0x3f
movzx esi, byte [edi + 3]
and ecx, 0x3f
and esi, 0x3f
test dl, 8
jne 0x4cf0b3
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
jmp 0x4cf103
movzx ebx, byte [edi + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cf0df
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cf103
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
mov esi, edi
mov eax, edx
test eax, eax
jns 0x4cf10e
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cf129
dec edx
or edx, 0xffffff80
inc edx
mov edi, dword [ebx + 4]
add eax, edx
mov dword [ebp + 8], edi
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x51a07a]
mov dword [ebp - 0x34], eax
cmp esi, edi
jbe 0x4cf29f
nop
mov cl, byte [esi - 1]
dec esi
cmp dword [ebp - 8], 0
jne 0x4cf162
movzx edx, cl
jmp 0x4cf245
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4cf17c
nop word [eax + eax]
mov cl, byte [esi - 1]
dec esi
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x4cf170
movzx edx, cl
cmp edx, 0xc0
jb 0x4cf245
mov al, byte [esi + 1]
test dl, 0x20
jne 0x4cf19e
movzx eax, al
and edx, 0x1f
jmp 0x4cf23d
mov cl, byte [esi + 2]
mov byte [ebp + 0xf], cl
test dl, 0x10
jne 0x4cf1c0
movzx ecx, al
and edx, 0xf
movzx eax, byte [ebp + 0xf]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4cf23d
movzx edi, byte [esi + 3]
movzx eax, al
and edi, 0x3f
movzx ecx, cl
and eax, 0x3f
and ecx, 0x3f
test dl, 8
jne 0x4cf1ef
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 8]
jmp 0x4cf245
movzx ebx, byte [esi + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cf21e
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x4cf245
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x4cf24e
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x51e330]
shl eax, 7
and edx, 0x8000007f
jns 0x4cf269
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebp - 0x34]
add eax, edx
movzx eax, word [eax*2 + 0x522730]
lea eax, [eax + eax*2]
movzx edx, byte [eax*4 + 0x51a07a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x536180], eax
je 0x4cf29f
mov dword [ebx + 0x38], esi
mov dword [ebp - 0x34], edx
cmp esi, edi
ja 0x4cf150
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x4c15aa
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdc
jmp 0x4cfa43
mov edx, dword [ebx + 0x38]
dec edx
mov dword [ebx + 0x38], edx
mov ecx, edx
mov esi, edx
mov dword [ebp + 0xc], ecx
mov edi, edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4cf2e8
nop
lea ecx, [edx - 1]
mov dword [ebx + 0x38], ecx
mov edx, ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cf2d0
mov esi, ecx
mov edi, ecx
mov eax, ecx
jmp 0x4cf2eb
mov eax, dword [ebp + 0xc]
cmp dword [ebx + 0x28], 0x11
jne 0x4cf30c
mov ecx, esi
cmp edx, dword [ebx + 4]
jbe 0x4cf30c
cmp byte [edx], 0xa
mov ecx, edi
jne 0x4cf30c
dec edx
mov ecx, eax
cmp byte [edx], 0xd
jne 0x4cf30c
mov dword [ebx + 0x38], edx
mov ecx, edx
cmp ecx, dword [ebx + 4]
jbe 0x4c15aa
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdd
jmp 0x4cfa43
mov edx, dword [ebx + 0x38]
dec edx
cmp dword [ebp - 8], 0
mov ecx, edx
mov dword [ebx + 0x38], edx
je 0x4cf347
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4cf347
lea ecx, [edx - 1]
mov dword [ebx + 0x38], ecx
mov edx, ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cf337
cmp ecx, dword [ebx + 4]
jbe 0x4c15aa
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xde
jmp 0x4cfa43
inc dword [edi + 0x84]
mov eax, dword [edi + 0x84]
cmp eax, dword [edi + 0x88]
mov edi, dword [ebp - 4]
ja 0x4cf709
mov edx, dword [edi]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x536040]
add eax, edx
add ecx, eax
mov dword [edi], ecx
jmp 0x4c15aa
test ebx, ebx
jne 0x4ccfe1
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x4cfa43
cmp dword [ebp - 8], 0
jne 0x4cd16a
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x4cfa43
test edi, edi
jne 0x4ccca7
mov esi, dword [eax]
mov byte [eax + 0x30], 0x17
jmp 0x4cfa43
test ecx, ecx
js 0x4cf3e0
cmp ecx, 0xd
ja case.0x4cc7d3.15
jmp dword [ecx*4 + 0x4d0cc0]
cmp dword [eax + 0x28], 0x16
je 0x4cf695
cmp dword [ebp - 8], 0
jne 0x4cf6fe
mov esi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x4cfa43
cmp cl, 0x7f
je 0x4cf40d
cmp cl, 0x81
je 0x4cf40d
xor eax, eax
jmp 0x4cf412
mov eax, 1
mov dword [ebx + 0x20], eax
mov eax, dword [ebx]
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
movzx eax, byte [eax]
or eax, 0x30000
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x536040]
add edx, ecx
mov byte [ebx + 0x30], 5
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4cfa43
mov eax, dword [ebp - 4]
cmp cl, 0x7b
jne 0x4cf458
add esi, 3
mov byte [ebx + 0x30], 6
jmp 0x4cfa46
mov esi, dword [ebp + 0xc]
mov byte [ebx + 0x30], 7
jmp 0x4cfa46
mov byte [ebx + 0x30], 1
jmp 0x4cfa43
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x4cf7b9
mov eax, dword [ebp - 0x50]
add dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x14
jmp 0x4cfa43
cmp edx, dword [edi + 0x54]
jae case.0x4cc7d3.13
cmp byte [edx], 0xa
jne case.0x4cc7d3.13
lea eax, [edx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x4cfa43
movzx eax, word [edi + 0x3c]
mov esi, eax
test ax, ax
je case.0x4cc7d3.13
cmp edx, dword [edi + 0x54]
jb case.0x4cc7d3.13
cmp dword [edi + 0x8c], 0
jne case.0x4cc7d3.13
cmp dword [edi + 0x90], 2
jne case.0x4cc7d3.13
movzx eax, byte [edi + 0x94]
cmp ecx, eax
jne case.0x4cc7d3.13
mov dword [edi + 0x1c], 1
cmp esi, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x4cfa43
mov ecx, dword [ebx + 0x38]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cf517
mov edx, dword [ebp + 0x1c]
cmp ecx, dword [edx + 0x54]
jae 0x4cf517
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4cf517
inc ecx
mov dword [ebx + 0x38], ecx
cmp ecx, dword [edx + 0x54]
jb 0x4cf506
mov edx, dword [ebx]
add edx, 5
mov byte [ebx + 0x30], 0x25
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4cfa43
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x64
jmp 0x4cfa43
mov eax, dword [ebp - 4]
add dword [ebx + 0x38], edi
mov esi, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x4cfa43
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [ebx + 0x38], ecx
je 0x4cf64d
cmp edx, 0xc0
jb 0x4cf64d
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cf57d
movzx eax, al
and edx, 0x1f
jmp 0x4cf642
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4cf59d
movzx ecx, al
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4cf63f
mov dword [ebp + 0xc], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4cf5cc
movzx ecx, al
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x4cf63f
movzx edi, byte [edi]
movzx esi, byte [esi]
and edi, 0x3f
movzx eax, al
and esi, 0x3f
and eax, 0x3f
mov dword [ebp + 8], eax
lea eax, [ecx + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
test dl, 4
jne 0x4cf620
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x44]
shl edx, 6
or edx, edi
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x4cf64d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
mov dword [ebx + 0x38], esi
or edx, eax
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.004d6100
mov ecx, eax
add esp, 0x18
mov dword [ebx + 0x38], ecx
cmp ecx, dword [edi + 0x54]
jb 0x4cf692
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4cf692
cmp ecx, dword [edi + 0x60]
ja 0x4cf682
cmp dword [edi + 0x24], 0
je 0x4cf692
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xda
jmp 0x4cfa43
cmp ecx, dword [edi + 0x54]
jae case.0x4ce553.13
cmp byte [ecx], 0xa
jne case.0x4ce553.13
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xdb
jmp 0x4cfa43
movzx eax, word [edi + 0x3c]
mov esi, eax
test ax, ax
je case.0x4ce553.13
cmp ecx, dword [edi + 0x54]
jb case.0x4ce553.13
cmp dword [edi + 0x8c], 0
jne case.0x4ce553.13
cmp dword [edi + 0x90], 2
jne case.0x4ce553.13
movzx eax, byte [edi + 0x94]
cmp edx, eax
jne case.0x4ce553.13
mov dword [edi + 0x1c], 1
cmp esi, 1
ja 0x4c3867
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xdb
jmp 0x4cfa43
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
movzx eax, byte [eax + 0x536040]
add eax, ecx
mov byte [edi + 0x30], 0x11
add edx, eax
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4cfa43
mov edi, dword [ebp - 4]
inc esi
mov dword [edi + 4], esi
mov byte [edi + 0x30], 9
jmp 0x4cfa43
mov edi, dword [ebp - 4]
inc esi
mov dword [edi + 4], esi
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
mov dword [edi + 4], esi
cmp byte [esi], 0x78
je 0x4cf742
add esi, 3
mov byte [edi + 0x30], 0xa
jmp 0x4cfa43
mov ebx, dword [ebp - 4]
inc esi
mov dword [ebx + 0x28], 1
mov dword [ebx], esi
mov al, byte [esi]
cmp al, 0x8a
je 0x4cf799
cmp al, 0x8f
jne 0x4cf788
jmp 0x4cf799
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov ecx, 0x20000
jmp 0x4cf7ac
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], 0
mov dword [ebx + 8], esi
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x536040]
add edx, ecx
mov byte [ebx + 0x30], 8
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4cfa43
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
jmp 0x4cf7ff
movzx ecx, bl
or ecx, 0x20000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], ecx
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [esi]
movzx edx, byte [eax + 0x536040]
add edx, esi
mov byte [ebx + 0x30], 2
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4cfa43
mov ecx, dword [edi + 0x48]
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
add edi, ecx
cmp edi, ecx
jne 0x4cf83f
xor ecx, ecx
jmp 0x4cf84c
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl ecx, 8
or ecx, eax
mov ebx, dword [ebp - 4]
mov dword [ebp + 0xc], ecx
cmp dword [ebx + 0x48], 0xffffffff
je 0x4cf884
mov eax, dword [ebx + 0x50]
cmp eax, 0xffffffff
je 0x4cf884
mov esi, dword [ebp + 0x18]
mov edx, ecx
or edx, 0x40000
mov esi, dword [esi + 0x18]
nop
add eax, esi
mov ecx, eax
sub ecx, dword [ebp + 0x14]
cmp dword [eax + 0x1c], edx
je 0x4cf8be
mov eax, dword [ecx + 0x50]
cmp eax, 0xffffffff
jne 0x4cf870
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x64]
mov dword [ebx + 0x44], eax
mov eax, dword [ebp + 0xc]
or eax, 0x40000
mov dword [ebx + 4], edi
mov dword [ebx + 0x20], eax
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x536040]
add edx, ecx
mov byte [ebx + 0x30], 0xb
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4cfa43
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x38]
jne 0x4cf884
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x64]
cmp eax, dword [ecx + 0x44]
mov eax, dword [ebp + 0x1c]
jne 0x4cf887
test dword [eax + 0x7c], 0x40000
jne 0x4cf887
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, bl
mov ebx, dword [ebp - 4]
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [esi]
movzx edx, byte [eax + 0x536040]
add edx, esi
mov byte [ebx + 0x30], 3
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4cfa43
movzx eax, bl
mov ebx, dword [ebp - 4]
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [esi]
movzx ecx, byte [eax + 0x536040]
add ecx, esi
mov byte [ebx + 0x30], 4
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4cfa43
lea eax, [esi + 2]
mov dword [edi + 0x6c], eax
mov edi, dword [ebp - 4]
mov dword [edi + 0x40], eax
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x536040]
mov byte [edi + 0x30], 0xc
jmp 0x4cfa3f
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx ecx, byte [eax + 0x536040]
add ecx, esi
mov byte [edi + 0x30], 0xd
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4cfa43
lea eax, [esi + 2]
mov dword [edi + 0x6c], eax
mov edi, dword [ebp - 4]
mov dword [edi + 0x40], eax
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x536040]
mov byte [edi + 0x30], 0x24
jmp 0x4cfa3f
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx ecx, byte [eax + 0x536040]
add ecx, esi
mov byte [edi + 0x30], 0xe
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4cfa43
lea eax, [esi + 2]
mov dword [edi + 0x6c], eax
mov edi, dword [ebp - 4]
mov dword [edi + 0x40], eax
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x536040]
mov byte [edi + 0x30], 0xf
jmp 0x4cfa3f
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx ecx, byte [eax + 0x536040]
add ecx, esi
mov byte [edi + 0x30], 0x10
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4cfa43
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx ecx, byte [eax + 0x536040]
add ecx, esi
mov byte [edi + 0x30], 0x12
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4cfa43
lea eax, [esi + 2]
mov dword [edi + 0x6c], eax
mov edi, dword [ebp - 4]
mov dword [edi + 0x40], eax
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x536040]
mov byte [edi + 0x30], 0x13
add eax, ecx
add esi, eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x14]
lea ebx, [eax + edi]
lea eax, [ebx + edi]
mov dword [ebp - 0x10], ebx
cmp eax, dword [ebp - 0x38]
jb 0x4cfb22
mov eax, dword [ebp + 0x18]
sub ebx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x10], ebx
cmp edx, 0x7fffffff
jb 0x4cfa7f
cmp edx, 0xfffffffe
je 0x4cfbf9
mov ebx, 0xfffffffe
jmp 0x4cfa82
lea ebx, [edx + edx]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0xc]
mov eax, ebx
shr eax, 0xa
cmp eax, ecx
jb 0x4cfab7
mov eax, edx
shr eax, 0xa
cmp ecx, eax
jbe 0x4cfc05
sub ecx, eax
mov eax, edx
shl ecx, 0xa
and eax, 0x3ff
je 0x4cfab4
add ecx, 0xfffffc00
add ecx, eax
lea ebx, [edx + ecx]
mov eax, ebx
sub eax, dword [ebp - 0x10]
cmp eax, edi
jb 0x4cfc05
mov eax, dword [ebp + 0x18]
push dword [eax + 8]
mov eax, dword [eax]
push ebx
call eax
mov edi, eax
add esp, 8
mov dword [ebp + 0xc], edi
test edi, edi
je 0x4cfbf9
mov eax, dword [ebp + 0x18]
push dword [ebp - 0x10]
push dword [eax + 0x18]
push edi
call fcn.004f2d15
mov eax, dword [ebp - 0x10]
add eax, edi
mov edi, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
sub edi, dword [ebp + 0x14]
push dword [eax + 8]
push dword [eax + 0x18]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp + 0x18]
add esp, 0x14
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0x18], eax
add eax, ebx
mov dword [ecx + 0x1c], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
jmp 0x4cfb25
mov edi, dword [ebp - 4]
push dword [ebp - 0x3c]
lea eax, [edi + 0x38]
push eax
lea eax, [ebx + 0x38]
push eax
call fcn.004f2d15
mov eax, dword [edi + 0x18]
add esp, 0xc
mov ecx, dword [ebp + 0x14]
inc eax
mov edx, dword [ebp + 0x18]
mov dword [ebx + 0x18], eax
mov eax, ebx
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x18]
jmp 0x4c1542
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
mov edi, dword [ebp - 4]
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x54]
mov dword [ecx + 0x38], eax
mov eax, dword [edi + 0x40]
mov dword [ecx + 0x68], eax
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x64]
jbe 0x4cfb7d
mov dword [ecx + 0x64], eax
mov ebx, dword [ebp + 0x18]
mov eax, dword [edi + 0x3c]
sub eax, dword [ecx + 0x4c]
mov dword [ebx + 0x38], eax
mov eax, dword [edi + 0x38]
sub eax, dword [ecx + 0x4c]
mov dword [ebx + 0x3c], eax
movzx esi, word [ebx + 0x32]
movzx eax, word [ebp + 0x10]
inc eax
cmp eax, esi
cmovbe esi, eax
add esi, esi
lea eax, [esi*4 - 8]
push eax
lea eax, [edi + 0x58]
push eax
lea eax, [ebx + 0x40]
push eax
call fcn.004f2d15
mov eax, dword [edi + 0x54]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x4cfbe4
lea edx, [ebx + 0x38]
lea edx, [edx + esi*4]
nop dword [eax + eax]
mov dword [edx], 0xffffffff
lea edx, [edx - 4]
mov ecx, dword [edi + 0x54]
dec esi
add ecx, 2
cmp esi, ecx
jae 0x4cfbd0
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd1
pop ebx
mov esp, ebp
pop ebp
ret