Function at 0x4c0160
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 0x4c0220
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 0x4c021b
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 0x4ce8cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x14]
jb 0x4c025d
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, eax
jmp 0x4c025d
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.0x4cb483.15
movzx eax, byte [eax + 0x4cea40]
jmp dword [eax*4 + 0x4ce8dc]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x4c0304
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.0x4cb483.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 0x4c02cf
mov eax, dword [edx + 0x50]
jmp 0x4c02a5
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 0x4c0301
mov dword [eax + 0x54], esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x5203a8]
add eax, ecx
jmp 0x4c0255
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jbe 0x4c0325
mov dword [edi + 0x64], ecx
mov dword [ebp - 0x20], eax
mov esi, 0xfffffc19
jmp 0x4c0573
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
je 0x4c0396
mov eax, dword [eax + 0x50]
nop
cmp eax, 0xffffffff
je case.0x4cb483.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 0x4c036d
mov eax, dword [ecx + 0x50]
jmp 0x4c0340
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 0x4c0260
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
mov ecx, dword [eax + 0x38]
cmp ecx, edx
jne 0x4c03c6
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x7c]
test al, 4
jne 0x4c056b
test al, 8
je 0x4c03c6
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x1c]
mov eax, dword [eax + 0x4c]
add eax, dword [esi + 0x34]
cmp edx, eax
je 0x4c056b
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x4ce80d
mov edi, dword [ebp + 0x1c]
mov eax, dword [eax + 0x80]
or eax, dword [edi + 0x7c]
test eax, 0x20000000
je 0x4ce80b
test bl, bl
jne 0x4ce802
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax + 0x8c]
test esi, esi
je 0x4c0437
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax + 0x54]
cmp ecx, edx
jae 0x4c0477
push dword [ebp - 8]
add eax, 0x90
push eax
push edx
push esi
push ecx
call fcn.004d2bc0
add esp, 0x14
test eax, eax
je 0x4c0470
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x4c0570
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 0x4c0475
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne 0x4c0475
cmp edx, 1
je case.0x4cb49d.14
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x95]
jne 0x4c0475
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp + 0x1c]
jmp 0x4c0477
mov eax, edi
movzx eax, word [eax + 0x3c]
mov edi, dword [ebp + 0x1c]
mov edx, eax
test ax, ax
je case.0x4c0282.13
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x54]
dec eax
cmp ecx, eax
jne case.0x4c0282.13
mov eax, edi
cmp dword [eax + 0x8c], 0
jne 0x4c04c3
cmp dword [eax + 0x90], 2
jne 0x4c04c3
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne case.0x4c0282.13
mov eax, edi
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov edi, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c04ff
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c04fb
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c04e9
cmp dword [eax + 0x24], 0
je 0x4c04f9
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov edi, eax
xor esi, esi
jmp 0x4c0570
mov edx, dword [ebp - 8]
inc ecx
mov dword [eax + 0x38], ecx
test edx, edx
je 0x4c052d
cmp ecx, dword [edi + 0x54]
jae 0x4c052d
nop
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4c0527
mov eax, dword [ebp - 4]
inc ecx
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x4c0510
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
inc dword [eax]
jmp 0x4c0260
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x4c05bd
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x4c056b
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c055b
cmp dword [eax + 0x24], 0
je 0x4c056b
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jbe 0x4c057e
mov dword [edi + 0x64], ecx
cmp dword [eax + 0x18], 0
je 0x4ce8a0
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.0x4cb483.15
movzx eax, byte [eax + 0x4cebe8]
jmp dword [eax*4 + 0x4ceaec]
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 0x4c0260
mov eax, dword [ebp - 4]
test edx, edx
je 0x4c06e8
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 0x4c0660
test al, 0x20
jne 0x4c0615
mov eax, edi
mov ecx, 2
mov dword [eax + 0xc], 2
jmp 0x4c0663
test al, 0x10
jne 0x4c062a
mov eax, dword [ebp - 4]
mov ecx, 3
mov dword [eax + 0xc], 3
jmp 0x4c0660
test al, 8
jne 0x4c063f
mov eax, dword [ebp - 4]
mov ecx, 4
mov dword [eax + 0xc], 4
jmp 0x4c0660
test al, 4
mov eax, dword [ebp - 4]
jne 0x4c0654
mov dword [eax + 0xc], 5
mov ecx, 5
jmp 0x4c0660
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 0x4c06b5
cmp edx, esi
jb 0x4c04fb
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c04fb
mov eax, edi
cmp edx, dword [eax + 0x60]
ja 0x4c069c
cmp dword [eax + 0x24], 0
je 0x4c04f9
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
mov edi, eax
xor esi, esi
jmp 0x4c0570
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 0x4c06de
add dword [eax + 0xc], 0xffffffff
jne 0x4c06b8
jmp 0x4c025a
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x4c0573
mov ecx, dword [ebp + 0x1c]
mov edi, dword [eax + 0x38]
mov eax, dword [ecx + 0x54]
sub eax, edi
cmp eax, 1
jge 0x4c0728
movzx eax, word [ecx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c056b
mov eax, dword [ebp + 0x1c]
cmp edi, dword [eax + 0x60]
ja 0x4c0719
cmp dword [eax + 0x24], 0
je 0x4c056b
mov dword [eax + 0x1c], 1
cmp ecx, 1
jmp 0x4c0565
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 0x4c0aee
jmp 0x4c056b
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov dword [ebp + 0xc], ebx
cmp ebx, dword [edi + 0x54]
jb 0x4c078b
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c04fb
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
ja 0x4c0772
cmp dword [eax + 0x24], 0
je 0x4c04f9
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
mov edi, eax
xor esi, esi
jmp 0x4c0570
test edx, edx
je 0x4c0abe
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 0x4c08ee
test dl, 0x20
jne 0x4c07e0
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 0x4c08eb
test dl, 0x10
jne 0x4c0816
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 0x4c08eb
test dl, 8
jne 0x4c0858
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 0x4c08eb
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 0x4c08b0
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 0x4c08ee
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 0x4c091f
mov ecx, dword [edi + 0x28]
mov al, byte [ecx + edx]
cmp al, byte [ebx + ecx]
je 0x4c090b
xor esi, esi
jmp 0x4c0570
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 0x4c025a
mov ecx, dword [ebp + 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
mov dword [eax + 0x38], ecx
cmp ebx, 0xc0
jb 0x4c0956
mov al, byte [ecx]
lea edi, [ecx + 1]
mov byte [ebp + 0xf], al
mov eax, dword [ebp - 4]
test bl, 0x20
jne 0x4c09b8
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 0x4c025d
mov eax, edx
test eax, eax
jns 0x4c0974
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x508698]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4c0990
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50ca98]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x5043e4]
add eax, edx
mov edx, dword [ebp - 8]
cmp ebx, eax
je 0x4c0260
xor esi, esi
jmp 0x4c0570
lea esi, [ecx + 2]
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x30]
test bl, 0x10
jne 0x4c09ee
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 0x4c0956
lea esi, [ecx + 3]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x30]
test bl, 8
jne 0x4c0a32
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 0x4c0956
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 0x4c0a8a
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 0x4c0953
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 0x4c0959
cmp dword [ebp - 0x2c], 0
je 0x4c0b3e
movzx edx, byte [esi + 1]
movzx edi, byte [ebx]
cmp edx, 0x80
jae 0x4c0af6
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x28]
mov al, byte [ecx + edx]
cmp al, byte [ecx + edi]
jne 0x4c056b
mov edi, dword [ebp - 4]
lea eax, [ebx + 1]
mov dword [edi + 0x38], eax
lea eax, [esi + 2]
jmp 0x4c0258
cmp edi, edx
je 0x4c0ae5
mov eax, edx
test eax, eax
jns 0x4c0b03
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x508698]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4c0b1f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50ca98]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x5043e4]
add eax, edx
cmp edi, eax
je 0x4c0ae5
jmp 0x4c056b
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 0x4c0ae5
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x30], edx
cmp edx, dword [edi + 0x54]
jb 0x4c0b9f
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c04fb
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x60]
ja 0x4c0b86
cmp dword [eax + 0x24], 0
je 0x4c04f9
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
mov edi, eax
xor esi, esi
jmp 0x4c0570
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
je 0x4c0e6b
mov dword [eax], ecx
lea esi, [ecx + 1]
movzx edx, byte [ecx]
mov dword [eax], esi
cmp edx, 0xc0
jb 0x4c0cc5
mov bl, byte [esi]
lea edi, [ecx + 2]
test dl, 0x20
jne 0x4c0be4
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 0x4c0cc2
lea esi, [ecx + 3]
test dl, 0x10
jne 0x4c0c0f
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 0x4c0cc2
lea edi, [ecx + 4]
mov dword [ebp + 0xc], edi
test dl, 8
jne 0x4c0c48
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 0x4c0cc2
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 0x4c0c96
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 0x4c0cc5
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 0x4c0dfd
mov al, byte [ecx]
lea edi, [ecx + 1]
mov byte [ebp + 0xf], al
mov eax, dword [ebp - 4]
test bl, 0x20
jne 0x4c0d08
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 0x4c0dfa
lea esi, [ecx + 2]
test bl, 0x10
jne 0x4c0d35
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 0x4c0dfa
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test bl, 8
jne 0x4c0d76
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 0x4c0dfa
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 0x4c0dcc
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 0x4c0dfd
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 0x4c0e0b
xor esi, esi
jmp 0x4c0570
cmp byte [eax + 0x31], 0x20
jne 0x4c025d
cmp edx, 0x7f
jbe 0x4c0e55
mov eax, edx
test eax, eax
jns 0x4c0e23
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x508698]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4c0e3f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50ca98]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x5043e4]
jmp 0x4c0e5c
mov eax, dword [edi + 0x2c]
movzx edx, byte [eax + edx]
cmp edx, ebx
jne 0x4c025d
xor esi, esi
jmp 0x4c0570
cmp dword [ebp - 0x2c], 0
lea edi, [edx + 1]
je 0x4c0e9c
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 0x4c0e93
xor esi, esi
jmp 0x4c0570
cmp byte [ebp + 0xf], 0x20
jmp 0x4c0e0f
movzx ecx, byte [ecx]
movzx edx, byte [edx]
mov dword [eax + 0x38], edi
cmp ecx, edx
je 0x4c0ec4
cmp bl, 0x20
jne 0x4c0ebc
mov edi, dword [ebp + 0x1c]
mov eax, dword [edi + 0x2c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je 0x4c0ec7
lea eax, [esi + 2]
jmp 0x4c0255
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x4c0570
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 0x4c0fbf
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 0x4c0fbc
mov dword [ebp - 0xc], 1
jmp 0x4c0ef5
mov dword [ebp - 0xc], 0
jmp 0x4c0ef5
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 0x4c0fbc
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 0x4c0fbc
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 0x4c0fbc
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 + 0x5037fc]
mov dword [edi + 0x20], eax
mov eax, dword [ecx*4 + 0x503828]
mov dword [edi + 0x24], eax
mov eax, dword [ecx*4 + 0x503854]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
test edx, edx
je 0x4c141b
mov dword [eax + 0xc], 1
lea edx, [esi + 1]
mov dword [eax + 8], esi
movzx ebx, byte [esi]
cmp ebx, 0xc0
jb 0x4c1411
lea ecx, [esi + 2]
test bl, 0x20
jne 0x4c1007
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 0x4c10f8
test bl, 0x10
jne 0x4c1037
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 0x4c10f3
test bl, 8
jne 0x4c1073
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 0x4c10f3
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 0x4c10c1
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 0x4c10f8
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 0x4c1143
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x508698]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x50ca98]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x5043e4]
add ecx, edx
cmp ecx, edx
je 0x4c1143
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
push ecx
call fcn.004d2ee0
add esp, 8
mov ecx, eax
jmp 0x4c1145
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 0x4c1277
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 0x4c11de
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4c1195
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c119e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c1184
cmp esi, 0xfffffffc
je 0x4c125a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c11db
cmp esi, 0xfffffffd
je 0x4c125a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c11db
cmp esi, 0xfffffffe
je 0x4c125a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c11db
cmp esi, 0xffffffff
je 0x4c125a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4c125a
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x4c13a2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4c13a2
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x4c1218
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c121d
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c1207
cmp esi, 0xfffffffc
je 0x4c125a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c13a2
cmp esi, 0xfffffffd
je 0x4c125a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c13a2
cmp esi, 0xfffffffe
je 0x4c125a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c13a2
cmp esi, 0xffffffff
je 0x4c125a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c13a2
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 0x4c1161
mov edx, dword [eax + 0x24]
cmp ecx, edx
je 0x4c025a
cmp dword [ebp - 0xc], 0
je 0x4ce1ee
mov ebx, dword [eax + 0x38]
mov dword [eax + 4], ebx
mov ecx, dword [eax + 0x20]
mov dword [ebp + 8], ecx
cmp ecx, edx
jae 0x4c13fc
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 0x4c1319
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4c12d4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c12dd
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c12c3
cmp esi, 0xfffffffc
je 0x4c1385
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c1316
cmp esi, 0xfffffffd
je 0x4c1385
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c1316
cmp esi, 0xfffffffe
je 0x4c1385
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c1316
cmp esi, 0xffffffff
je 0x4c1385
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4c1385
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x4c13c8
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4c13c8
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x4c1353
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c1358
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c1342
cmp esi, 0xfffffffc
je 0x4c1385
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c13c8
cmp esi, 0xfffffffd
je 0x4c1385
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c13c8
cmp esi, 0xfffffffe
je 0x4c1385
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c13c8
cmp esi, 0xffffffff
je 0x4c1385
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c13c8
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 0x4c12a0
jmp 0x4c13f9
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x4c056b
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c056b
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
jmp 0x4c070d
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x4c13f9
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c13f9
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
ja 0x4c13e9
cmp dword [eax + 0x24], 0
je 0x4c13f9
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c05d0
mov ecx, dword [eax + 0x38]
jmp 0x4cdc4f
mov dword [eax], edx
mov edx, dword [ebp - 8]
mov dword [eax + 0x28], ebx
jmp 0x4c142b
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 0x4c158b
cmp dword [ebp - 0x2c], 0
je 0x4c1474
test edx, edx
jne 0x4c1474
cmp ebx, 0x7f
jbe 0x4c1474
mov edx, dword [ebp + 0x1c]
mov eax, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x508698]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50ca98]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x5043e4]
add ecx, ebx
jmp 0x4c147e
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 0x4c14f3
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x4c14b7
movzx edx, byte [ecx]
cmp dword [eax + 0x28], edx
je 0x4c14a9
cmp dword [eax + 0x2c], edx
jne 0x4c056b
inc ecx
inc edi
mov dword [eax + 0x38], ecx
cmp edi, esi
ja 0x4c14f3
mov edx, dword [ebp + 0x1c]
jmp 0x4c1493
mov edi, dword [ebp + 0x1c]
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c04fb
mov eax, edi
cmp ecx, dword [eax + 0x60]
ja 0x4c14da
cmp dword [eax + 0x24], 0
je 0x4c04f9
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov edi, eax
xor esi, esi
jmp 0x4c0570
mov edi, dword [eax + 0x24]
mov edx, dword [ebp - 8]
cmp esi, edi
je 0x4c05d0
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4cb1e4
mov ecx, dword [eax + 0x38]
mov dword [eax + 4], ecx
cmp esi, edi
jae 0x4c1534
mov edx, dword [ebp + 0x1c]
cmp ecx, dword [edx + 0x54]
jae 0x4c1539
movzx edx, byte [ecx]
cmp dword [eax + 0x28], edx
je 0x4c152b
cmp dword [eax + 0x2c], edx
jne 0x4c1534
inc ecx
inc esi
mov dword [eax + 0x38], ecx
cmp esi, edi
jb 0x4c1516
mov edi, dword [ebp + 0x1c]
jmp 0x4c1565
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c1565
mov eax, edi
cmp ecx, dword [eax + 0x60]
ja 0x4c1553
cmp dword [eax + 0x24], 0
je 0x4c1563
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov edi, eax
mov edx, dword [ebp - 8]
cmp ebx, 2
je 0x4c0260
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x4c025a
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1a
jmp 0x4ce6f3
mov esi, dword [eax + 0x20]
mov ebx, 1
cmp esi, ebx
jb 0x4c15c0
mov edx, dword [eax + 0x38]
mov edi, dword [ebp - 4]
nop dword [eax]
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x4c1603
movzx eax, byte [edx]
inc edx
mov dword [edi + 0x38], edx
cmp dword [edi + 0x28], eax
jne 0x4c056b
inc ebx
cmp ebx, esi
jbe 0x4c15a0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x24]
mov edi, dword [ebp + 0x1c]
cmp esi, edx
je 0x4c025d
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x4cb26f
mov ecx, dword [eax + 0x38]
mov dword [eax + 4], ecx
cmp esi, edx
jae 0x4c1646
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x4c161d
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
jne 0x4c1649
mov eax, ebx
inc ecx
inc esi
mov dword [eax + 0x38], ecx
cmp esi, edx
jb 0x4c15e3
jmp 0x4c1646
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c056b
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x60]
jmp 0x4c070d
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x4c1646
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c1636
cmp dword [eax + 0x24], 0
je 0x4c1646
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp edi, 2
mov edi, dword [ebp + 0x1c]
je 0x4c0260
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x4c025a
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1c
jmp 0x4ce6f3
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 0x4c17bf
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 0x4c17bc
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 0x4c17bc
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 0x4c17bc
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 0x4c17bc
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 0x4c17bc
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 0x4c17bc
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 + 0x5037fc]
mov dword [edi + 0x20], eax
mov eax, dword [ecx*4 + 0x503828]
mov dword [edi + 0x24], eax
mov eax, dword [ecx*4 + 0x503854]
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 0x4c18f4
cmp ecx, 0xc0
jb 0x4c18f4
mov bl, byte [esi]
test cl, 0x20
jne 0x4c1806
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 0x4c18ea
test cl, 0x10
jne 0x4c1835
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 0x4c18ea
test cl, 8
jne 0x4c186e
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 0x4c18ea
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 0x4c18bb
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 0x4c18ea
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 0x4c1d79
test ebx, ebx
jne 0x4c1907
cmp dword [ebp - 0x2c], ebx
je 0x4c193c
cmp edx, 0x7f
jbe 0x4c193c
mov edi, dword [ebp + 0x1c]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x508698]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50ca98]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x5043e4]
add ecx, edx
jmp 0x4c1946
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 0x4c1b77
mov ebx, 1
mov dword [ebp + 0xc], ebx
cmp edx, ebx
jb 0x4c1ac7
mov ecx, dword [eax + 0x38]
nop word [eax + eax]
cmp ecx, dword [edi + 0x54]
jae 0x4c1b3d
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x4c1aa6
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c19b1
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 0x4c1aa0
lea edi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x4c19e2
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 0x4c1a9d
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x34]
test dl, 8
jne 0x4c1a1c
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 0x4c1a97
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 0x4c1a6e
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 0x4c1aa3
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.0x4cb49d.14
cmp dword [eax + 0x2c], edx
je case.0x4cb49d.14
mov edx, dword [eax + 0x20]
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, edx
jbe 0x4c1970
mov ebx, dword [ebp - 8]
mov edi, dword [eax + 0x24]
mov dword [ebp + 8], edi
cmp edx, edi
je 0x4c025a
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x4ce041
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 0x4c1d11
cmp ebx, ecx
jae 0x4c1cce
mov ecx, dword [ebp + 0x1c]
mov esi, 1
cmp edx, dword [ecx + 0x54]
jae 0x4c1ce6
movzx ecx, byte [edx]
cmp ecx, 0xc0
jb 0x4c1cb3
test cl, 0x20
jne 0x4c1bec
movzx eax, byte [edx + 1]
and ecx, 0x1f
mov esi, 2
jmp 0x4c1ca8
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c04fb
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c1b5e
cmp dword [eax + 0x24], 0
je 0x4c04f9
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov edi, eax
xor esi, esi
jmp 0x4c0570
mov esi, 1
cmp edx, esi
jb 0x4c1aca
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x4c1bb2
movzx edx, byte [ecx]
cmp dword [eax + 0x28], edx
je case.0x4cb49d.14
cmp dword [eax + 0x2c], edx
je case.0x4cb49d.14
inc ecx
inc esi
mov dword [eax + 0x38], ecx
mov edx, dword [eax + 0x20]
cmp esi, edx
jbe 0x4c1b87
jmp 0x4c1aca
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c04fb
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c1bd3
cmp dword [eax + 0x24], 0
je 0x4c04f9
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov edi, eax
xor esi, esi
jmp 0x4c0570
test cl, 0x10
jne 0x4c1c0e
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 0x4c1ca8
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 0x4c1c4a
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 0x4c1cb3
movzx ebx, byte [edx + 4]
and ebx, 0x3f
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x34]
test cl, 4
jne 0x4c1c81
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 0x4c1cb3
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 0x4c1cce
cmp dword [eax + 0x2c], ecx
je 0x4c1cce
inc ebx
add edx, esi
mov dword [eax + 0x38], edx
mov dword [ebp + 0xc], ebx
cmp ebx, edi
jb 0x4c1b03
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c0260
mov ecx, dword [eax + 0x38]
jmp 0x4cdc80
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c1d0c
mov eax, edi
cmp edx, dword [eax + 0x60]
ja 0x4c1d00
cmp dword [eax + 0x24], 0
je 0x4c1d0c
mov dword [eax + 0x1c], esi
cmp ecx, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
jmp 0x4c1cd1
cmp ebx, ecx
jae 0x4c1d33
mov ecx, dword [ebp + 0x1c]
cmp edx, dword [ecx + 0x54]
jae 0x4c1d4a
movzx ecx, byte [edx]
cmp dword [eax + 0x28], ecx
je 0x4c1d33
cmp dword [eax + 0x2c], ecx
je 0x4c1d33
inc edx
inc ebx
mov dword [eax + 0x38], edx
cmp ebx, edi
jb 0x4c1d15
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp esi, 2
je 0x4c0260
mov ecx, dword [eax + 0x38]
jmp 0x4cdbc7
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c1d74
mov eax, edi
cmp edx, dword [eax + 0x60]
ja 0x4c1d64
cmp dword [eax + 0x24], 0
je 0x4c1d74
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
jmp 0x4c1d36
mov esi, dword [eax + 0x20]
test ebx, ebx
mov ebx, 1
je 0x4c1fa4
mov dword [ebp + 0xc], ebx
cmp esi, ebx
jb 0x4c1eee
mov ecx, dword [eax + 0x38]
mov edi, dword [ebp + 0x1c]
nop word [eax + eax]
cmp ecx, dword [edi + 0x54]
jae 0x4c1f6a
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x4c1ed6
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c1de1
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 0x4c1ed0
lea edi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x4c1e12
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 0x4c1ecd
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x34]
test dl, 8
jne 0x4c1e4c
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 0x4c1ec7
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 0x4c1e9e
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 0x4c1ed3
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.0x4cb49d.14
mov esi, dword [eax + 0x20]
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, esi
jbe 0x4c1da0
mov edi, dword [eax + 0x24]
mov dword [ebp + 8], edi
cmp esi, edi
je 0x4c025a
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x4ce054
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 0x4c2130
cmp ebx, ecx
jae 0x4c20ef
nop word [eax + eax]
mov ecx, dword [ebp + 0x1c]
mov esi, 1
cmp edx, dword [ecx + 0x54]
jae 0x4c2107
movzx ecx, byte [edx]
cmp ecx, 0xc0
jb 0x4c20d9
test cl, 0x20
jne 0x4c2012
movzx eax, byte [edx + 1]
and ecx, 0x1f
mov esi, 2
jmp 0x4c20ce
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c04fb
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c1f8b
cmp dword [eax + 0x24], 0
je 0x4c04f9
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov edi, eax
xor esi, esi
jmp 0x4c0570
cmp esi, 1
jb 0x4c1eee
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x4c1fda
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 0x4c06de
mov esi, dword [eax + 0x20]
inc ebx
cmp ebx, esi
jbe 0x4c1fb0
jmp 0x4c1eee
movzx eax, word [eax + 0x3c]
mov edi, dword [ebp + 0x1c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp edx, dword [edi + 0x60]
ja 0x4c1ffb
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
test cl, 0x10
jne 0x4c2034
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 0x4c20ce
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 0x4c2070
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 0x4c20d9
movzx ebx, byte [edx + 4]
and ebx, 0x3f
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x34]
test cl, 4
jne 0x4c20a7
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 0x4c20d9
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 0x4c20ef
inc ebx
add edx, esi
mov dword [eax + 0x38], edx
mov dword [ebp + 0xc], ebx
cmp ebx, edi
jb 0x4c1f30
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c0260
mov ecx, dword [eax + 0x38]
jmp 0x4cdcb1
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c212b
cmp edx, dword [edi + 0x60]
ja 0x4c211f
cmp dword [edi + 0x24], 0
je 0x4c212b
mov dword [edi + 0x1c], esi
cmp ecx, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
jmp 0x4c20f2
cmp ebx, ecx
jae 0x4c2155
mov ecx, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
cmp edx, dword [edi + 0x54]
jae 0x4c216c
mov edi, dword [ebp - 4]
movzx eax, byte [edx]
cmp dword [edi + 0x28], eax
mov eax, edi
je 0x4c2155
inc edx
inc ebx
mov dword [eax + 0x38], edx
cmp ebx, ecx
jb 0x4c2137
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp esi, 2
je 0x4c0260
mov ecx, dword [eax + 0x38]
jmp 0x4cdbe1
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c2192
cmp edx, dword [edi + 0x60]
ja 0x4c2182
cmp dword [edi + 0x24], 0
je 0x4c2192
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
jmp 0x4c2158
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.0x4c21bd
movzx eax, byte [edx + 0x4cecd4]
jmp dword [eax*4 + 0x4ceccc]
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov edx, dword [ecx*4 + 0x503674]
mov dword [edi], eax
mov eax, edi
mov dword [eax + 0x20], edx
mov eax, dword [ecx*4 + 0x5036a0]
mov ecx, dword [ecx*4 + 0x5036cc]
mov dword [edi + 0x24], eax
mov eax, edi
mov dword [ebp - 0xc], ecx
jmp 0x4c224a
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 + 0x5036cc]
mov dword [ebp - 0xc], eax
lea eax, [esi + 5]
mov dword [edi], eax
mov eax, edi
jmp 0x4c224a
mov dword [eax + 0x24], 1
mov edx, 1
mov dword [eax + 0x20], 1
mov edi, dword [ebp - 8]
test edi, edi
je 0x4c24a1
mov edi, 1
mov dword [ebp + 0xc], edi
cmp edx, edi
jb 0x4c23eb
mov esi, dword [eax + 0x38]
nop dword [eax + eax]
mov ecx, dword [ebp + 0x1c]
cmp esi, dword [ecx + 0x54]
jae 0x4c246a
movzx ebx, byte [esi]
inc esi
mov dword [eax + 0x38], esi
cmp ebx, 0xc0
jb 0x4c23aa
mov cl, byte [esi]
lea edx, [esi + 1]
test bl, 0x20
jne 0x4c22b4
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 0x4c23a7
movzx ecx, cl
lea edi, [esi + 2]
mov dword [ebp - 0x34], edi
test bl, 0x10
jne 0x4c22e5
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 0x4c23a4
lea edi, [esi + 3]
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x34]
test bl, 8
jne 0x4c2324
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 0x4c23a4
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 0x4c2375
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 0x4c23aa
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 0x4c23be
cmp byte [eax + 0x31], 0x6e
je 0x4c056b
jmp 0x4c23dc
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 0x4c06de
mov edx, dword [eax + 0x20]
inc edi
mov dword [ebp + 0xc], edi
cmp edi, edx
jbe 0x4c2270
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x30], ecx
cmp edx, ecx
je 0x4c025a
cmp dword [ebp - 0xc], 0
je 0x4ce069
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 0x4c2666
cmp ebx, ecx
jae 0x4c2644
nop dword [eax + eax]
mov edx, dword [ebp + 0x1c]
mov esi, 1
cmp edi, dword [edx + 0x54]
jae 0x4c261e
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x4c25da
test bl, 0x20
jne 0x4c252c
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov esi, 2
jmp 0x4c25cf
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c248a
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
mov ebx, 1
cmp edx, ebx
jb 0x4c23ee
mov edi, dword [eax + 0x38]
jmp 0x4c24b6
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
cmp edi, dword [edx + 0x54]
jae 0x4c24f3
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 0x4c06de
mov edx, dword [eax + 0x20]
inc ebx
cmp ebx, edx
jbe 0x4c24b3
mov edi, dword [ebp - 8]
jmp 0x4c23f1
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c2523
cmp edi, dword [edx + 0x60]
mov edi, edx
ja 0x4c250b
cmp dword [edi + 0x24], 0
je 0x4c2525
mov dword [edi + 0x1c], 1
cmp ecx, 1
jbe 0x4c2525
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, edx
xor esi, esi
jmp 0x4c0570
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x10
jne 0x4c254e
movzx eax, byte [edi + 2]
and ebx, 0xf
shl ebx, 6
mov esi, 3
or ebx, ecx
jmp 0x4c25cf
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 0x4c257d
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 0x4c25da
movzx esi, byte [edi + 4]
and esi, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp - 0x34]
test bl, 4
jne 0x4c25ae
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 0x4c25da
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 0x4c25ea
cmp byte [eax + 0x31], 0x6e
je 0x4c2619
jmp 0x4c2604
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 0x4c2619
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 0x4c2430
mov edi, dword [ebp + 0x1c]
jmp 0x4c264b
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c2649
cmp edi, dword [edx + 0x60]
mov edi, edx
ja 0x4c2636
cmp dword [edi + 0x24], 0
je 0x4c264b
mov dword [edi + 0x1c], esi
cmp ecx, 1
ja 0x4c2517
jmp 0x4c264b
mov edi, dword [ebp + 0x1c]
jmp 0x4c264e
mov edi, edx
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x4c0260
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x4ce6f3
cmp ebx, ecx
jb 0x4c2673
mov edi, dword [ebp + 0x1c]
jmp 0x4c26d6
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
cmp edi, dword [edx + 0x54]
jae 0x4c26a7
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 0x4c26a2
mov eax, dword [ebp - 4]
inc edi
inc ebx
mov dword [eax + 0x38], edi
cmp ebx, dword [ebp - 0x30]
jb 0x4c2670
mov edi, dword [ebp + 0x1c]
jmp 0x4c26d3
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c26d1
cmp edi, dword [edx + 0x60]
mov edi, edx
ja 0x4c26bf
cmp dword [edi + 0x24], 0
je 0x4c26d3
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
jmp 0x4c26d3
mov edi, edx
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x4c0260
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb 0x4c056b
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x18
jmp 0x4ce6f3
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.0x4c272c
movzx eax, byte [ecx + 0x4cece8]
jmp dword [eax*4 + 0x4cece0]
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov ecx, dword [ebx*4 + 0x503674]
mov edx, dword [ebx*4 + 0x5036a0]
mov ebx, dword [ebx*4 + 0x5036cc]
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 0x4c27ad
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 0x4c2798
mov dword [eax], 0xffffffff
or edx, 0xffffffff
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
mov eax, dword [eax*4 + 0x5036cc]
mov dword [ebp - 0xc], eax
lea eax, [esi + 5]
mov dword [edi], eax
mov eax, dword [ebp - 4]
cmp ecx, 1
jb 0x4c2951
mov edi, dword [ebp + 0x1c]
mov ebx, 1
mov dword [ebp + 0xc], ebx
jmp 0x4c27e9
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 0x4c27e9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x4c2aea
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c2925
cmp edx, 0xc0
jb 0x4c2925
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c2835
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 0x4c291c
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c2861
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 0x4c291c
lea edi, [ecx + 3]
mov dword [ebp - 0x34], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c28a1
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 0x4c291c
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 0x4c28ef
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 0x4c291f
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.004d56b0
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 4]
je 0x4cb5b7
mov ecx, dword [eax + 0x20]
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, ecx
jbe 0x4c27e6
mov edx, dword [eax + 0x24]
mov edi, dword [ebp + 0x1c]
cmp ecx, edx
je 0x4c025d
cmp dword [ebp - 0xc], 0
je 0x4ce1da
mov esi, dword [eax + 0x38]
mov dword [eax + 4], esi
mov ebx, dword [eax + 0x20]
mov dword [ebp + 0xc], ebx
cmp ebx, edx
jae 0x4c2aa8
jmp 0x4c2983
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [ecx + 0x54]
jae 0x4c2ac0
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x4c2a7a
cmp edx, 0xc0
jb 0x4c2a7a
test dl, 0x20
jne 0x4c29c3
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x4c2a6f
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4c29e5
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x4c2a6f
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 0x4c2a17
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 0x4c2a7a
movzx ebx, byte [esi + 4]
and ebx, 0x3f
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x34]
test dl, 4
jne 0x4c2a4b
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 0x4c2a7a
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.004d56b0
add esp, 0xc
test eax, eax
je 0x4c2aa5
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 0x4c2980
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
je 0x4c025d
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x4ce6f3
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c2aa8
cmp esi, dword [edi + 0x60]
ja 0x4c2ad8
cmp dword [edi + 0x24], 0
je 0x4c2aa8
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
jmp 0x4c2aa8
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c2b08
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c2b5f
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c2b48
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c2c89
cmp edx, 0xc0
jb 0x4c2c89
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c2b9f
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 0x4c2c86
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c2bcb
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 0x4c2c86
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c2c0b
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 0x4c2c86
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 0x4c2c59
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 0x4c2c86
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.0x4c3810.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x4c3810.8203
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c2ce9
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c2cd2
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c2e13
cmp edx, 0xc0
jb 0x4c2e13
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c2d29
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 0x4c2e10
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c2d55
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 0x4c2e10
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c2d95
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 0x4c2e10
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 0x4c2de3
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 0x4c2e10
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.0x4cb49d.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c025d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c2e76
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c2e5f
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c2fa0
cmp edx, 0xc0
jb 0x4c2fa0
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c2eb6
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 0x4c2f9d
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c2ee2
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 0x4c2f9d
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c2f22
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 0x4c2f9d
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 0x4c2f70
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 0x4c2f9d
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.0x4c3810.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x4c3810.8203
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c3000
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c2fe9
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c312a
cmp edx, 0xc0
jb 0x4c312a
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c3040
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 0x4c3127
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c306c
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 0x4c3127
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c30ac
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 0x4c3127
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 0x4c30fa
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 0x4c3127
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.0x4cb49d.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c025d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c318d
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c3176
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c32b7
cmp edx, 0xc0
jb 0x4c32b7
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c31cd
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 0x4c32b4
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c31f9
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 0x4c32b4
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c3239
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 0x4c32b4
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 0x4c3287
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 0x4c32b4
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.0x4c3810.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x4c3810.8203
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c3317
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c3300
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c3441
cmp edx, 0xc0
jb 0x4c3441
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c3357
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 0x4c343e
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c3383
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 0x4c343e
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c33c3
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 0x4c343e
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 0x4c3411
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 0x4c343e
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.0x4cb49d.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c025d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c34a4
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c348d
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c35b1
cmp edx, 0xc0
jb 0x4c35b1
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c34d8
movzx eax, bl
and edx, 0x1f
jmp 0x4c35a3
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp + 8], edi
test dl, 0x10
jne 0x4c34fb
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c35a0
mov dword [ebp + 0xc], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c352a
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 0x4c35a0
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 0x4c3581
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 0x4c35b1
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 0x4c361a
je case.0x4c35c7.11
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4cb49d.14
jmp dword [edx*4 + 0x4cecf4]
cmp esi, dword [edi + 0x54]
jb 0x4c3603
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4c35c7.10
cmp esi, dword [edi + 0x60]
ja 0x4c35e9
cmp dword [edi + 0x24], 0
je case.0x4c35c7.10
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c025a
cmp byte [esi], 0xa
jne case.0x4c35c7.10
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov dword [edi + 0x38], eax
mov eax, edi
inc dword [eax]
jmp 0x4c025a
sub edx, 0x2028
je case.0x4c35c7.11
sub edx, 1
je case.0x4c35c7.11
xor esi, esi
jmp 0x4c0570
cmp word [edi + 0x3e], 2
jne case.0x4c35c7.10
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c367c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c3665
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c37a4
cmp edx, 0xc0
jb 0x4c37a4
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c36bc
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 0x4c37a1
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c36e8
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 0x4c37a1
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
test dl, 8
jne 0x4c3725
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 0x4c37a1
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 0x4c3774
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 0x4c37a1
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 0x4c37e8
je case.0x4cb49d.14
cmp edx, 0xa0
ja 0x4c37d1
je case.0x4cb49d.14
cmp edx, 9
je case.0x4cb49d.14
cmp edx, 0x20
jmp 0x4c2e26
cmp edx, 0x1680
je case.0x4cb49d.14
cmp edx, 0x180e
jmp 0x4c2e26
cmp edx, 0x3000
ja case.0x4c3810.8203
je case.0x4cb49d.14
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4c3810.8203
movzx eax, byte [edx + 0x4ced0c]
jmp dword [eax*4 + 0x4ced04]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c3857
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c3840
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c3981
cmp edx, 0xc0
jb 0x4c3981
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c3897
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 0x4c397e
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c38c3
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 0x4c397e
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c3903
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 0x4c397e
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 0x4c3951
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 0x4c397e
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 0x4c39d5
je case.0x4c3810.8203
cmp edx, 0xa0
ja 0x4c39b6
je case.0x4c3810.8203
cmp edx, 9
je case.0x4c3810.8203
cmp edx, 0x20
je case.0x4c3810.8203
xor esi, esi
jmp 0x4c0570
cmp edx, 0x1680
je case.0x4c3810.8203
cmp edx, 0x180e
je case.0x4c3810.8203
xor esi, esi
jmp 0x4c0570
cmp edx, 0x3000
ja case.0x4cb49d.14
je case.0x4c3810.8203
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4cb49d.14
movzx eax, byte [edx + 0x4ced74]
jmp dword [eax*4 + 0x4ced6c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c3a44
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c3a2d
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c3b71
cmp edx, 0xc0
jb 0x4c3b71
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c3a84
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 0x4c3b6b
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c3ab0
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 0x4c3b6b
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c3af0
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 0x4c3b6b
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 0x4c3b3e
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 0x4c3b6e
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 0x4c3b92
je case.0x4cb49d.14
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4c3b8b
jmp dword [edx*4 + 0x4cedd4]
sub edx, 0x2028
je case.0x4cb49d.14
sub edx, 1
jne case.default.0x4c3b8b
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c3bee
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c3bd7
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c3d1b
cmp edx, 0xc0
jb 0x4c3d1b
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c3c2e
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 0x4c3d15
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c3c5a
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 0x4c3d15
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x4c3c9a
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 0x4c3d15
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 0x4c3ce8
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 0x4c3d18
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 0x4c3d3c
je case.default.0x4c3b8b
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4cb49d.14
jmp dword [edx*4 + 0x4cede4]
sub edx, 0x2028
je case.default.0x4c3b8b
sub edx, 1
je case.default.0x4c3b8b
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c3d98
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c3d81
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c3ebd
cmp edx, 0xc0
jb 0x4c3ebd
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x4c3dd8
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 0x4c3ebd
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c3e04
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 0x4c3ebd
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
test dl, 8
jne 0x4c3e41
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 0x4c3ebd
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 0x4c3e90
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 0x4c3ebd
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 + 0x508698]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50ca98]
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.0x4cb483.15
jmp dword [eax*4 + 0x4cedf4]
cmp cl, 0xf
je 0x4c056b
mov eax, dword [ebp - 4]
add dword [eax], 3
jmp 0x4c025a
mov al, byte [edi*4 + 0x5043e1]
cmp al, 9
je 0x4c3f2e
cmp al, 5
je 0x4c3f2e
cmp al, 8
je 0x4c3f2e
xor eax, eax
jmp 0x4c3f33
mov eax, 1
cmp eax, ebx
jne 0x4c3f0c
jmp 0x4c056b
movzx ecx, byte [edi*4 + 0x5043e1]
xor edx, edx
movzx eax, byte [esi + 2]
cmp eax, dword [ecx*4 + 0x520528]
sete dl
cmp edx, ebx
jne 0x4c3f0c
jmp 0x4c056b
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x5043e1]
sete cl
cmp ecx, ebx
jne 0x4c3f0c
jmp 0x4c056b
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x5043e0]
sete cl
cmp ecx, ebx
jne 0x4c3f0c
jmp 0x4c056b
mov al, byte [esi + 2]
cmp al, byte [edi*4 + 0x5043e0]
je 0x4c3f2e
movzx edx, word [edi*4 + 0x5043e8]
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 + 0x5040e8], eax
jne 0x4c3f2e
xor eax, eax
jmp 0x4c3f33
movzx eax, byte [edi*4 + 0x5043e1]
mov eax, dword [eax*4 + 0x520528]
cmp eax, 1
je 0x4c3f2e
cmp eax, 3
je 0x4c3f2e
xor eax, eax
jmp 0x4c3f33
cmp edx, 0x20
ja 0x4c4011
je case.0x4c3efc.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x4c4086.8203
jmp dword [edx*4 + 0x4cee2c]
cmp edx, 0x2000
ja 0x4c4066
je case.0x4c3efc.0
cmp edx, 0x1680
ja 0x4c405e
je case.0x4c3efc.0
sub edx, 0x85
je case.0x4c3efc.0
sub edx, 0x1b
je case.0x4c3efc.0
movzx eax, byte [edi*4 + 0x5043e1]
xor ecx, ecx
cmp dword [eax*4 + 0x520528], 6
sete cl
cmp ecx, ebx
jmp 0x4c3f06
cmp edx, 0x180e
jmp 0x4c403c
cmp edx, 0x3000
ja case.0x4c4086.8203
je case.0x4c3efc.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4c4086.8203
movzx eax, byte [edx + 0x4cee48]
jmp dword [eax*4 + 0x4cee40]
movzx eax, byte [edi*4 + 0x5043e1]
mov ecx, dword [eax*4 + 0x520528]
cmp ecx, 1
je 0x4c40b9
cmp ecx, 3
je 0x4c40b9
cmp eax, 0xc
je 0x4c40b9
cmp eax, 0x10
je 0x4c40b9
xor eax, eax
cmp eax, ebx
jmp 0x4c3f06
mov eax, 1
cmp eax, ebx
jmp 0x4c3f06
movzx eax, byte [esi + 2]
mov ecx, dword [eax*4 + 0x503e10]
lea eax, [eax*4 + 0x503e10]
cmp edx, ecx
jb 0x4c40ed
nop dword [eax + eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4c40fc
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4c40e0
cmp byte [ebp + 0xf], 0xf
je 0x4c3f0c
jmp 0x4c056b
cmp byte [ebp + 0xf], 0xf
jmp 0x4c3f06
cmp edx, 0x24
je 0x4c40b9
cmp edx, 0x40
je 0x4c40b9
cmp edx, 0x60
je 0x4c40b9
cmp edx, 0xa0
jb 0x4c4124
cmp edx, 0xd7ff
jbe 0x4c40b9
cmp edx, 0xe000
jae 0x4c40b9
xor eax, eax
cmp eax, ebx
jmp 0x4c3f06
mov ax, word [edi*4 + 0x5043e8]
xor ecx, ecx
shr ax, 0xb
cmp al, byte [esi + 2]
sete cl
cmp ecx, ebx
jmp 0x4c3f06
movzx ecx, byte [esi + 2]
movzx edx, word [edi*4 + 0x5043ea]
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 + 0x503888]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, ebx
jmp 0x4c3f06
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4c41c9
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c41b2
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c42d3
cmp edx, 0xc0
jb 0x4c42d3
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c41fd
movzx eax, bl
and edx, 0x1f
jmp 0x4c42c5
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp + 8], edi
test dl, 0x10
jne 0x4c4220
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c42c2
mov dword [ebp + 0xc], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c424c
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 0x4c42c2
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 0x4c42a3
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 0x4c42d3
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.004d4db0
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
cmp ecx, dword [edi + 0x54]
jb case.default.0x4c3b8b
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4c3810.8203
cmp ecx, dword [edi + 0x60]
ja 0x4c4317
cmp dword [edi + 0x24], 0
je case.0x4c3810.8203
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x4c025d
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 0x4c4452
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 0x4c4452
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 0x4c4452
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 0x4c4452
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 0x4c4452
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 0x4c4452
movzx ecx, byte [esi]
inc esi
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 4]
mov ebx, dword [ecx*4 + 0x5036a8]
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 + 0x503700]
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 0x4c4474
cmp dl, 0xf
je 0x4c4474
or edx, 0xffffffff
jmp 0x4c4490
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 0x4c6037
mov esi, dword [eax + 0x28]
mov dword [ebp - 0x14], esi
test edx, edx
js 0x4c5c41
xor ecx, ecx
cmp esi, 0xf
sete cl
mov dword [ebp + 0xc], ecx
cmp edx, 0xd
ja case.0x4cb483.15
jmp dword [edx*4 + 0x4ceea8]
mov edi, dword [ebp + 0x1c]
cmp esi, 0xf
je case.0x4cb49d.14
mov ecx, dword [eax + 0x38]
mov esi, 1
cmp ecx, dword [edi + 0x54]
jae 0x4c452d
cmp dword [ebp - 8], 0
lea edx, [ecx + 1]
movzx ebx, byte [ecx]
mov ecx, edx
mov dword [eax + 0x38], edx
je 0x4c4522
cmp ebx, 0xc0
jb 0x4c4522
test bl, 0x20
jne 0x4c4500
lea ecx, [edx + 1]
jmp 0x4c451f
test bl, 0x10
jne 0x4c450a
lea ecx, [edx + 2]
jmp 0x4c451f
test bl, 8
jne 0x4c4514
lea ecx, [edx + 3]
jmp 0x4c451f
lea ecx, [edx + 4]
test bl, 4
je 0x4c451f
lea ecx, [edx + 5]
mov dword [eax + 0x38], ecx
inc esi
cmp esi, dword [ebp + 8]
jbe 0x4c44d8
jmp 0x4c603a
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c454b
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
mov esi, dword [eax + 0x38]
mov ebx, 1
mov edi, dword [ebp + 0x1c]
mov dword [ebp + 8], ebx
jmp 0x4c4575
mov eax, dword [ebp - 4]
cmp esi, dword [edi + 0x54]
jae 0x4c46fb
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c4690
cmp edx, 0xc0
jb 0x4c4690
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c45b4
movzx eax, bl
and edx, 0x1f
jmp 0x4c467f
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x4c45d7
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c467c
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c4606
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 0x4c467c
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 0x4c465d
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 0x4c468d
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 0x4c4699
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c46b4
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x5043e1]
cmp al, 9
je 0x4c46d8
cmp al, 5
je 0x4c46d8
cmp al, 8
je 0x4c46d8
xor eax, eax
jmp 0x4c46dd
mov eax, 1
cmp eax, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
je 0x4cb5b7
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [eax + 0x20]
jbe 0x4c4572
jmp 0x4c603d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c4719
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
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 0x4c48d6
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c4846
cmp edx, 0xc0
jb 0x4c4846
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c4793
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 0x4c4849
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x40], edi
test dl, 0x10
jne 0x4c47b0
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c47d7
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c47ed
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 0x4c4849
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 0x4c48b2
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 0x4c4852
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c486d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
mov eax, dword [eax*4 + 0x520528]
cmp eax, dword [edi + 0x2c]
mov eax, dword [ebp - 4]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c06de
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c4740
mov edi, dword [ebp + 0x1c]
jmp 0x4c603d
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 0x4c47da
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c48f4
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
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 0x4c4aaf
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c4a26
cmp edx, 0xc0
jb 0x4c4a26
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c4973
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 0x4c4a29
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c4990
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c49b7
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c49cd
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 0x4c4a29
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 0x4c4a8b
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 0x4c4a32
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c4a4d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
cmp eax, dword [edi + 0x2c]
mov eax, dword [ebp - 4]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c06de
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c4920
mov edi, dword [ebp + 0x1c]
jmp 0x4c603d
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 0x4c49ba
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c4acd
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
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 0x4c4c7f
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c4bf6
cmp edx, 0xc0
jb 0x4c4bf6
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c4b43
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 0x4c4bf9
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c4b60
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c4b87
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c4b9d
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 0x4c4bf9
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 0x4c4c5b
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 0x4c4c02
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c4c1d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e0]
cmp eax, dword [edi + 0x2c]
mov eax, dword [ebp - 4]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c06de
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c4af0
mov edi, dword [ebp + 0x1c]
jmp 0x4c603d
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 0x4c4b8a
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c4c9d
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
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 0x4c4e7f
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c4dc6
cmp edx, 0xc0
jb 0x4c4dc6
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c4d13
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 0x4c4dc9
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c4d30
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c4d57
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c4d6d
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 0x4c4dc9
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 0x4c4e35
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 0x4c4dd2
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c4ded
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [edi + 0x2c]
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x5043e0]
cmp eax, ecx
je 0x4c4e59
movzx edx, word [edx*4 + 0x5043e8]
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 + 0x5040e8], eax
jne 0x4c4e59
xor eax, eax
jmp 0x4c4e5e
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 0x4c4d5a
mov eax, 1
cmp eax, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
je 0x4c06de
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c4cc0
mov edi, dword [ebp + 0x1c]
jmp 0x4c603d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c4e9d
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
mov esi, dword [eax + 0x38]
mov ebx, 1
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x14], ebx
cmp esi, dword [edi + 0x54]
jae 0x4c5048
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c4fd7
cmp edx, 0xc0
jb 0x4c4fd7
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c4f01
movzx eax, bl
and edx, 0x1f
jmp 0x4c4fc3
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c4f24
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c4fc3
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c4f50
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 0x4c4fc3
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 0x4c4fa4
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 0x4c4fd1
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 0x4c4fe0
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c4ffb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
mov eax, dword [eax*4 + 0x520528]
cmp eax, 1
je 0x4c5025
cmp eax, 3
je 0x4c5025
xor eax, eax
jmp 0x4c502a
mov eax, 1
cmp eax, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
je 0x4cb5b7
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c4ec2
jmp 0x4c603d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c5066
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
mov ebx, 1
mov dword [ebp + 8], ebx
mov edi, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x4c52cc
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c51a8
cmp edx, 0xc0
jb 0x4c51a8
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c50da
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 0x4c51ab
lea edi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c5112
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 0x4c51ab
lea edi, [ecx + 3]
mov dword [ebp - 0x44], edi
lea edi, [ecx + 2]
test dl, 8
jne 0x4c5155
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 0x4c51ab
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 0x4c51c5
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 0x4c51fa
je case.0x4c52c0.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4c52c0.8203
jmp dword [eax*4 + 0x4ceee0]
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 0x4c51ab
cmp edx, 0x2000
ja 0x4c52a0
je case.0x4c52c0.8193
cmp edx, 0x1680
ja 0x4c5298
je case.0x4c52c0.8193
mov eax, edx
sub eax, 0x85
je case.0x4c52c0.8193
sub eax, 0x1b
je case.0x4c52c0.8193
mov eax, edx
test eax, eax
jns 0x4c523d
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c5258
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
cmp dword [eax*4 + 0x520528], 6
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c056b
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [edi + 0x20]
ja 0x4c5f49
jmp 0x4c5085
cmp edx, 0x180e
jmp 0x4c522e
cmp edx, 0x3000
ja case.0x4c52c0.8203
je case.0x4c52c0.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4c52c0.8203
movzx eax, byte [eax + 0x4ceefc]
jmp dword [eax*4 + 0x4ceef4]
cmp esi, 0xf
jmp 0x4c527d
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c52ea
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
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 0x4c54bb
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c5416
cmp edx, 0xc0
jb 0x4c5416
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c5363
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 0x4c5419
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c5380
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c53a7
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c53bd
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 0x4c5419
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 0x4c5471
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 0x4c5422
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c543d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
mov ecx, dword [eax*4 + 0x520528]
cmp ecx, 1
je 0x4c5495
cmp ecx, 3
je 0x4c5495
cmp eax, 0xc
je 0x4c5495
cmp eax, 0x10
je 0x4c5495
xor eax, eax
jmp 0x4c549a
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 0x4c53aa
mov eax, 1
cmp eax, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
je 0x4c06de
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [edi + 0x20]
jbe 0x4c5310
mov edi, dword [ebp + 0x1c]
jmp 0x4c603d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c54d9
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
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 0x4c568a
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c563d
cmp edx, 0xc0
jb 0x4c563d
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c554f
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 0x4c5631
lea edi, [ecx + 2]
mov dword [ebp + 8], edi
test dl, 0x10
jne 0x4c5581
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 0x4c5631
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
test dl, 8
jne 0x4c55b5
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 0x4c562b
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 0x4c5604
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 0x4c5634
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 + 0x503e10]
lea eax, [eax*4 + 0x503e10]
cmp edx, ecx
jb 0x4c565f
lea eax, [eax + 4]
cmp edx, ecx
je 0x4c567f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4c5652
cmp esi, 0xf
jne case.0x4cb49d.14
mov edi, dword [ebp - 4]
inc ebx
mov dword [ebp + 0xc], ebx
mov eax, edi
cmp ebx, dword [edi + 0x20]
ja 0x4c5a06
jmp 0x4c5500
cmp esi, 0xf
je case.0x4cb49d.14
jmp 0x4c5668
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c56a8
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
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 0x4c5855
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4c580a
cmp edx, 0xc0
jb 0x4c580a
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c571c
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 0x4c5801
lea edi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c574e
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 0x4c5801
lea edi, [ecx + 3]
mov dword [ebp - 0x44], edi
lea edi, [ecx + 2]
test dl, 8
jne 0x4c5785
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 0x4c57fb
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 0x4c57d4
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 0x4c5804
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 0x4c5835
cmp edx, 0x40
je 0x4c5835
cmp edx, 0x60
je 0x4c5835
cmp edx, 0xa0
jb 0x4c5829
cmp edx, 0xd7ff
jbe 0x4c5835
cmp edx, 0xe000
jae 0x4c5835
xor ecx, ecx
jmp 0x4c583a
mov ecx, 1
cmp ecx, dword [ebp + 0xc]
je case.0x4cb49d.14
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [eax + 0x20]
jbe 0x4c56d0
jmp 0x4c603a
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c5873
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
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 0x4c5a32
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c59a6
cmp edx, 0xc0
jb 0x4c59a6
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c58f3
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 0x4c59a9
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c5910
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c5937
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c594d
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 0x4c59a9
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 0x4c5a0e
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 0x4c59b2
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c59cd
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x5043e8]
shr eax, 0xb
cmp eax, dword [edi + 0x2c]
mov eax, dword [ebp - 4]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x4c06de
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c58a0
mov edi, dword [ebp + 0x1c]
jmp 0x4c603d
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 0x4c593a
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c5a50
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
mov esi, dword [eax + 0x38]
mov ebx, 1
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x14], ebx
cmp esi, dword [edi + 0x54]
jae 0x4c5c0c
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c5b8c
cmp edx, 0xc0
jb 0x4c5b8c
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c5ab4
movzx eax, bl
and edx, 0x1f
jmp 0x4c5b76
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c5ad7
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c5b76
mov dword [ebp - 0x24], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c5b03
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 0x4c5b76
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 0x4c5b57
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 0x4c5b86
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 0x4c5b98
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4c5bb3
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x5043ea]
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 + 0x503888]
and ecx, eax
mov eax, dword [ebp - 4]
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp + 0xc]
je 0x4cb5b7
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
jbe 0x4c5a75
jmp 0x4c603a
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4c5c2a
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
cmp esi, 0x16
jne 0x4c5e2a
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 0x4c5df2
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4c5d63
cmp edx, 0xc0
jb 0x4c5d63
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c5cb0
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 0x4c5d66
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x44], edi
test dl, 0x10
jne 0x4c5ccd
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c5cf4
mov dword [ebp + 8], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c5d0a
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 0x4c5d66
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 0x4c5dce
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.004d4db0
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 0x4c5db6
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x4c5db6
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x4c5da6
cmp dword [eax + 0x24], 0
je 0x4c5db6
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, dword [edi + 0x20]
jbe 0x4c5c60
mov edi, dword [ebp + 0x1c]
jmp 0x4c603d
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 0x4c5cf7
mov edi, dword [ebp + 0x1c]
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c5e13
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
lea ecx, [esi - 6]
cmp ecx, 0xf
ja case.0x4cb483.15
cmp dword [ebp - 8], 0
je switch.0x004c6e8e
jmp dword [ecx*4 + 0x4cef5c]
mov edi, dword [ebp + 0x1c]
jmp 0x4c603d
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 0x4c025d
cmp dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x30]
je 0x4ce07c
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
mov edi, dword [ebx + 0x28]
test ecx, ecx
js 0x4c881a
xor ecx, ecx
cmp edi, 0xf
sete cl
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x30]
cmp ecx, 0xd
ja case.0x4cb483.15
jmp dword [ecx*4 + 0x4cef9c]
mov ecx, dword [eax + 0x38]
mov ebx, 1
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x14], ebx
cmp ecx, dword [edi + 0x54]
jae 0x4c6b9c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x4c6b72
mov bl, byte [ecx]
lea esi, [ecx + 1]
mov byte [ebp + 0xf], bl
test dl, 0x20
jne 0x4c6a78
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 0x4c6b6c
lea ebx, [ecx + 2]
mov dword [ebp - 0x44], ebx
test dl, 0x10
jne 0x4c6aaa
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 0x4c6b6c
lea edi, [ecx + 3]
mov dword [ebp - 0x24], edi
test dl, 8
jne 0x4c6aea
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 0x4c6b6c
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 0x4c6b3d
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 0x4c6b6c
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 0x4c6b87
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
jne case.0x4cb49d.14
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp + 8]
ja 0x4c603d
jmp 0x4c6a34
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c6bba
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
jmp dword [ecx*4 + 0x4cf0d4]
mov edx, dword [eax + 0x38]
mov esi, 1
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x4c7289
movzx ecx, byte [edx]
mov eax, dword [eax + 0x30]
test byte [ecx + eax], 8
jne 0x4c056b
inc edx
inc esi
mov dword [edi + 0x38], edx
cmp esi, ebx
jbe 0x4c7263
jmp 0x4c6037
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp edx, dword [edi + 0x60]
ja 0x4c72a9
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
cmp edx, esi
jae 0x4c8802
mov edx, dword [ebp + 0x1c]
mov ecx, 1
cmp eax, dword [edx + 0x54]
jae 0x4c7543
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c7525
cmp edx, 0xc0
jb 0x4c7525
test dl, 0x20
jne 0x4c74ff
mov ecx, 2
jmp 0x4c7525
test dl, 0x10
jne 0x4c750b
mov ecx, 3
jmp 0x4c7525
test dl, 8
jne 0x4c7517
mov ecx, 4
jmp 0x4c7525
test dl, 4
mov ecx, 0
setne cl
add ecx, 5
cmp edi, 0xf
je 0x4c8802
mov edx, dword [ebp + 0xc]
add eax, ecx
inc edx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], edx
cmp edx, esi
jb 0x4c74d5
jmp 0x4c8802
mov edi, edx
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4c8805
cmp eax, dword [edi + 0x60]
ja 0x4c7563
cmp dword [edi + 0x24], 0
je 0x4c8805
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
jmp 0x4c8805
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c8805
nop dword [eax]
nop word [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c7701
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 8], edx
je 0x4c768e
cmp edx, 0xc0
jb 0x4c768e
test dl, 0x20
jne 0x4c75d0
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c7686
test dl, 0x10
jne 0x4c75f5
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 0x4c7686
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 0x4c762e
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 0x4c768e
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c7662
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 0x4c768e
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 0x4c7697
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c76b2
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx ecx, word [ecx*2 + 0x50ca98]
lea ecx, [ecx + ecx*2]
mov cl, byte [ecx*4 + 0x5043e1]
cmp cl, 9
je 0x4c76d9
cmp cl, 5
je 0x4c76d9
cmp cl, 8
je 0x4c76d9
xor ecx, ecx
jmp 0x4c76de
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c8805
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 0x4c7590
jmp 0x4c8805
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4c8805
cmp eax, dword [edi + 0x60]
ja 0x4c771f
cmp dword [edi + 0x24], 0
je 0x4c8805
mov dword [edi + 0x1c], esi
cmp edx, 1
ja 0x4c2517
jmp 0x4c8805
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c8805
nop dword [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c7701
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
je 0x4c783a
cmp edx, 0xc0
jb 0x4c783a
test dl, 0x20
jne 0x4c777c
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c7832
test dl, 0x10
jne 0x4c77a1
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 0x4c7832
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 0x4c77da
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 0x4c783a
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c780e
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 0x4c783a
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 0x4c7843
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c785e
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x50ca98]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x5043e1]
mov ecx, dword [ecx*4 + 0x520528]
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c8805
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 0x4c7740
jmp 0x4c8805
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c8805
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c7701
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c799d
cmp edx, 0xc0
jb 0x4c799d
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x4c78ed
and edx, 0x1f
mov esi, 2
jmp 0x4c7995
and ecx, 0x3f
test dl, 0x10
jne 0x4c790b
and edx, 0xf
mov esi, 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c7995
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 0x4c793d
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 0x4c799d
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c7971
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 0x4c799d
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 0x4c79a6
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c79c1
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x50ca98]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x5043e1]
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c8805
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 0x4c78b0
jmp 0x4c8805
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c8805
nop dword [eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c7701
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
je 0x4c7b0e
cmp edx, 0xc0
jb 0x4c7b0e
test dl, 0x20
jne 0x4c7a50
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c7b06
test dl, 0x10
jne 0x4c7a75
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 0x4c7b06
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 0x4c7aae
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 0x4c7b0e
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c7ae2
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 0x4c7b0e
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 0x4c7b17
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c7b32
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x50ca98]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x5043e0]
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c8805
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 0x4c7a10
jmp 0x4c8805
cmp edx, esi
jae 0x4c8802
nop word [eax + eax]
mov edi, dword [ebp + 0x1c]
mov dword [ebp + 8], 1
cmp eax, dword [edi + 0x54]
jae 0x4c7d1b
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
je 0x4c7c84
cmp edx, 0xc0
jb 0x4c7c84
test dl, 0x20
jne 0x4c7bc7
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov dword [ebp + 8], 2
jmp 0x4c7c7c
test dl, 0x10
jne 0x4c7bee
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 0x4c7c7c
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 0x4c7c26
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 0x4c7c84
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c7c59
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 0x4c7c84
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 0x4c7c8d
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c7ca8
dec edx
or edx, 0xffffff80
inc edx
mov edi, dword [ebx + 0x2c]
add ecx, edx
movzx ecx, word [ecx*2 + 0x50ca98]
lea edx, [ecx + ecx*2]
movzx ecx, byte [edx*4 + 0x5043e0]
cmp ecx, edi
je 0x4c7cf2
movzx esi, word [edx*4 + 0x5043e8]
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 + 0x5040e8], edx
jne 0x4c7cf2
xor ecx, ecx
jmp 0x4c7cf7
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c8802
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 0x4c7b80
jmp 0x4c8802
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4c8805
cmp eax, dword [edi + 0x60]
ja 0x4c7d39
cmp dword [edi + 0x24], 0
je 0x4c8805
mov dword [edi + 0x1c], 1
jmp 0x4c7722
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c8805
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c7701
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 8], edx
je 0x4c7e4e
cmp edx, 0xc0
jb 0x4c7e4e
test dl, 0x20
jne 0x4c7d90
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c7e46
test dl, 0x10
jne 0x4c7db5
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 0x4c7e46
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 0x4c7dee
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 0x4c7e4e
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c7e22
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 0x4c7e4e
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 0x4c7e57
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c7e72
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx ecx, word [ecx*2 + 0x50ca98]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x5043e1]
mov ecx, dword [ecx*4 + 0x520528]
cmp ecx, 1
je 0x4c7e9c
cmp ecx, 3
je 0x4c7e9c
xor ecx, ecx
jmp 0x4c7ea1
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c8805
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 0x4c7d50
jmp 0x4c8805
cmp edx, esi
jae 0x4c8802
nop dword [eax]
mov ecx, dword [ebp + 0x1c]
mov esi, 1
cmp eax, dword [ecx + 0x54]
jae 0x4c80cc
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 8], edx
je 0x4c7fd1
cmp edx, 0xc0
jb 0x4c7fd1
test dl, 0x20
jne 0x4c7f13
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c7fc9
test dl, 0x10
jne 0x4c7f38
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 0x4c7fc9
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 0x4c7f71
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 0x4c7fd1
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c7fa5
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 0x4c7fd1
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 0x4c7feb
je case.0x4c80b7.8193
lea ecx, [edx - 9]
cmp ecx, 4
ja case.0x4c80b7.8203
jmp dword [ecx*4 + 0x4cf2a8]
cmp edx, 0x2000
ja 0x4c8097
je case.0x4c80b7.8193
cmp edx, 0x1680
ja 0x4c808f
je case.0x4c80b7.8193
mov ecx, edx
sub ecx, 0x85
je case.0x4c80b7.8193
sub ecx, 0x1b
je case.0x4c80b7.8193
mov ecx, edx
test ecx, ecx
jns 0x4c802f
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c804a
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x50ca98]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x5043e1]
cmp dword [ecx*4 + 0x520528], 6
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c8802
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 0x4c7ed0
jmp 0x4c8802
cmp edx, 0x180e
jmp 0x4c8020
cmp edx, 0x3000
ja case.0x4c80b7.8203
je case.0x4c80b7.8193
lea ecx, [edx - 0x2001]
cmp ecx, 0x5e
ja case.0x4c80b7.8203
movzx ecx, byte [ecx + 0x4cf2c4]
jmp dword [ecx*4 + 0x4cf2bc]
cmp edi, 0xf
je 0x4c8802
mov eax, dword [ebx + 0x38]
jmp 0x4c8075
mov edi, ecx
jmp 0x4c7701
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c8805
nop
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c7701
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 8], edx
je 0x4c81de
cmp edx, 0xc0
jb 0x4c81de
test dl, 0x20
jne 0x4c8120
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c81d6
test dl, 0x10
jne 0x4c8145
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 0x4c81d6
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 0x4c817e
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 0x4c81de
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c81b2
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 0x4c81de
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 0x4c81e7
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c8202
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx ecx, word [ecx*2 + 0x50ca98]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x5043e1]
mov edx, dword [ecx*4 + 0x520528]
cmp edx, 1
je 0x4c8236
cmp edx, 3
je 0x4c8236
cmp ecx, 0xc
je 0x4c8236
cmp ecx, 0x10
je 0x4c8236
xor ecx, ecx
jmp 0x4c823b
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c8805
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 0x4c80e0
jmp 0x4c8805
cmp edx, esi
jae 0x4c8802
nop word [eax + eax]
mov ecx, dword [ebp + 0x1c]
mov esi, 1
cmp eax, dword [ecx + 0x54]
jae 0x4c80cc
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c8364
cmp edx, 0xc0
jb 0x4c8364
test dl, 0x20
jne 0x4c82b0
movzx eax, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c835c
movzx ecx, byte [eax + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4c82d2
movzx eax, byte [eax + 2]
and edx, 0xf
shl edx, 6
mov esi, 3
or edx, ecx
jmp 0x4c835c
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 0x4c8304
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 0x4c8364
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c8338
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 0x4c8364
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 + 0x503e10]
lea eax, [eax*4 + 0x503e10]
cmp edx, ecx
jb 0x4c838d
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4c83b1
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4c8380
cmp edi, 0xf
jne 0x4c8802
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 0x4c8270
jmp 0x4c8802
cmp edi, 0xf
je 0x4c8802
jmp 0x4c8396
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c8805
nop word [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c7701
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c84bd
cmp edx, 0xc0
jb 0x4c84bd
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x4c840d
and edx, 0x1f
mov esi, 2
jmp 0x4c84b5
and ecx, 0x3f
test dl, 0x10
jne 0x4c842b
and edx, 0xf
mov esi, 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c84b5
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 0x4c845d
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 0x4c84bd
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c8491
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 0x4c84bd
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 0x4c84e8
cmp edx, 0x40
je 0x4c84e8
cmp edx, 0x60
je 0x4c84e8
cmp edx, 0xa0
jb 0x4c84dc
cmp edx, 0xd7ff
jbe 0x4c84e8
cmp edx, 0xe000
jae 0x4c84e8
xor ecx, ecx
jmp 0x4c84ed
mov ecx, 1
cmp ecx, dword [ebp - 0x14]
je 0x4c8805
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 0x4c83d0
jmp 0x4c8805
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c8805
nop dword [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c7701
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
je 0x4c861e
cmp edx, 0xc0
jb 0x4c861e
test dl, 0x20
jne 0x4c8560
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c8616
test dl, 0x10
jne 0x4c8585
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 0x4c8616
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 0x4c85be
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 0x4c861e
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c85f2
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 0x4c861e
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 0x4c8627
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c8642
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x50ca98]
lea ecx, [ecx + ecx*2]
movzx ecx, word [ecx*4 + 0x5043e8]
shr ecx, 0xb
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x14]
je 0x4c8805
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 0x4c8520
jmp 0x4c8805
cmp edx, esi
jae 0x4c8802
nop dword [eax]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x24], 1
cmp eax, dword [edi + 0x54]
jae 0x4c7d1b
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x4c8783
cmp edx, 0xc0
jb 0x4c8783
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x4c86d4
and edx, 0x1f
mov dword [ebp - 0x24], 2
jmp 0x4c877b
and ecx, 0x3f
test dl, 0x10
jne 0x4c86f4
and edx, 0xf
mov dword [ebp - 0x24], 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x4c877b
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 0x4c8725
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 0x4c8783
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c8758
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 0x4c8783
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 0x4c878f
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x508698]
shl ecx, 7
and edx, 0x8000007f
jns 0x4c87aa
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx edx, word [ecx*2 + 0x50ca98]
lea edx, [edx + edx*2]
movzx esi, word [edx*4 + 0x5043ea]
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 + 0x503888]
and ecx, edx
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp - 0x14]
je 0x4c8802
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 0x4c8690
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c0260
mov ecx, dword [ebx + 0x38]
jmp 0x4cdff7
cmp edi, 0x16
jne 0x4c89ce
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c89bc
mov esi, dword [edi + 0x54]
mov ecx, dword [ebx + 0x38]
cmp ecx, esi
jae 0x4c8996
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [ebx + 0x38], ecx
je 0x4c893d
cmp edx, 0xc0
jb 0x4c893d
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4c8870
movzx eax, al
and edx, 0x1f
jmp 0x4c8932
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4c8890
movzx ecx, al
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4c892f
mov dword [ebp + 8], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4c88bc
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 0x4c892f
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 0x4c8910
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 0x4c893d
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.004d4db0
mov ecx, eax
add esp, 0x18
mov dword [ebx + 0x38], ecx
mov esi, dword [edi + 0x54]
cmp ecx, esi
jb 0x4c8984
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c8984
cmp ecx, dword [edi + 0x60]
ja 0x4c8974
cmp dword [edi + 0x24], 0
je 0x4c8984
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebx + 0x24]
jb 0x4c8831
jmp 0x4c89bc
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4c89bc
cmp ecx, dword [edi + 0x60]
ja 0x4c89ac
cmp dword [edi + 0x24], 0
je 0x4c89bc
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c0260
jmp 0x4cdf4f
lea ecx, [edi - 6]
cmp ecx, 0xf
ja case.0x4cb483.15
cmp dword [ebp - 8], 0
je switch.0x004c9803
jmp dword [ecx*4 + 0x4cf324]
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4c97ee
cmp eax, dword [edi + 0x60]
ja 0x4c8f7b
cmp dword [edi + 0x24], 0
je 0x4c97ee
mov dword [edi + 0x1c], esi
cmp edx, 1
ja 0x4c2517
jmp 0x4c97ee
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c97ee
nop dword [eax]
nop dword [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x54]
jae 0x4c8f5d
movzx edx, byte [eax]
mov dword [ebp - 0x44], edx
cmp edx, 0xc0
jb 0x4c91e4
test dl, 0x20
jne 0x4c9126
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x4c91dc
test dl, 0x10
jne 0x4c914b
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 0x4c91dc
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 0x4c9184
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 0x4c91e4
movzx edi, byte [eax + 4]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
test dl, 4
jne 0x4c91b8
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 0x4c91e4
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 0x4c91f9
mov ecx, dword [edi + 0x30]
test byte [edx + ecx], 8
jne 0x4c97ee
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 0x4c90f0
jmp 0x4c97ee
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c0260
mov ecx, dword [ebx + 0x38]
jmp 0x4cdfbc
jmp dword [ecx*4 + 0x4cf3dc]
mov edi, dword [ebp + 0x1c]
cmp edx, esi
jae 0x4c9bdd
cmp eax, dword [edi + 0x54]
jae 0x4c9bb7
movzx edx, byte [eax]
mov ecx, dword [edi + 0x30]
test byte [edx + ecx], 8
jne 0x4c9bdd
mov ecx, dword [ebp + 0xc]
inc eax
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 0xc], ecx
cmp ecx, esi
jb 0x4c9a71
jmp 0x4c9bdd
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4c9bdd
cmp eax, dword [edi + 0x60]
ja 0x4c9bcd
cmp dword [edi + 0x24], 0
je 0x4c9bdd
cmp edx, 1
mov dword [edi + 0x1c], 1
ja 0x4c2517
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x4c0260
mov ecx, dword [ebx + 0x38]
jmp 0x4cdc1c
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 0x4c9c60
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 0x4c9c53
cmp dword [ebx + ecx*4 + 0x58], 0xffffffff
jne 0x4c9c60
mov eax, dword [ebp + 0x1c]
movzx eax, word [eax + 0x42]
add edx, eax
test edi, edi
jg 0x4c9c30
mov esi, dword [ebx]
jmp 0x4c9c8e
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.0x4c9ca9
movzx eax, byte [eax + 0x4cf52c]
jmp dword [eax*4 + 0x4cf524]
mov ecx, dword [edx*4 + 0x503674]
lea eax, [esi + 1]
mov edx, dword [edx*4 + 0x5036a0]
mov dword [ebx], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], edx
mov esi, dword [eax*4 + 0x5036cc]
mov dword [ebp - 0xc], esi
jmp 0x4c9d16
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 + 0x5036cc]
mov dword [ebp - 0xc], eax
jne 0x4c9d11
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 0x4c9d36
mov eax, dword [ebx + edi*4 + 0x58]
cmp eax, 0xffffffff
je 0x4c9d36
cmp eax, dword [ebx + edi*4 + 0x5c]
je 0x4c025a
mov eax, dword [ebp + 0x1c]
jmp 0x4c9d51
test ecx, ecx
je 0x4c025a
mov eax, dword [ebp + 0x1c]
test dword [eax + 0x80], 0x200
jne 0x4c0251
mov esi, 1
cmp ecx, esi
jb 0x4c9d91
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.004cf9b0
add esp, 0x14
test eax, eax
jne 0x4c9df7
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 0x4c9d60
mov edx, dword [ebx + 0x24]
cmp ecx, edx
je 0x4c025a
cmp dword [ebp - 0xc], 0
je 0x4ce12d
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 0x4cb06f
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 0x1c]
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.004cf9b0
add esp, 0x14
test eax, eax
jne 0x4c9e45
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 0x4c9dc4
jmp 0x4c9e6d
mov edi, dword [ebp + 0x1c]
jle 0x4c9e04
mov ecx, dword [edi + 0x54]
mov dword [ebx + 0x38], ecx
jmp 0x4c9e07
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x4cb49d.14
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c9e2e
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
jle 0x4c9e6d
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4c9e6d
mov eax, dword [edx + 0x54]
cmp eax, dword [edx + 0x60]
jbe 0x4c9e6d
mov dword [edx + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
test esi, esi
jne 0x4cb06f
mov dword [ebx + 0x24], edi
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x16
jmp 0x4ce6f3
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.004cf9b0
add esp, 0x14
test eax, eax
je 0x4c9ee9
jle 0x4c9ea8
mov ecx, dword [edi + 0x54]
mov dword [ebx + 0x38], ecx
jmp 0x4c9eab
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x4cb49d.14
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4c9ed2
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
mov eax, dword [ebp - 0x28]
add dword [ebx + 0x38], eax
jmp 0x4c025d
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 0x4c9f00
lea eax, [esi + 3]
mov dword [edi], eax
mov edi, dword [ebp + 0x1c]
jmp 0x4c0260
cmp dword [edi + 0x20], 0
mov ebx, dword [ebp - 4]
jne 0x4c9f36
cmp dword [ebx + 0x18], 0
jne 0x4caca0
xor ecx, ecx
jmp 0x4ce4b2
lea eax, [ebp - 0x28]
push eax
push edi
mov edi, dword [ebp - 4]
push edi
call fcn.004c0040
mov esi, eax
add esp, 0xc
test esi, esi
jg 0x4c056b
js 0x4c056d
mov eax, dword [ebp - 0x28]
add dword [edi], eax
jmp 0x4c025a
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 0x4c9f87
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 0x4c9f98
cmp cl, 0x77
jne 0x4c9fc7
mov edi, dword [ebp + 0x1c]
lea eax, [ebp - 0x28]
push eax
push edi
push ebx
call fcn.004c0040
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x4cb49d.14
js 0x4c0570
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.0x4c9fdf.151
movzx eax, byte [eax + 0x4cf550]
jmp dword [eax*4 + 0x4cf534]
mov edx, dword [ebx + 0x48]
cmp edx, 0xffffffff
je case.0x4c9fdf.149
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je case.0x4c9fdf.150
cmp ecx, edx
je case.0x4c9fdf.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 0x4c025a
mov eax, 0x20090
mov byte [ebx + 0x30], 0x23
mov dword [ebp - 0x18], eax
mov esi, edx
jmp 0x4ce6f3
cmp dword [ebx + 0x48], 0xffffffff
je case.0x4c9fdf.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.0x4c9fdf.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 0x4ca0a8
add edx, edi
test esi, esi
jg 0x4ca070
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.0x4c9fdf.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 + 0x5203a8]
jmp 0x4ca014
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.0x4c9fdf.149
cmp dword [ebx + ecx*4 + 0x58], 0xffffffff
je case.0x4c9fdf.149
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x5203a8]
jmp 0x4ca014
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.0x4c9fdf.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 0x4ca164
cmp dword [ebx + ecx*4 + 0x58], 0xffffffff
jne case.0x4c9fdf.150
add edx, edi
test esi, esi
jg 0x4ca140
jmp case.0x4c9fdf.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 0x4ca1b7
test edx, edx
je 0x4ca1b2
mov ecx, dword [edi + 0x38]
nop
dec edx
cmp ecx, dword [ebx + 0x50]
jbe 0x4ca1c3
dec ecx
mov dword [edi + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ca1ae
dec ecx
mov dword [edi + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4ca1a2
test edx, edx
jne 0x4ca190
mov ecx, dword [edi + 0x38]
jmp 0x4ca1d1
mov ecx, dword [edi + 0x38]
mov eax, ecx
sub eax, dword [ebx + 0x4c]
cmp edx, eax
jle 0x4ca1cc
xor esi, esi
mov edi, ebx
jmp 0x4c0570
sub ecx, edx
mov dword [edi + 0x38], ecx
cmp ecx, dword [ebx + 0x60]
jae 0x4ca1d9
mov dword [ebx + 0x60], ecx
add dword [edi], 3
jmp 0x4c025a
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 0x4ca25e
mov edi, dword [ebp + 0x1c]
xor edx, edx
cmp edx, dword [ebx + 0x24]
jae 0x4ce1c7
cmp ecx, dword [edi + 0x4c]
je 0x4ca23f
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ca23c
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4ca230
inc edx
jmp 0x4ca216
cmp edx, dword [ebx + 0x20]
jb case.0x4cb49d.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 0x4ce6f3
mov edx, dword [ebp + 0x1c]
mov eax, ecx
sub eax, dword [edx + 0x4c]
cmp eax, 0xffff
jle 0x4ca274
mov edx, 0xffff
jmp 0x4ca27b
xor edx, edx
test eax, eax
cmovg edx, eax
cmp edi, edx
ja 0x4c056b
mov eax, dword [ebp + 0xc]
cmp eax, edx
jbe 0x4ca28f
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 0x4ce6f3
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 0x4ca2b0
mov edi, dword [ebp + 0x1c]
jmp 0x4c0260
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 0x4ca319
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 0x4ca302
mov al, byte [ebx]
mov dword [ebp - 0x1c], 0
cmp al, 0x87
je 0x4ca38e
cmp al, 0x8b
je 0x4ca38e
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 0x4ca387
mov eax, dword [ebx + 0x54]
shl eax, 2
push eax
lea eax, [ebx + 0x58]
push eax
lea eax, [edi + 0x58]
push eax
call fcn.004dd8a5
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 0x4c056d
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx]
jmp 0x4ca396
mov ebx, dword [ebp - 4]
xor edi, edi
mov ecx, dword [ebp + 0xc]
movzx eax, al
add eax, 0xffffff81
cmp eax, 0x10
ja case.0x4ca3a5.136
jmp dword [eax*4 + 0x4cf564]
cmp dword [ebx + 0x48], 0
jne case.0x4ca3a5.136
cmp byte [esi + 3], 0
jne case.0x4ca3a5.136
mov eax, dword [ebx + 0x50]
cmp eax, 0xffffffff
je case.0x4cb483.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.004dd8a5
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 0x4c025a
cmp byte [edx + 3], 0x7e
jne case.0x4ca3a5.131
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x4c056b
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x38]
cmp eax, dword [edx + 0x64]
jbe 0x4ca437
mov dword [edx + 0x64], eax
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x38], eax
jmp case.0x4ca3a5.136
cmp byte [edx + 3], 0x7e
jne case.0x4ca3a5.127
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x4c056b
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x64]
jbe 0x4ca462
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.0x4ca3a5.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 0x4ca488
jmp case.0x4ca3a5.136
cmp byte [edx + 3], 0x7e
jne case.0x4ca3a5.128
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
je case.0x4ca3a5.128
jmp 0x4c056b
push dword [ebp - 8]
push dword [ebx + 0x38]
push dword [edi + 0x38]
call fcn.004d5140
add esp, 0xc
test eax, eax
jne case.0x4ca3a5.136
jmp 0x4c056b
movzx edx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl edx, 8
or edx, eax
cmp dword [ebx + 0x48], edx
jne 0x4ca52a
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.004dd8a5
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 0x4c025a
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.0x4ca3a5.136
mov dword [ebx + 0x54], esi
mov esi, dword [ebx]
cmp byte [esi], 0x7c
jne 0x4ca576
push dword [ebp - 0x3c]
lea eax, [ebx + 0x38]
push eax
lea eax, [edi + 0x38]
push eax
call fcn.004dd8a5
add esp, 0xc
mov esi, 0xfffffc1a
jmp 0x4c056d
mov cl, byte [ebx + 0x31]
cmp cl, 0x79
je 0x4ca592
test edi, edi
je 0x4ce0f4
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x4ce0f4
add dword [ebx], 3
jmp 0x4c025a
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x4c]
jne case.0x4cad86.999
test byte [ecx + 0x7c], 1
jne case.0x4cad86.999
lea eax, [esi + 1]
mov dword [edi], eax
mov edi, ecx
jmp 0x4c0260
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x4c]
je 0x4ca5ae
xor esi, esi
mov edi, ecx
jmp 0x4c0570
test byte [edi + 0x7c], 2
jne case.0x4cb49d.14
test byte [edi + 0x80], 0x10
je case.0x4c0282.23
mov edi, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x38]
cmp eax, dword [edx + 0x58]
jae 0x4ca5fb
xor esi, esi
mov edi, edx
jmp 0x4c0570
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4ca616
mov dword [edx + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
inc dword [edi]
mov edi, edx
jmp 0x4c025d
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x1c]
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x54]
cmp ecx, edx
jae 0x4ca6ec
mov eax, dword [ebx + 0x8c]
add ebx, 0x90
mov dword [ebp + 0xc], ebx
test eax, eax
je 0x4ca666
push dword [ebp - 8]
push ebx
push edx
push eax
push ecx
call fcn.004d2bc0
add esp, 0x14
test eax, eax
je 0x4ca69c
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebx]
mov ecx, dword [edi + 0x38]
mov edx, dword [eax + 0x54]
jmp 0x4ca696
mov esi, dword [ebx]
mov eax, edx
sub eax, esi
cmp ecx, eax
ja 0x4ca69c
mov ebx, dword [ebp + 0x1c]
mov al, byte [ecx]
cmp al, byte [ebx + 0x94]
mov ebx, dword [ebp + 0xc]
jne 0x4ca69c
cmp esi, 1
je 0x4ca696
mov ebx, dword [ebp + 0x1c]
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x95]
mov ebx, dword [ebp + 0xc]
jne 0x4ca69c
sub edx, esi
cmp ecx, edx
je 0x4ca6e9
mov eax, dword [ebp + 0x1c]
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x4c042d
mov ecx, dword [edi + 0x38]
mov edi, dword [ebp + 0x1c]
lea eax, [ecx + 1]
cmp eax, dword [edi + 0x54]
jb case.0x4cb49d.14
cmp dword [edi + 0x8c], 0
jne case.0x4cb49d.14
cmp dword [ebx], 2
jne case.0x4cb49d.14
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne case.0x4cb49d.14
jmp 0x4c3a2d
mov ebx, dword [ebp + 0x1c]
movzx eax, word [ebx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4ca707
mov dword [ebx + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
inc dword [edi]
jmp 0x4c025a
test byte [edi + 0x7c], 1
mov ebx, dword [ebp + 0x1c]
mov edi, dword [ebp - 4]
je 0x4ca72b
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x4c]
jne 0x4ca72b
xor esi, esi
mov edi, ebx
jmp 0x4c0570
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x4c]
cmp ecx, edx
je 0x4ca707
cmp ecx, dword [ebx + 0x54]
jne 0x4ca74a
test dword [ebx + 0x80], 0x200000
je 0x4c056b
mov esi, dword [ebx + 0x8c]
test esi, esi
je 0x4ca780
cmp ecx, edx
jbe 0x4c056b
push dword [ebp - 8]
lea eax, [ebx + 0x90]
push eax
push edx
push esi
push ecx
call fcn.004d2d30
add esp, 0x14
test eax, eax
je 0x4c056b
inc dword [edi]
jmp 0x4c025a
mov esi, dword [ebx + 0x90]
lea eax, [esi + edx]
cmp ecx, eax
jb 0x4c056b
sub ecx, esi
mov al, byte [ecx]
cmp al, byte [ebx + 0x94]
jne 0x4c056b
cmp esi, 1
je 0x4ca707
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x95]
je 0x4ca707
jmp 0x4c056b
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x1c]
mov ecx, dword [edi + 0x38]
mov eax, dword [ebx + 0x54]
cmp ecx, eax
jae 0x4ca876
mov edx, dword [ebx + 0x8c]
lea esi, [ebx + 0x90]
test edx, edx
je 0x4ca7fe
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.004d2bc0
add esp, 0x14
test eax, eax
je 0x4ca828
inc dword [edi]
mov edi, ebx
jmp 0x4c025d
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x4ca828
mov al, byte [ecx]
cmp al, byte [ebx + 0x94]
jne 0x4ca828
cmp edx, 1
je 0x4ca8ab
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x95]
je 0x4ca8ab
movzx eax, word [ebx + 0x3c]
mov edx, eax
test ax, ax
je 0x4ca86d
mov ecx, dword [edi + 0x38]
mov edi, ebx
lea eax, [ecx + 1]
cmp eax, dword [edi + 0x54]
jb case.0x4cb49d.14
cmp dword [edi + 0x8c], 0
jne case.0x4cb49d.14
cmp dword [esi], 2
jne case.0x4cb49d.14
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne case.0x4cb49d.14
jmp 0x4c3a2d
mov edi, ebx
xor esi, esi
jmp 0x4c0570
test byte [ebx + 0x7c], 2
je 0x4ca885
xor esi, esi
mov edi, ebx
jmp 0x4c0570
movzx eax, word [ebx + 0x3c]
mov edx, eax
test ax, ax
je 0x4ca8ab
cmp ecx, dword [ebx + 0x60]
ja 0x4ca89b
cmp dword [ebx + 0x24], 0
je 0x4ca8ab
mov dword [ebx + 0x1c], 1
cmp edx, 1
ja 0x4c2517
inc dword [edi]
mov edi, ebx
jmp 0x4c025d
mov eax, dword [edi + 0x4c]
add eax, dword [edi + 0x34]
mov edi, dword [ebp - 4]
cmp dword [edi + 0x38], eax
je 0x4c05c6
jmp 0x4c056b
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 0x4c0260
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov esi, dword [edi + 0x38]
cmp esi, dword [eax + 0x50]
jne 0x4ca902
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 1
jmp 0x4caaa4
mov cl, byte [esi - 1]
dec esi
test edx, edx
je 0x4ca9f3
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4ca922
mov cl, byte [esi - 1]
dec esi
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x4ca916
movzx edx, cl
cmp edx, 0xc0
jb 0x4ca9f6
mov al, byte [esi + 1]
test dl, 0x20
jne 0x4ca94c
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x4ca9f6
mov bl, byte [esi + 2]
test dl, 0x10
jne 0x4ca972
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 0x4ca9f6
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 0x4ca9a1
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
jmp 0x4ca9f6
movzx ebx, byte [esi + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp + 8]
test dl, 4
jne 0x4ca9cd
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 0x4ca9f6
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 0x4ca9f6
movzx edx, cl
mov ecx, dword [ebp + 0x1c]
cmp esi, dword [ecx + 0x60]
jae 0x4caa01
mov dword [ecx + 0x60], esi
mov al, byte [edi + 0x31]
cmp al, 0xaa
je 0x4caa34
cmp al, 0xa9
je 0x4caa34
cmp edx, 0xff
ja 0x4caa21
mov eax, dword [ecx + 0x30]
test byte [edx + eax], 0x10
jne 0x4caa98
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 1
jmp 0x4caaa4
mov eax, edx
test eax, eax
jns 0x4caa3d
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4caa58
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
mov ecx, dword [eax*4 + 0x520528]
cmp ecx, 1
je 0x4caa98
cmp ecx, 3
je 0x4caa98
cmp eax, 0xc
je 0x4caa98
cmp eax, 0x10
je 0x4caa98
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 1
jmp 0x4caaa4
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 0x4caade
movzx eax, word [esi + 0x3c]
mov ecx, eax
test ax, ax
je 0x4caad7
cmp ebx, dword [esi + 0x60]
ja 0x4caac7
cmp dword [esi + 0x24], 0
je 0x4caad7
mov dword [esi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor edx, edx
jmp 0x4cac65
cmp dword [ebp - 8], 0
lea eax, [ebx + 1]
mov esi, eax
je 0x4cabd6
cmp esi, ecx
jae 0x4cab01
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4caafe
inc esi
cmp esi, ecx
jb 0x4caaf1
lea eax, [ebx + 1]
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x4cabd9
mov al, byte [eax]
test dl, 0x20
jne 0x4cab2a
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x4cabd9
test dl, 0x10
jne 0x4cab4e
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 0x4cabd9
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 0x4cab7e
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
jmp 0x4cabd9
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 0x4cabad
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 0x4cabd9
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 0x4cabd9
movzx edx, byte [ebx]
mov ecx, dword [ebp + 0x1c]
cmp esi, dword [ecx + 0x64]
jbe 0x4cabe4
mov dword [ecx + 0x64], esi
mov al, byte [edi + 0x31]
cmp al, 0xaa
je 0x4cac08
cmp al, 0xa9
je 0x4cac08
cmp edx, 0xff
ja 0x4caad7
mov eax, dword [ecx + 0x30]
test byte [edx + eax], 0x10
jne 0x4cac60
xor edx, edx
jmp 0x4cac65
mov eax, edx
test eax, eax
jns 0x4cac11
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cac2c
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
mov ecx, dword [eax*4 + 0x520528]
cmp ecx, 1
je 0x4cac60
cmp ecx, 3
je 0x4cac60
cmp eax, 0xc
je 0x4cac60
cmp eax, 0x10
je 0x4cac60
xor edx, edx
jmp 0x4cac65
mov edx, 1
mov eax, dword [edi]
mov cl, byte [eax]
inc eax
mov dword [edi], eax
cmp cl, 5
je 0x4cac7c
cmp byte [edi + 0x31], 0xaa
je 0x4cac7c
xor edx, dword [ebp + 0xc]
jmp 0x4cac7f
xor edx, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
test edx, edx
je 0x4c025d
xor esi, esi
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
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 + 0x5203a8]
add esi, ecx
cmp byte [edx], 0x78
je 0x4ce114
mov dword [ebx], esi
jmp 0x4c025d
cmp esi, 0xfffffc1f
jne 0x4cacff
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 0x4c0570
cmp byte [edx], 0x78
je 0x4cad09
cmp byte [ecx], 0x78
jmp 0x4cad03
test esi, esi
mov edi, ecx
jne 0x4c0570
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 0x4ce4b5
xor esi, esi
jmp 0x4c0570
cmp esi, 0xfffffc19
je 0x4cda72
test esi, esi
je 0x4cad48
cmp esi, 0xfffffc1f
jne case.0x4cad86.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 0x4ce5a7
xor esi, esi
mov edi, ecx
jmp 0x4c0570
test esi, esi
jg 0x4cad8d
je case.0x4cad86.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x4cad86.998
jmp dword [eax*4 + 0x4cf5a8]
mov eax, esi
mov edi, ecx
sub eax, 1
mov eax, dword [ebp - 4]
jne 0x4c0573
xor esi, esi
jmp 0x4c0570
test esi, esi
jg 0x4cadc4
je case.0x4cadbd.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x4cad86.998
jmp dword [eax*4 + 0x4cf5c4]
mov eax, esi
sub eax, 1
je 0x4cdb28
mov edi, ecx
jmp 0x4c0570
test esi, esi
je 0x4cdb84
mov edi, ecx
jmp 0x4c0570
test esi, esi
je 0x4ca592
mov edi, ecx
jmp 0x4c0570
cmp esi, 0xfffffc1a
jne 0x4cae29
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x4ce11d
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 0x4cae11
jmp 0x4cae82
cmp esi, 0xfffffc1f
jne 0x4cae5e
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 0x4c0570
cmp byte [edx], 0x78
je 0x4cae66
cmp byte [ecx], 0x78
jne 0x4c0570
jmp 0x4cae66
test esi, esi
jne case.0x4cad86.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 0x4ce469
cmp dword [ebx + 0x24], 0
jne 0x4cdbb7
cmp dword [ebx + 0x28], 0
jne 0x4cdbb7
jmp 0x4c056b
test esi, esi
je 0x4cdb9c
mov edi, ecx
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
inc dword [ebx]
jmp 0x4c025d
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 0x4caf0e
mov eax, dword [ebx + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x78], eax
jne 0x4caf0e
cmp esi, 0xfffffc1f
jne case.0x4cb49d.14
cmp dword [edi + 0x70], ecx
jae case.0x4cb49d.14
cmp byte [edx], 0x78
je 0x4caf16
cmp byte [ecx], 0x78
je 0x4caf16
xor esi, esi
jmp 0x4c0570
test esi, esi
jne 0x4c0570
mov dword [ebx + 4], ecx
cmp byte [ecx], 0x78
je 0x4ce54b
xor esi, esi
jmp 0x4c0570
mov edi, ecx
cmp esi, 0xfffffc1e
jne 0x4c0570
mov eax, dword [ebx]
push dword [edi + 0x74]
add eax, 2
push eax
call fcn.004d0f60
add esp, 8
test eax, eax
jne 0x4c0570
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x74], eax
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov eax, dword [ebx + 0x48]
mov esi, 0xfffffc1c
mov dword [edi + 0x78], eax
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x78], eax
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
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 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov eax, dword [ebx]
mov esi, 0xfffffc1f
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x78], eax
jmp 0x4c0570
test esi, esi
jne case.0x4cad86.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae 0x4c056b
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.004cf9b0
add esp, 0x14
test eax, eax
je 0x4ce127
jle 0x4cb01e
mov ecx, dword [esi + 0x54]
mov dword [edi + 0x38], ecx
jmp 0x4cb021
mov ecx, dword [edi + 0x38]
mov edi, esi
cmp ecx, dword [edi + 0x54]
jb case.0x4cb49d.14
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cb04a
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
test esi, esi
jne case.0x4cad86.998
mov eax, dword [ebx + 0xc]
sub dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb 0x4c056b
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x15
jmp 0x4ce6f3
test esi, esi
jne case.0x4cad86.998
mov esi, dword [ebx + 4]
cmp dword [ebx + 0x38], esi
je 0x4c056b
mov dword [ebx + 0x38], esi
dec dword [ebx + 0x24]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x4cb0cb
lea eax, [ebp - 0x54]
push eax
push ecx
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.004cf9b0
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 0x4cb0a8
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x16
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4cb12f
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp edx, dword [edi + 0x60]
ja 0x4cb118
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
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.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x17
jmp 0x4ce6f3
test esi, esi
jne case.0x4cad86.998
dec dword [ebx + 0x38]
jmp 0x4c26e3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cb1ca
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cb1b3
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x4cb1db
cmp dword [ebx + 0x2c], eax
jne case.0x4cb49d.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 0x4ce6f3
dec dword [ebx + 0x38]
test esi, esi
je 0x4c1574
mov edi, ecx
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x4cb25a
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4cb243
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
jne case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1b
jmp 0x4ce6f6
dec dword [ebx + 0x38]
test esi, esi
je 0x4c1658
mov edi, ecx
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cb2e5
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cb2ce
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je case.0x4cb49d.14
cmp dword [ebx + 0x2c], eax
je case.0x4cb49d.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 0x4ce6f3
mov eax, dword [ebp - 4]
test esi, esi
je 0x4cdbc1
mov edi, ecx
jmp 0x4c0573
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x4cb379
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp esi, dword [edi + 0x60]
ja 0x4cb362
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x4ce6f3
mov eax, dword [ebp - 4]
test esi, esi
je 0x4cdbdb
mov edi, ecx
jmp 0x4c0573
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov edx, dword [ebx + 0x38]
mov eax, dword [edi + 0x54]
cmp edx, eax
jb 0x4cb406
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp edx, dword [edi + 0x60]
ja 0x4cb3ef
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
mov esi, dword [ebx + 0x28]
cmp esi, 0xc
jne 0x4cb470
mov ecx, dword [ebp + 0x1c]
mov edi, dword [edi + 0x8c]
add ecx, 0x90
test edi, edi
je 0x4cb443
push dword [ebp - 8]
push ecx
push eax
push edi
push edx
call fcn.004d2bc0
mov edi, dword [ebp + 0x1c]
add esp, 0x14
test eax, eax
jne case.0x4cb49d.14
mov edx, dword [ebx + 0x38]
mov esi, dword [ebx + 0x28]
jmp 0x4cb470
mov ecx, dword [ecx]
sub eax, ecx
mov edi, dword [ebp + 0x1c]
cmp edx, eax
ja 0x4cb470
mov al, byte [edx]
cmp al, byte [edi + 0x94]
jne 0x4cb470
cmp ecx, 1
je case.0x4cb49d.14
mov al, byte [edx + 1]
cmp al, byte [edi + 0x95]
je case.0x4cb49d.14
movzx ecx, byte [edx]
add esi, 0xfffffffa
inc edx
mov dword [ebx + 0x38], edx
cmp esi, 0xf
ja case.0x4cb483.15
jmp dword [esi*4 + 0x4cf5e0]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4cb49d.14
movzx eax, byte [ecx + 0x4cf630]
jmp dword [eax*4 + 0x4cf620]
cmp word [edi + 0x3e], 2
jne case.0x4cb483.13
xor esi, esi
jmp 0x4c0570
cmp ecx, 9
je case.0x4cb49d.14
cmp ecx, 0x20
je case.0x4cb49d.14
cmp ecx, 0xa0
jne case.0x4cb483.13
xor esi, esi
jmp 0x4c0570
cmp ecx, 9
je case.0x4cb483.13
cmp ecx, 0x20
je case.0x4cb483.13
cmp ecx, 0xa0
je case.0x4cb483.13
xor esi, esi
jmp 0x4c0570
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4cb483.13
movzx eax, byte [ecx + 0x4cf6b4]
jmp dword [eax*4 + 0x4cf6ac]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4cb49d.14
movzx eax, byte [ecx + 0x4cf738]
jmp dword [eax*4 + 0x4cf730]
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
mov eax, dword [ebp - 4]
je 0x4ce196
xor esi, esi
jmp 0x4c0573
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
mov eax, dword [ebp - 4]
jne 0x4ce196
xor esi, esi
jmp 0x4c0573
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
mov eax, dword [ebp - 4]
je 0x4ce196
xor esi, esi
jmp 0x4c0573
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
mov eax, dword [ebp - 4]
jne 0x4ce196
xor esi, esi
jmp 0x4c0573
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 4]
je 0x4ce196
xor esi, esi
jmp 0x4c0573
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 4]
jne 0x4ce196
xor esi, esi
jmp 0x4c0573
test esi, esi
je 0x4cdbf5
mov edi, ecx
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov eax, dword [ebx + 0x48]
mov esi, 0xfffffc1b
mov dword [edi + 0x78], eax
jmp 0x4c0570
test esi, esi
jne case.0x4cad86.998
mov edx, dword [ebx + 0x24]
lea eax, [edx - 1]
mov dword [ebx + 0x24], eax
cmp edx, dword [ebx + 0x20]
ja 0x4ce1a1
mov edi, ecx
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cb661
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cb64a
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cb775
cmp edx, 0xc0
jb 0x4cb775
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cb69e
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cb775
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cb6c7
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 0x4cb772
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cb701
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 0x4cb76f
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 0x4cb748
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 0x4cb76f
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.004d56b0
add esp, 0xc
test eax, eax
jne 0x4ce1dd
xor esi, esi
jmp 0x4c0570
test esi, esi
jne case.0x4cad86.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe 0x4c056b
cmp dword [ebp - 8], esi
je 0x4c2ab5
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4c2ab5
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4cb7c2
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cb832
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cb81b
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
mov dword [ebp + 0xc], edx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x4cb942
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cb868
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cb93f
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cb891
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 0x4cb93c
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cb8cb
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 0x4cb939
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 0x4cb912
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 0x4cb939
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 0x4cb962
cmp byte [ebx + 0x31], 0x6e
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xc8
jmp 0x4ce6f3
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 0x4cb954
xor esi, esi
jmp 0x4c0570
test esi, esi
jne case.0x4cad86.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe 0x4c056b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4c265b
nop dword [eax]
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4cb9b0
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x4ce6f3
test esi, esi
jne case.0x4cad86.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae 0x4c056b
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 0x4cba5f
mov edx, dword [ebx + 8]
mov esi, edi
sub esi, 4
jb 0x4cba13
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4cba1c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4cba02
cmp esi, 0xfffffffc
je 0x4ce1e8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4cba59
cmp esi, 0xfffffffd
je 0x4ce1e8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4cba59
cmp esi, 0xfffffffe
je 0x4ce1e8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4cba59
cmp esi, 0xffffffff
je 0x4ce1e8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4ce1e8
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x38]
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x4cbacf
mov eax, edx
sub eax, edi
cmp ecx, eax
ja 0x4cbacf
mov esi, edi
lea edx, [ebx + 0x32]
sub esi, 4
jb 0x4cba89
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4cba92
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4cba78
cmp esi, 0xfffffffc
je 0x4ce1e8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4cbacf
cmp esi, 0xfffffffd
je 0x4ce1e8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4cbacf
cmp esi, 0xfffffffe
je 0x4ce1e8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4cbacf
cmp esi, 0xffffffff
je 0x4ce1e8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4ce1e8
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb case.0x4cb49d.14
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp edx, dword [edi + 0x60]
ja 0x4cbafc
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
test esi, esi
je 0x4cdc30
mov edi, ecx
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4cbb7b
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x4cb49d.14
cmp edx, dword [edi + 0x60]
ja 0x4cbb64
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx ecx, byte [edx]
inc edx
mov dword [ebx + 0x38], edx
cmp ecx, 0xc0
jb 0x4cbc7c
mov al, byte [edx]
lea esi, [edx + 1]
movzx eax, al
test cl, 0x20
jne 0x4cbbae
and ecx, 0x1f
mov dword [ebx + 0x38], esi
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x4cbc7c
lea edi, [edx + 2]
test cl, 0x10
jne 0x4cbbd4
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 0x4cbc79
lea ebx, [edx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test cl, 8
jne 0x4cbc0b
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 0x4cbc76
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 0x4cbc4f
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 0x4cbc76
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.0x4cb49d.14
cmp dword [ebx + 0x2c], ecx
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcc
jmp 0x4ce6f3
test esi, esi
je 0x4cdc63
mov edi, ecx
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cbd04
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cbced
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x4cbe0e
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cbd37
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cbe0e
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cbd60
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 0x4cbe0b
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cbd9a
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 0x4cbe08
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 0x4cbde1
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 0x4cbe08
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.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xce
jmp 0x4ce6f3
test esi, esi
je 0x4cdc94
mov edi, ecx
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cbe8d
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cbe76
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
cmp dword [ebp - 8], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [ebx + 0x38], edx
je 0x4cbecb
cmp eax, 0xc0
jb 0x4cbecb
test al, 0x20
jne 0x4cbeac
lea eax, [edx + 1]
jmp 0x4cbec8
test al, 0x10
jne 0x4cbeb5
lea eax, [ecx + 3]
jmp 0x4cbec8
test al, 8
jne 0x4cbebe
lea eax, [ecx + 4]
jmp 0x4cbec8
test al, 4
lea eax, [ecx + 5]
je 0x4cbec8
lea eax, [ecx + 6]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd0
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cbf3c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cbf25
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cc050
cmp edx, 0xc0
jb 0x4cc050
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cbf79
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cc050
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cbfa2
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 0x4cc04d
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cbfdc
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 0x4cc04a
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 0x4cc023
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 0x4cc04a
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 0x4cc059
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cc074
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x5043e1]
cmp al, 9
je 0x4cc098
cmp al, 5
je 0x4cc098
cmp al, 8
je 0x4cc098
xor ecx, ecx
jmp 0x4cc09d
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd1
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cc115
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cc0fe
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cc229
cmp edx, 0xc0
jb 0x4cc229
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cc152
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cc229
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cc17b
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 0x4cc226
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cc1b5
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 0x4cc223
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 0x4cc1fc
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 0x4cc223
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 0x4cc232
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cc24d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
mov eax, dword [eax*4 + 0x520528]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd2
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cc2e9
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cc2d2
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cc3fd
cmp edx, 0xc0
jb 0x4cc3fd
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cc326
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cc3fd
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cc34f
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 0x4cc3fa
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cc389
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 0x4cc3f7
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 0x4cc3d0
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 0x4cc3f7
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 0x4cc406
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cc421
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd3
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cc4b6
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cc49f
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cc5ca
cmp edx, 0xc0
jb 0x4cc5ca
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cc4f3
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cc5ca
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cc51c
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 0x4cc5c7
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cc556
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 0x4cc5c4
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 0x4cc59d
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 0x4cc5c4
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 0x4cc5d3
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cc5ee
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e0]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd4
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cc683
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cc66c
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cc797
cmp edx, 0xc0
jb 0x4cc797
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cc6c0
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cc797
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cc6e9
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 0x4cc794
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cc723
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 0x4cc791
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 0x4cc76a
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 0x4cc791
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 0x4cc7a0
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cc7bb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
mov eax, dword [eax*4 + 0x520528]
cmp eax, 1
je 0x4cc7e5
cmp eax, 3
je 0x4cc7e5
xor ecx, ecx
jmp 0x4cc7ea
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd5
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cc862
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cc84b
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cc976
cmp edx, 0xc0
jb 0x4cc976
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cc89f
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cc976
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cc8c8
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 0x4cc973
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cc902
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 0x4cc970
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 0x4cc949
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 0x4cc970
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 0x4cc990
je case.0x4cca57.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4cca57.8203
jmp dword [eax*4 + 0x4cf7b4]
cmp edx, 0x2000
ja 0x4cca37
je case.0x4cca57.8193
cmp edx, 0x1680
ja 0x4cca2f
je case.0x4cca57.8193
mov eax, edx
sub eax, 0x85
je case.0x4cca57.8193
sub eax, 0x1b
je case.0x4cca57.8193
mov eax, edx
test eax, eax
jns 0x4cc9d3
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cc9ee
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
cmp dword [eax*4 + 0x520528], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd6
jmp 0x4ce6f3
cmp edx, 0x180e
jmp 0x4cc9c4
cmp edx, 0x3000
ja case.0x4cca57.8203
je case.0x4cca57.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4cca57.8203
movzx eax, byte [eax + 0x4cf7d0]
jmp dword [eax*4 + 0x4cf7c8]
cmp dword [ebx + 0x28], 0xf
jne 0x4cca21
xor esi, esi
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4ccac4
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4ccaad
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ccbd8
cmp edx, 0xc0
jb 0x4ccbd8
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4ccb01
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ccbd8
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4ccb2a
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 0x4ccbd5
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4ccb64
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 0x4ccbd2
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 0x4ccbab
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 0x4ccbd2
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 0x4ccbe1
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4ccbfc
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e1]
mov ecx, dword [eax*4 + 0x520528]
cmp ecx, 1
je 0x4ccc30
cmp ecx, 3
je 0x4ccc30
cmp eax, 0xc
je 0x4ccc30
cmp eax, 0x10
je 0x4ccc30
xor ecx, ecx
jmp 0x4ccc35
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd7
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cccad
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4ccc96
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ccdc1
cmp edx, 0xc0
jb 0x4ccdc1
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cccea
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ccdc1
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4ccd13
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 0x4ccdbe
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4ccd4d
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 0x4ccdbb
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 0x4ccd94
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 0x4ccdbb
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 + 0x503e10]
lea eax, [eax*4 + 0x503e10]
cmp edx, ecx
jb 0x4ccde3
lea eax, [eax + 4]
cmp edx, ecx
je 0x4ccdfb
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4ccdd6
cmp dword [ebx + 0x28], 0xf
jne case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd8
jmp 0x4ce6f3
cmp dword [ebx + 0x28], 0xf
jne 0x4ccded
xor esi, esi
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cce61
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cce4a
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ccf75
cmp edx, 0xc0
jb 0x4ccf75
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cce9e
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4ccf75
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4ccec7
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 0x4ccf72
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4ccf01
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 0x4ccf6f
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 0x4ccf48
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 0x4ccf6f
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 0x4ccfa0
cmp edx, 0x40
je 0x4ccfa0
cmp edx, 0x60
je 0x4ccfa0
cmp edx, 0xa0
jb 0x4ccf94
cmp edx, 0xd7ff
jbe 0x4ccfa0
cmp edx, 0xe000
jae 0x4ccfa0
xor ecx, ecx
jmp 0x4ccfa5
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xd9
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4ce1f9
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd00a
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 0x54]
cmp ecx, eax
jb 0x4cd07c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd065
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
cmp dword [ebx + 0x28], 0xc
jne 0x4cd0d8
mov esi, dword [edi + 0x8c]
lea edx, [edi + 0x90]
test esi, esi
je 0x4cd0ae
push dword [ebp - 8]
push edx
push eax
push esi
push ecx
call fcn.004d2bc0
add esp, 0x14
test eax, eax
jne case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
jmp 0x4cd0d8
mov edx, dword [edx]
sub eax, edx
cmp ecx, eax
ja 0x4cd0d8
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne 0x4cd0d8
cmp edx, 1
je case.0x4cb49d.14
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x95]
je case.0x4cb49d.14
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x4cd1f4
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cd10d
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
mov ecx, esi
jmp 0x4cd1f4
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cd138
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 0x4cd1f1
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cd177
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 0x4cd1f1
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 0x4cd1c5
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 0x4cd1f1
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.0x4cb483.15
jmp dword [eax*4 + 0x4cf830]
cmp edx, 0x85
ja 0x4cd227
je case.0x4cd220.11
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4cb49d.14
jmp dword [edx*4 + 0x4cf870]
sub edx, 0x2028
je case.0x4cd220.11
sub edx, 1
jne case.0x4cb49d.14
cmp word [edi + 0x3e], 2
jne case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x2000
ja 0x4cd29e
je case.0x4cb49d.14
cmp edx, 0xa0
ja 0x4cd27f
je case.0x4cb49d.14
cmp edx, 9
je case.0x4cb49d.14
cmp edx, 0x20
jne case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x1680
je case.0x4cb49d.14
cmp edx, 0x180e
jne case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x3000
ja case.0x4cd203.13
je case.0x4cb49d.14
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4cd203.13
movzx eax, byte [edx + 0x4cf888]
jmp dword [eax*4 + 0x4cf880]
cmp edx, 0x2000
ja 0x4cd321
je case.0x4cd203.13
cmp edx, 0xa0
ja 0x4cd302
je case.0x4cd203.13
cmp edx, 9
je case.0x4cd203.13
cmp edx, 0x20
je case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x1680
je case.0x4cd203.13
cmp edx, 0x180e
je case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x3000
ja case.0x4cb49d.14
je case.0x4cd203.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4cb49d.14
movzx eax, byte [edx + 0x4cf8f0]
jmp dword [eax*4 + 0x4cf8e8]
cmp edx, 0x85
ja 0x4cd371
je case.0x4cb49d.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4cd203.13
jmp dword [edx*4 + 0x4cf950]
sub edx, 0x2028
je case.0x4cb49d.14
sub edx, 1
jne case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x85
ja 0x4cd3ae
je case.0x4cd203.13
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4cb49d.14
jmp dword [edx*4 + 0x4cf960]
sub edx, 0x2028
je case.0x4cd203.13
sub edx, 1
je case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x100
jae case.0x4cd203.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x100
jae case.0x4cb49d.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
jne case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x100
jae case.0x4cd203.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x100
jae case.0x4cb49d.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
jne case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x100
jae case.0x4cd203.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
cmp edx, 0x100
jae case.0x4cb49d.14
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
jne case.0x4cd203.13
xor esi, esi
jmp 0x4c0570
test esi, esi
je 0x4cdcc5
mov edi, ecx
jmp 0x4c0570
test esi, esi
je 0x4cdf66
mov edi, ecx
jmp 0x4c0570
test esi, esi
je 0x4cdfd0
mov edi, ecx
jmp 0x4c0570
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd510
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd4f9
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cd624
cmp edx, 0xc0
jb 0x4cd624
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cd54d
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cd624
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cd576
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 0x4cd621
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cd5b0
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 0x4cd61e
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 0x4cd5f7
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 0x4cd61e
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 0x4cd630
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cd64b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x5043ea]
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 + 0x503888]
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.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xdf
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd6fe
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd6e7
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cd812
cmp edx, 0xc0
jb 0x4cd812
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cd73b
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cd812
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cd764
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 0x4cd80f
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cd79e
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 0x4cd80c
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 0x4cd7e5
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 0x4cd80c
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 0x4cd81b
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cd836
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x5043e8]
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.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xe0
jmp 0x4ce6f3
mov edi, ecx
test esi, esi
jne 0x4c0570
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x4cb49d.14
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4cd8ce
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4cb49d.14
cmp ecx, dword [edi + 0x60]
ja 0x4cd8b7
cmp dword [edi + 0x24], 0
je case.0x4cb49d.14
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
xor esi, esi
jmp 0x4c0570
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4cd9e2
cmp edx, 0xc0
jb 0x4cd9e2
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4cd90b
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4cd9e2
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4cd934
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 0x4cd9df
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x4cd96e
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 0x4cd9dc
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 0x4cd9b5
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 0x4cd9dc
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 0x4cd9eb
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cda06
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebx + 0x2c]
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x5043e0]
cmp eax, ecx
je 0x4cda4e
movzx edx, word [edx*4 + 0x5043e8]
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 + 0x5040e8], eax
jne 0x4cda4e
xor ecx, ecx
jmp 0x4cda53
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x4cb49d.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xe1
jmp 0x4ce6f3
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.004dd8a5
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 0x4cdaa0
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x4c025a
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 0x4cdac2
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x4c025a
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 0x4ce5d5
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x4c025a
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.004dd8a5
mov eax, dword [esi + 0x54]
add esp, 0xc
mov dword [ebx + 0x54], eax
mov eax, dword [ebx + 0x20]
test eax, eax
je case.0x4c9fdf.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 0x4cdb35
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x5203a8]
jmp 0x4ca014
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 0x4ce0ca
xor eax, eax
cmp dword [ebx + 0x20], eax
sete al
jmp 0x4cdb2b
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 0x4c025a
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 0x4cdba0
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x4c025a
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [eax + 4]
je 0x4c025a
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1e
jmp 0x4ce6f3
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [eax + 4]
je 0x4c025a
mov esi, dword [eax]
mov byte [eax + 0x30], 0x20
jmp 0x4ce6f3
mov eax, dword [ebx + 0x38]
dec eax
mov dword [ebx + 0x38], eax
mov ecx, eax
cmp dword [ebx + 0x28], 0x11
jne 0x4cdc1c
cmp eax, dword [ebx + 4]
jbe 0x4cdc1c
cmp byte [eax], 0xa
jne 0x4cdc1c
cmp byte [eax - 1], 0xd
lea edx, [eax - 1]
jne 0x4cdc1c
mov dword [ebx + 0x38], edx
mov ecx, edx
cmp ecx, dword [ebx + 4]
je 0x4c025a
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x22
jmp 0x4ce6f3
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4cdc4c
nop
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cdc40
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x4c025a
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcb
jmp 0x4ce6f3
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4cdc7d
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cdc71
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x4c025a
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcd
jmp 0x4ce6f3
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4cdcae
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cdca2
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x4c025a
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcf
jmp 0x4ce6f3
mov esi, dword [ebx + 0x38]
dec esi
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], esi
jne 0x4cdcda
movzx edx, byte [esi]
jmp 0x4cddb5
mov cl, byte [esi]
mov edi, esi
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4cdcf6
dec esi
mov dword [ebx + 0x38], esi
mov edi, esi
mov cl, byte [esi]
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x4cdce6
movzx edx, cl
mov esi, edi
cmp edx, 0xc0
jb 0x4cddb5
test dl, 0x20
jne 0x4cdd18
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x4cddab
test dl, 0x10
jne 0x4cdd35
movzx ecx, byte [edi + 1]
and edx, 0xf
movzx eax, byte [edi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4cddab
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 0x4cdd63
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
jmp 0x4cddb3
movzx ebx, byte [edi + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cdd8f
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 0x4cddb3
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 0x4cddbe
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cddd9
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 + 0x50ca98]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5043e2]
mov dword [ebp - 0x34], eax
cmp esi, edi
jbe 0x4cdf4f
nop
mov cl, byte [esi - 1]
dec esi
cmp dword [ebp - 8], 0
jne 0x4cde12
movzx edx, cl
jmp 0x4cdef5
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4cde2c
nop word [eax + eax]
mov cl, byte [esi - 1]
dec esi
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x4cde20
movzx edx, cl
cmp edx, 0xc0
jb 0x4cdef5
mov al, byte [esi + 1]
test dl, 0x20
jne 0x4cde4e
movzx eax, al
and edx, 0x1f
jmp 0x4cdeed
mov cl, byte [esi + 2]
mov byte [ebp + 0xf], cl
test dl, 0x10
jne 0x4cde70
movzx ecx, al
and edx, 0xf
movzx eax, byte [ebp + 0xf]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4cdeed
movzx edi, byte [esi + 3]
movzx eax, al
and edi, 0x3f
movzx ecx, cl
and eax, 0x3f
and ecx, 0x3f
test dl, 8
jne 0x4cde9f
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 0x4cdef5
movzx ebx, byte [esi + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x4cdece
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 0x4cdef5
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 0x4cdefe
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x508698]
shl eax, 7
and edx, 0x8000007f
jns 0x4cdf19
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebp - 0x34]
add eax, edx
movzx eax, word [eax*2 + 0x50ca98]
lea eax, [eax + eax*2]
movzx edx, byte [eax*4 + 0x5043e2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5204e8], eax
je 0x4cdf4f
mov dword [ebx + 0x38], esi
mov dword [ebp - 0x34], edx
cmp esi, edi
ja 0x4cde00
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x4c025a
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdc
jmp 0x4ce6f3
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 0x4cdf98
nop
lea ecx, [edx - 1]
mov dword [ebx + 0x38], ecx
mov edx, ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cdf80
mov esi, ecx
mov edi, ecx
mov eax, ecx
jmp 0x4cdf9b
mov eax, dword [ebp + 0xc]
cmp dword [ebx + 0x28], 0x11
jne 0x4cdfbc
mov ecx, esi
cmp edx, dword [ebx + 4]
jbe 0x4cdfbc
cmp byte [edx], 0xa
mov ecx, edi
jne 0x4cdfbc
dec edx
mov ecx, eax
cmp byte [edx], 0xd
jne 0x4cdfbc
mov dword [ebx + 0x38], edx
mov ecx, edx
cmp ecx, dword [ebx + 4]
jbe 0x4c025a
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdd
jmp 0x4ce6f3
mov edx, dword [ebx + 0x38]
dec edx
cmp dword [ebp - 8], 0
mov ecx, edx
mov dword [ebx + 0x38], edx
je 0x4cdff7
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4cdff7
lea ecx, [edx - 1]
mov dword [ebx + 0x38], ecx
mov edx, ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4cdfe7
cmp ecx, dword [ebx + 4]
jbe 0x4c025a
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xde
jmp 0x4ce6f3
inc dword [edi + 0x84]
mov eax, dword [edi + 0x84]
cmp eax, dword [edi + 0x88]
mov edi, dword [ebp - 4]
ja 0x4ce3b9
mov edx, dword [edi]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x5203a8]
add eax, edx
add ecx, eax
mov dword [edi], ecx
jmp 0x4c025a
test ebx, ebx
jne 0x4cbc91
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x4ce6f3
cmp dword [ebp - 8], 0
jne 0x4cbe1a
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x4ce6f3
test edi, edi
jne 0x4cb957
mov esi, dword [eax]
mov byte [eax + 0x30], 0x17
jmp 0x4ce6f3
test ecx, ecx
js 0x4ce090
cmp ecx, 0xd
ja case.0x4cb483.15
jmp dword [ecx*4 + 0x4cf970]
cmp dword [eax + 0x28], 0x16
je 0x4ce345
cmp dword [ebp - 8], 0
jne 0x4ce3ae
mov esi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x4ce6f3
cmp cl, 0x7f
je 0x4ce0bd
cmp cl, 0x81
je 0x4ce0bd
xor eax, eax
jmp 0x4ce0c2
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 + 0x5203a8]
add edx, ecx
mov byte [ebx + 0x30], 5
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4ce6f3
mov eax, dword [ebp - 4]
cmp cl, 0x7b
jne 0x4ce108
add esi, 3
mov byte [ebx + 0x30], 6
jmp 0x4ce6f6
mov esi, dword [ebp + 0xc]
mov byte [ebx + 0x30], 7
jmp 0x4ce6f6
mov byte [ebx + 0x30], 1
jmp 0x4ce6f3
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x4ce469
mov eax, dword [ebp - 0x50]
add dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x14
jmp 0x4ce6f3
cmp edx, dword [edi + 0x54]
jae case.0x4cb483.13
cmp byte [edx], 0xa
jne case.0x4cb483.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 0x4ce6f3
movzx eax, word [edi + 0x3c]
mov esi, eax
test ax, ax
je case.0x4cb483.13
cmp edx, dword [edi + 0x54]
jb case.0x4cb483.13
cmp dword [edi + 0x8c], 0
jne case.0x4cb483.13
cmp dword [edi + 0x90], 2
jne case.0x4cb483.13
movzx eax, byte [edi + 0x94]
cmp ecx, eax
jne case.0x4cb483.13
mov dword [edi + 0x1c], 1
cmp esi, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x4ce6f3
mov ecx, dword [ebx + 0x38]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4ce1c7
mov edx, dword [ebp + 0x1c]
cmp ecx, dword [edx + 0x54]
jae 0x4ce1c7
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ce1c7
inc ecx
mov dword [ebx + 0x38], ecx
cmp ecx, dword [edx + 0x54]
jb 0x4ce1b6
mov edx, dword [ebx]
add edx, 5
mov byte [ebx + 0x30], 0x25
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4ce6f3
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x64
jmp 0x4ce6f3
mov eax, dword [ebp - 4]
add dword [ebx + 0x38], edi
mov esi, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x4ce6f3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [ebx + 0x38], ecx
je 0x4ce2fd
cmp edx, 0xc0
jb 0x4ce2fd
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4ce22d
movzx eax, al
and edx, 0x1f
jmp 0x4ce2f2
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4ce24d
movzx ecx, al
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4ce2ef
mov dword [ebp + 0xc], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4ce27c
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 0x4ce2ef
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 0x4ce2d0
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 0x4ce2fd
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.004d4db0
mov ecx, eax
add esp, 0x18
mov dword [ebx + 0x38], ecx
cmp ecx, dword [edi + 0x54]
jb 0x4ce342
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4ce342
cmp ecx, dword [edi + 0x60]
ja 0x4ce332
cmp dword [edi + 0x24], 0
je 0x4ce342
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xda
jmp 0x4ce6f3
cmp ecx, dword [edi + 0x54]
jae case.0x4cd203.13
cmp byte [ecx], 0xa
jne case.0x4cd203.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 0x4ce6f3
movzx eax, word [edi + 0x3c]
mov esi, eax
test ax, ax
je case.0x4cd203.13
cmp ecx, dword [edi + 0x54]
jb case.0x4cd203.13
cmp dword [edi + 0x8c], 0
jne case.0x4cd203.13
cmp dword [edi + 0x90], 2
jne case.0x4cd203.13
movzx eax, byte [edi + 0x94]
cmp edx, eax
jne case.0x4cd203.13
mov dword [edi + 0x1c], 1
cmp esi, 1
ja 0x4c2517
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xdb
jmp 0x4ce6f3
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
movzx eax, byte [eax + 0x5203a8]
add eax, ecx
mov byte [edi + 0x30], 0x11
add edx, eax
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4ce6f3
mov edi, dword [ebp - 4]
inc esi
mov dword [edi + 4], esi
mov byte [edi + 0x30], 9
jmp 0x4ce6f3
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 0x4ce3f2
add esi, 3
mov byte [edi + 0x30], 0xa
jmp 0x4ce6f3
mov ebx, dword [ebp - 4]
inc esi
mov dword [ebx + 0x28], 1
mov dword [ebx], esi
mov al, byte [esi]
cmp al, 0x8a
je 0x4ce449
cmp al, 0x8f
jne 0x4ce438
jmp 0x4ce449
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov ecx, 0x20000
jmp 0x4ce45c
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 + 0x5203a8]
add edx, ecx
mov byte [ebx + 0x30], 8
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4ce6f3
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
jmp 0x4ce4af
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 + 0x5203a8]
add edx, esi
mov byte [ebx + 0x30], 2
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4ce6f3
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 0x4ce4ef
xor ecx, ecx
jmp 0x4ce4fc
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 0x4ce534
mov eax, dword [ebx + 0x50]
cmp eax, 0xffffffff
je 0x4ce534
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 0x4ce56e
mov eax, dword [ecx + 0x50]
cmp eax, 0xffffffff
jne 0x4ce520
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 + 0x5203a8]
add edx, ecx
mov byte [ebx + 0x30], 0xb
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4ce6f3
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x38]
jne 0x4ce534
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x64]
cmp eax, dword [ecx + 0x44]
mov eax, dword [ebp + 0x1c]
jne 0x4ce537
test dword [eax + 0x7c], 0x40000
jne 0x4ce537
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 + 0x5203a8]
add edx, esi
mov byte [ebx + 0x30], 3
mov dword [ebp + 0xc], edx
mov esi, edx
jmp 0x4ce6f3
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 + 0x5203a8]
add ecx, esi
mov byte [ebx + 0x30], 4
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4ce6f3
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 + 0x5203a8]
mov byte [edi + 0x30], 0xc
jmp 0x4ce6ef
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx ecx, byte [eax + 0x5203a8]
add ecx, esi
mov byte [edi + 0x30], 0xd
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4ce6f3
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 + 0x5203a8]
mov byte [edi + 0x30], 0x24
jmp 0x4ce6ef
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx ecx, byte [eax + 0x5203a8]
add ecx, esi
mov byte [edi + 0x30], 0xe
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4ce6f3
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 + 0x5203a8]
mov byte [edi + 0x30], 0xf
jmp 0x4ce6ef
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx ecx, byte [eax + 0x5203a8]
add ecx, esi
mov byte [edi + 0x30], 0x10
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4ce6f3
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx ecx, byte [eax + 0x5203a8]
add ecx, esi
mov byte [edi + 0x30], 0x12
mov dword [ebp + 0xc], ecx
mov esi, ecx
jmp 0x4ce6f3
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 + 0x5203a8]
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 0x4ce7d2
mov eax, dword [ebp + 0x18]
sub ebx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x10], ebx
cmp edx, 0x7fffffff
jb 0x4ce72f
cmp edx, 0xfffffffe
je 0x4ce8a9
mov ebx, 0xfffffffe
jmp 0x4ce732
lea ebx, [edx + edx]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0xc]
mov eax, ebx
shr eax, 0xa
cmp eax, ecx
jb 0x4ce767
mov eax, edx
shr eax, 0xa
cmp ecx, eax
jbe 0x4ce8b5
sub ecx, eax
mov eax, edx
shl ecx, 0xa
and eax, 0x3ff
je 0x4ce764
add ecx, 0xfffffc00
add ecx, eax
lea ebx, [edx + ecx]
mov eax, ebx
sub eax, dword [ebp - 0x10]
cmp eax, edi
jb 0x4ce8b5
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 0x4ce8a9
mov eax, dword [ebp + 0x18]
push dword [ebp - 0x10]
push dword [eax + 0x18]
push edi
call fcn.004dd8a5
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 0x4ce7d5
mov edi, dword [ebp - 4]
push dword [ebp - 0x3c]
lea eax, [edi + 0x38]
push eax
lea eax, [ebx + 0x38]
push eax
call fcn.004dd8a5
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 0x4c01f2
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 0x4ce82d
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.004dd8a5
mov eax, dword [edi + 0x54]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x4ce894
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 0x4ce880
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