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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x170
call fcn.00628570
mov eax, dword [0x70d514]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x140], eax
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
push edi
mov edi, edx
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x148], ecx
test edi, edi
jne 0x453960
cmp dword [ebp + 0x18], edx
jne 0x453943
push 1
push edx
push edx
push edx
push edx
lea ecx, [ebp + 0x18]
call fcn.004538d0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
lea eax, [ebp + 0x18]
sub eax, esi
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x118]
mov edx, dword [eax + 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x12c], edx
cmp eax, dword [ebx + 4]
jae 0x461a54
mov dword [ebp - 0x168], 0xffffffff
mov dword [ebp - 0x15c], 1
mov dword [ebp - 0x16c], 0x7fffffff
nop dword [eax]
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x461a3e
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x98], 2
jne 0x4539f0
mov dword [ebp - 0xac], ecx
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0x148], ecx
mov dword [eax + 0x98], 0
mov ebx, eax
jmp 0x453a0c
je case.default.0x455d5a
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x12c]
mov cl, byte [edi]
movzx edi, cl
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x124], edi
cmp edi, 0xa1
ja case.0x453a3e.98
movzx eax, byte [edi + 0x461bbc]
jmp dword [eax*4 + 0x461a70]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x118]
inc dword [eax + 0x28]
mov eax, dword [eax + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x45e355
mov edx, dword [ebp - 0x11c]
movzx eax, byte [edx]
movzx edi, byte [edx + 1]
add edi, edx
movzx ecx, byte [eax + 0x682810]
add edi, ecx
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x14c], esi
mov ebx, dword [eax + 0xac]
nop
mov eax, dword [ebp + 0x18]
lea edx, [edi + 3]
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x453bb3
cmp edi, 0xfffffc20
jne 0x453b11
mov eax, dword [ebp - 0x11c]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x118]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae case.default.0x4542fb
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx], 0x77
je 0x453b19
cmp byte [eax], 0x77
jmp 0x453b13
test edi, edi
jne case.default.0x4542fb
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x118]
add edi, ecx
mov dword [ebp - 0x11c], edi
mov dword [eax + 0xac], ebx
cmp byte [edi], 0x77
je 0x453aa0
mov edx, dword [ebp - 0x140]
mov al, byte [edi]
cmp al, 0x82
je 0x453b60
cmp al, 0x77
jne case.default.0x455d5a
nop dword [eax]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x453b60
cmp byte [edi], 0x78
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], edi
mov ecx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov dword [ebp - 0x138], ecx
je 0x453ba3
cmp esi, dword [ebp - 0x14c]
jne 0x45de67
add edi, 3
mov ebx, eax
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov edx, dword [eax + 0x7c]
mov dword [ebp - 0x140], edx
jmp 0x453b4f
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x13c], 0
jmp 0x454862
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x13c], 0
jmp 0x454887
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
add edx, 3
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x144], ecx
cmp byte [edx], 0x76
mov dword [ebp - 0x13c], edx
jne 0x453d26
mov edi, dword [0x7147f0]
test edi, edi
je 0x453d0e
mov dword [ebp - 0xe0], 2
movzx eax, byte [edx + 1]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0x78]
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x140]
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0xcc], eax
mov eax, esi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0xc8], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xb8], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x138]
cdq
sub eax, edx
mov dword [ebp - 0xb4], ecx
sar eax, 1
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0x90]
and eax, 0xffff
cmove eax, dword [ebp - 0x168]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xe0]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x455d5a
js case.default.0x4542fb
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x11c]
add edx, 6
add ecx, 0xfffffffa
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x13c], edx
movzx eax, byte [edx]
xor ebx, ebx
mov dword [ebp - 0x128], eax
add eax, 0xffffff73
cmp eax, 0x10
ja case.0x453d46.146
movzx eax, byte [eax + 0x461c78]
jmp dword [eax*4 + 0x461c60]
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0xa4]
test edx, edx
je case.0x453d46.145
mov eax, dword [ebp - 0x11c]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x453d85
cmp ecx, dword [edx + 4]
jne 0x453fe5
mov ecx, dword [ebp - 0x128]
mov ebx, 1
movzx ecx, byte [ecx + 0x682810]
jmp case.0x453d46.145
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xa4], ebx
je case.0x453d46.145
movzx edi, byte [edx + 3]
movzx eax, byte [edx + 4]
movzx ecx, byte [edx + 1]
movzx edx, byte [edx + 2]
shl edi, 8
or edi, eax
shl ecx, 8
mov eax, dword [ebp - 0x118]
or edx, ecx
imul edx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add edx, eax
test edi, edi
je 0x453fe5
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x150], edx
mov eax, dword [eax + 0xa4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14c], eax
nop word [eax + eax]
movzx eax, byte [edx]
xor ebx, ebx
movzx ecx, byte [edx + 1]
dec edi
shl eax, 8
or ecx, eax
cmp ecx, dword [ebp - 0x14c]
sete bl
je 0x453e65
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x150]
mov eax, dword [eax + 0x24]
add edx, eax
mov dword [ebp - 0x150], edx
test edi, edi
jg 0x453e00
jmp 0x453e65
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x138]
jge 0x453e63
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x453e63
mov ebx, 1
jmp 0x453e65
xor ebx, ebx
test ebx, ebx
je 0x453fe5
mov ecx, dword [ebp - 0x128]
movzx ecx, byte [ecx + 0x682810]
jmp case.0x453d46.145
mov edi, dword [ebp - 0x11c]
movzx edx, byte [edx + 3]
shl edx, 8
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 1]
or edx, eax
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x118]
imul ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add eax, ecx
test edx, edx
je 0x453fe5
mov edi, eax
movzx ecx, byte [eax]
dec edx
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x138]
jge 0x453ee2
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x453d85
mov eax, dword [ebp - 0x118]
xor ebx, ebx
mov eax, dword [eax + 0x24]
add eax, edi
mov edi, eax
test edx, edx
jg 0x453eb8
jmp 0x453fe5
mov ecx, dword [ebp - 0x118]
mov dword [ecx + 0x98], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 1
jne 0x453fd5
mov eax, dword [ebp - 0x118]
mov ebx, edi
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x14c], ebx
mov eax, dword [eax + 0x8c]
cmp eax, ecx
cmovg ecx, eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x138], ecx
cmp byte [eax], 0x92
jne 0x453f70
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
movzx edi, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edi, 8
or edi, eax
add edi, dword [ebp - 0x13c]
mov edx, edi
cmp byte [edx], 0x77
jne 0x453fb4
nop word [eax + eax]
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
mov edx, ebx
mov dword [ebp - 0x11c], ebx
cmp byte [edx], 0x77
je 0x453f90
mov ebx, dword [ebp - 0x14c]
mov edi, edx
mov ecx, dword [ebp - 0x128]
movzx eax, byte [ecx + 0x682810]
movzx ecx, byte [ecx + 0x682810]
sub edi, eax
add edi, 3
mov dword [ebp - 0x11c], edi
jmp case.0x453d46.145
test edi, edi
je 0x453fe5
cmp edi, 0xfffffc20
jne case.default.0x4542fb
mov ecx, dword [ebp - 0x144]
mov edi, dword [ebp - 0x11c]
add edi, ecx
mov dword [ebp - 0x11c], edi
test ebx, ebx
jne 0x454007
cmp byte [edi - 3], 0x77
jne 0x454c3c
cmp dword [ebp - 0x124], 0x8c
jne 0x458264
mov ecx, dword [ebp - 0x118]
mov edx, edi
mov dword [ecx + 0x98], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [ecx + 0x90], eax
lea ebx, [edx + edx]
cmp ebx, dword [ecx + 0x14]
jl 0x4540ab
mov ebx, ecx
or eax, 0x10000
add edi, 3
mov dword [ebp - 0x11c], edi
mov dword [ebx + 0x90], eax
jmp 0x453a06
mov eax, ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [ebp - 0x138]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [ebp - 0x118]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
cmp ebx, edx
jl 0x4564c6
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x4540fd
mov eax, dword [ebp - 0x168]
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x11c]
lea eax, [ebx + 2]
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x45414b
mov dword [eax + 0x98], 0
mov dword [ebp - 0x150], 1
jmp 0x454155
mov dword [ebp - 0x150], 0
mov edi, dword [ebp - 0x11c]
nop dword [eax + eax]
mov eax, dword [ebp + 0x18]
lea edx, [edi + 3]
inc eax
mov ecx, esi
push eax
push 0
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x454205
cmp edi, 0xfffffc19
je 0x454205
mov eax, dword [ebp - 0x118]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jne 0x4541d7
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 0x118]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae case.default.0x4542fb
cmp byte [edx], 0x77
je 0x4541df
cmp byte [eax], 0x77
jmp 0x4541d9
test edi, edi
jne case.default.0x4542fb
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [ebp - 0x11c], edi
cmp byte [edi], 0x77
je 0x454160
jmp 0x45421a
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x140], eax
cmp byte [edi], 0x78
je case.default.0x455d5a
cmp dword [ebp - 0x150], 0
jne 0x45e5c6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x454230
mov eax, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x138], eax
nop
mov ebx, dword [ebp - 0x118]
jmp 0x453a06
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x454296
mov dword [eax + 0x98], 0
mov dword [ebp - 0x150], 1
jmp 0x4542a0
mov dword [ebp - 0x150], 0
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp + 0x18]
lea edx, [edi + 3]
inc eax
mov ecx, esi
push eax
push 0
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
mov eax, dword [ebp - 0x118]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc1c
jle 0x454354
test edi, edi
jg 0x45e3bb
je 0x45432e
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x4542fb
jmp dword [eax*4 + 0x461c8c]
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 0x118]
add eax, edi
cmp dword [ecx + 0x7c], eax
jae 0x454360
cmp byte [edi], 0x77
je 0x454334
cmp byte [eax], 0x77
jne 0x454360
jmp 0x454334
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [ebp - 0x11c], edi
cmp byte [edi], 0x77
je 0x4542a6
jmp 0x454374
jne 0x45e3d9
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x454360
cmp dword [ebp - 0x150], 0
jne 0x45e5c6
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
test edx, edx
je 0x4543e6
or ecx, eax
mov eax, dword [ebp - 0x118]
jbe 0x4543f9
mov edx, dword [eax + 0x74]
dec esi
dec ecx
cmp esi, edx
jb case.default.0x455d5a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4543da
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4543d0
test ecx, ecx
jg 0x4543b7
mov eax, dword [ebp - 0x118]
jmp 0x4543f9
or ecx, eax
mov eax, dword [ebp - 0x118]
sub esi, ecx
cmp esi, dword [eax + 0x74]
jb case.default.0x455d5a
mov ebx, dword [ebp - 0x118]
cmp esi, dword [eax + 0x84]
jae 0x4564cc
add edi, 3
mov dword [eax + 0x84], esi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov edi, dword [0x7147f0]
test edi, edi
je 0x454502
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x114], 2
movzx eax, byte [edx + 1]
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0x78]
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x140]
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x100], eax
mov eax, esi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0xfc], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xec], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x138]
cdq
sub eax, edx
mov dword [ebp - 0xe8], ecx
sar eax, 1
mov dword [ebp - 0xf8], eax
mov eax, dword [ebx + 0x90]
and eax, 0xffff
cmove eax, dword [ebp - 0x168]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x114]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x455d5a
js case.default.0x4542fb
mov edi, dword [ebp - 0x11c]
add edi, 6
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebx + 0x70]
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
cmp ebx, edx
jne 0x454536
xor ecx, ecx
jmp 0x454543
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0xa4]
mov eax, edx
test edx, edx
je 0x454569
cmp ecx, dword [eax + 4]
jne 0x454563
cmp esi, dword [eax + 0x14]
je 0x45e3f8
mov eax, dword [eax]
test eax, eax
jne 0x454555
add dword [ebp - 0x11c], 3
mov dword [ebp - 0xa0], ecx
lea ecx, [ebp - 0xa4]
mov eax, dword [edi + 0x90]
mov dword [ebp - 0x94], eax
mov eax, edi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xa4], edx
mov dword [eax + 0xa4], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x98], ecx
cmp ecx, 0x1e
jg 0x4545b8
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x9c], eax
jmp 0x4545dc
lea eax, [ecx*4]
push eax
call fcn.004497d0
add esp, 4
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x45e47a
mov ecx, dword [ebp - 0x98]
shl ecx, 2
push ecx
mov ecx, edi
push dword [ecx + 0xc]
push eax
call fcn.0062b120
add esp, 0xc
mov edx, edi
cmp byte [ebx], 0x88
sbb eax, eax
inc eax
mov dword [ebp - 0x14c], eax
nop dword [eax]
test eax, eax
je 0x454616
mov eax, dword [ebp - 0x118]
mov edx, eax
mov dword [eax + 0x98], 2
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ebx]
push edx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x682810]
push dword [ebp - 0x140]
add edx, ebx
call fcn.004538d0
mov edi, eax
add esp, 0x14
mov eax, dword [ebp - 0x98]
shl eax, 2
push eax
mov eax, dword [ebp - 0x118]
push dword [ebp - 0x9c]
push dword [eax + 0xc]
call fcn.0062b120
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov dword [edx + 0x90], eax
mov eax, dword [ebp - 0xa4]
mov dword [edx + 0xa4], eax
cmp edi, 1
je 0x4546dd
cmp edi, 0xfffffc19
je 0x4546dd
cmp edi, 0xfffffc1c
jl 0x4546a6
cmp edi, 0xfffffc20
jle 0x45e41a
test edi, edi
jne 0x45e44a
lea eax, [ebp - 0xa4]
mov dword [edx + 0xa4], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
jne 0x45e40e
mov eax, dword [ebp - 0x14c]
jmp 0x454600
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je 0x4546f6
push eax
call fcn.004497e0
add esp, 4
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
mov esi, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x140], eax
mov ebx, dword [ebp - 0x118]
jmp 0x453a06
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x454722
mov dword [ebp - 0x11c], edi
jmp 0x453a0c
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov ebx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push dword [ebp - 0x118]
mov edx, ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop dword [eax + eax]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x454780
lea edi, [ebx + 3]
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x118]
jmp 0x453a06
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
mov edx, eax
nop word [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x4547c0
mov eax, dword [ebp + 0x18]
add edx, 3
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
jmp 0x453a00
mov edx, dword [ebp - 0x11c]
inc edx
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x454810
lea edi, [edx + 3]
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov ecx, dword [ebp - 0x11c]
inc ecx
mov dword [ebp - 0x13c], 1
mov dword [ebp - 0x11c], ecx
movzx edi, byte [ecx]
mov dword [ebp - 0x124], edi
cmp edi, 0x86
je 0x454862
cmp edi, 0x8b
jne 0x454887
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl edi, 8
or edi, eax
mov dword [ebp - 0x128], edi
lea eax, [edi + edi]
cmp eax, dword [ebx + 0x14]
jl 0x454a21
mov edi, dword [ebp - 0x124]
xor eax, eax
mov ebx, ecx
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x118]
sub ebx, dword [eax + 0x70]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x14c], eax
mov edx, dword [ebp - 0x118]
nop dword [eax]
cmp edi, 0x88
jb 0x4548ca
mov eax, dword [ebp - 0x118]
mov edx, eax
mov dword [eax + 0x98], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push edx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x682810]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1a
jne 0x454953
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x150], 1
mov ecx, dword [eax + 0x8c]
mov edi, dword [eax + 0x70]
mov dword [ebp - 0x138], ecx
add edi, ebx
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x140], ecx
cmp esi, eax
je 0x4549e0
mov edi, dword [ebp - 0x124]
mov esi, eax
mov ecx, dword [ebp - 0x11c]
jmp 0x4548a6
cmp edi, 0xfffffc20
jne 0x454995
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [ebp - 0x118]
cmp dword [edx + 0x7c], eax
jae case.default.0x4542fb
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx], 0x77
je 0x4549a3
cmp byte [eax], 0x77
jne case.default.0x4542fb
jmp 0x4549a3
test edi, edi
jne case.default.0x4542fb
mov edx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [ebp - 0x11c], edi
cmp byte [edi], 0x77
jne 0x454a08
mov eax, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 0x90], eax
jmp 0x4548b0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x4549e0
add edi, 3
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x118]
jmp 0x453a06
cmp dword [ebp - 0x150], 0
jne 0x454c33
cmp dword [ebp - 0x13c], 0
jmp 0x454c2d
sub ecx, dword [ebx + 0x70]
shl eax, 2
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x150], 0
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 0x158], eax
mov eax, dword [ebx + 0x10]
sub eax, edi
mov dword [ebp - 0x144], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x90]
nop dword [eax]
mov ecx, dword [eax + 0x10]
mov edx, esi
sub edx, dword [eax + 0x74]
sub ecx, edi
cmp dword [ebp - 0x124], 0x88
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x454a9c
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x98], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x682810]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1a
jne 0x454b3b
mov eax, dword [ebp - 0x118]
mov edx, 1
mov dword [ebp - 0x150], edx
mov ecx, dword [eax + 0x8c]
mov edi, dword [eax + 0x70]
add edi, dword [ebp - 0x14c]
mov ebx, dword [eax + 0x90]
mov dword [ebp - 0x138], ecx
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x140], ecx
cmp esi, eax
je 0x454bc0
mov edi, dword [ebp - 0x128]
mov esi, eax
mov eax, dword [ebp - 0x118]
jmp 0x454a70
cmp edi, 0xfffffc20
jne 0x454b71
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 0x118]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae case.default.0x4542fb
cmp byte [edx], 0x77
je 0x454b79
cmp byte [eax], 0x77
jmp 0x454b73
test edi, edi
jne case.default.0x4542fb
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x90], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [ebp - 0x11c], edi
cmp byte [edi], 0x77
jne 0x454bd6
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x118]
jmp 0x454a70
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x454bc0
jmp 0x454c22
mov edx, dword [ebp - 0x150]
test edx, edx
jne 0x454c22
mov ebx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x164]
mov edi, dword [ebp - 0x144]
mov eax, dword [ebx + 0xc]
mov dword [ecx + eax], edi
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x158]
mov dword [eax + ecx + 4], edi
mov eax, ebx
mov edi, dword [ebp - 0x130]
mov ecx, dword [eax + 0x10]
sub ecx, dword [ebp - 0x128]
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edi
mov edi, dword [ebp - 0x11c]
cmp dword [ebp - 0x13c], 0
jne 0x454c33
test edx, edx
je case.default.0x455d5a
add edi, 3
mov dword [ebp - 0x11c], edi
mov ebx, dword [ebp - 0x118]
jmp 0x453a06
mov edi, dword [ebp - 0x11c]
mov ebx, edi
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
mov dword [ebp - 0x128], ebx
mov cl, byte [ebx]
cmp cl, 0x88
jae 0x454c7c
cmp cl, 0x81
je 0x454c7c
mov dword [ebp - 0x150], 0
jmp 0x454c95
mov edx, dword [ebp - 0x148]
lea eax, [edx + 4]
mov edx, dword [edx]
mov eax, dword [eax]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x150], eax
cmp cl, 0x7d
jb 0x454ca3
cmp cl, 0x80
jbe 0x45e5a5
cmp cl, 0x82
je 0x45e5a5
cmp cl, 0x85
je 0x454cc4
cmp cl, 0x8a
je 0x454cc4
cmp cl, 0x86
je 0x454cc4
cmp cl, 0x8b
jne 0x454d93
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
mov ecx, dword [ebp - 0x118]
shl edx, 8
or edx, eax
mov eax, dword [ecx + 0xa4]
lea ebx, [edx + edx]
test eax, eax
je 0x454ced
cmp dword [eax + 4], edx
je 0x45e490
mov eax, ecx
mov eax, dword [eax + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [ecx + 0x90], eax
cmp ebx, dword [ecx + 0x14]
jl 0x454d1a
mov ebx, dword [ebp - 0x128]
or eax, 0x10000
mov dword [ecx + 0x90], eax
jmp 0x454d99
mov ecx, dword [ebp - 0x138]
cmp ebx, ecx
jle 0x454d4c
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x454d46
mov eax, dword [ebp - 0x168]
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [ebp - 0x138]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [ebp - 0x118]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [ebp - 0x118]
cmp edx, ebx
jg 0x454d8b
lea edx, [ebx + 2]
mov dword [ebp - 0x138], edx
mov ebx, dword [ebp - 0x128]
jmp 0x454d9f
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x138]
mov al, byte [edi]
cmp al, 0x7b
je 0x45e57a
cmp al, 0x78
je 0x454db9
cmp esi, dword [ebp - 0x150]
jne 0x45dee0
cmp byte [ebx], 0x81
jne 0x4564c6
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push edx
push dword [ebp - 0x140]
lea edx, [edi + 3]
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov eax, dword [ebp - 0x118]
mov dword [eax + 0xb4], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x44], 0
je 0x454e38
cmp esi, dword [eax + 0x74]
jne 0x454e38
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
cmp esi, dword [eax + 0x74]
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x44], 0
je 0x454e66
cmp esi, dword [eax + 0x74]
je case.default.0x455d5a
mov ecx, dword [eax + 0x74]
cmp esi, ecx
je 0x456a64
cmp esi, dword [eax + 0x78]
je case.default.0x455d5a
mov edx, dword [eax + 0x18]
test edx, edx
je 0x454eb2
cmp esi, ecx
jbe case.default.0x455d5a
push dword [ebp - 0x12c]
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.00464060
add esp, 0xc
test eax, eax
je case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov edx, dword [eax + 0x1c]
lea eax, [ecx + edx]
cmp esi, eax
jb case.default.0x455d5a
mov ebx, dword [ebp - 0x118]
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + 0x34]
jne case.default.0x455d5a
cmp edx, 1
je case.0x455d5a.10
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x35]
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x118]
mov eax, dword [eax + 0x94]
add eax, dword [ebx + 0x74]
cmp esi, eax
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x11c], edi
jmp 0x453a0c
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x454fc2
mov edx, dword [eax + 0x18]
test edx, edx
je 0x454f8c
push dword [ebp - 0x12c]
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.00463ed0
add esp, 0xc
test eax, eax
je 0x45e5dd
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x45e5e3
mov ebx, dword [ebp - 0x118]
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x454fbb
cmp edx, 1
je case.0x455d5a.10
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.0x455d5a.10
mov eax, ebx
jmp 0x45e5e3
cmp dword [eax + 0x48], 0
jne case.default.0x455d5a
jmp 0x4550a9
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x48], 0
jne case.default.0x455d5a
cmp dword [eax + 0x58], 0
je 0x455003
jmp 0x454fef
mov eax, dword [ebp - 0x118]
cmp esi, dword [eax + 0x78]
jb case.default.0x455d5a
jmp 0x4550a9
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x78]
cmp esi, eax
jae 0x4550a3
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test edx, edx
je 0x45507c
push dword [ebp - 0x12c]
mov ecx, esi
push edi
push eax
call fcn.00463ed0
add esp, 0xc
test eax, eax
jne 0x455098
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.default.0x455d5a
lea eax, [esi + 1]
cmp eax, dword [ebx + 0x78]
jb case.default.0x455d5a
cmp dword [ebx + 0x18], 0
jne case.default.0x455d5a
cmp dword [ebx + 0x1c], 2
jne case.default.0x455d5a
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.default.0x455d5a
mov dword [ebx + 0x64], 1
cmp ecx, 1
jmp 0x45e819
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x455034
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x455034
cmp ecx, 1
je 0x455098
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
jne 0x455034
mov eax, ebx
mov eax, dword [eax + 0x78]
sub eax, dword [edi]
cmp esi, eax
jne 0x455034
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x88]
mov ebx, dword [ebp - 0x118]
test eax, eax
je case.0x455d5a.10
cmp esi, dword [ebx + 0x84]
jbe case.0x455d5a.10
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45e81f
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x74]
test edx, edx
je 0x455342
cmp esi, eax
je 0x455242
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x45511e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x455112
mov edi, dword [ebp - 0x118]
cmp ecx, dword [edi + 0x84]
jae 0x455132
mov dword [edi + 0x84], edx
movzx ebx, byte [edx]
mov ecx, ebx
cmp ebx, 0xc0
jb 0x4551e3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x45515e
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4551df
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x455171
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4551d9
and eax, 0x3f
test bl, 8
jne 0x45518c
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x4551d9
test bl, 4
jne 0x4551b0
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
jmp 0x4551d9
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov ecx, ebx
cmp dword [edi + 0x54], 0
je 0x45522a
cmp ecx, 0x5f
je 0x455223
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x455223
cmp eax, 3
jne 0x455242
mov edi, 1
jmp 0x455244
cmp ecx, 0x100
jae 0x455242
mov eax, dword [edi + 0x40]
test byte [ebx + eax], 0x10
je 0x455242
mov edi, 1
jmp 0x455244
xor edi, edi
mov ebx, dword [ebp - 0x118]
cmp esi, dword [ebx + 0x78]
jae 0x45543b
movzx edx, byte [esi]
mov ecx, edx
cmp edx, 0xc0
jb 0x455304
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45527f
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x455300
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x455292
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4552fa
and eax, 0x3f
test dl, 8
jne 0x4552ad
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4552fa
test dl, 4
jne 0x4552d1
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4552fa
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
cmp dword [ebx + 0x54], 0
je 0x45532a
cmp ecx, 0x5f
je 0x455424
mov eax, ecx
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
and ecx, 0x7f
jmp 0x455401
cmp ecx, 0x100
jae 0x45545d
mov eax, dword [ebx + 0x40]
test byte [edx + eax], 0x10
jmp 0x455432
mov ebx, dword [ebp - 0x118]
cmp esi, eax
je 0x4553c9
cmp esi, dword [ebx + 0x84]
ja 0x45535d
lea eax, [esi - 1]
mov dword [ebx + 0x84], eax
cmp dword [ebx + 0x54], 0
movzx ecx, byte [esi - 1]
je 0x4553b9
cmp ecx, 0x5f
je 0x4553b2
mov eax, ecx
test eax, eax
jns 0x455375
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
and ecx, 0x8000007f
jns 0x45538f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x4553b2
cmp eax, 3
jne 0x4553c9
mov edi, 1
jmp 0x4553cb
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je 0x4553c9
mov edi, 1
jmp 0x4553cb
xor edi, edi
cmp esi, dword [ebx + 0x78]
jae 0x45543b
cmp dword [ebx + 0x54], 0
movzx ecx, byte [esi]
je 0x45542b
cmp ecx, 0x5f
je 0x455424
mov eax, ecx
test eax, eax
jns 0x4553e7
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
and ecx, 0x8000007f
jns 0x455401
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x455424
cmp eax, 3
jne 0x45545d
mov ecx, 1
jmp 0x45545f
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je 0x45545d
mov ecx, 1
jmp 0x45545f
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x45545d
cmp esi, dword [ebx + 0x84]
jbe 0x45545d
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45e81f
xor ecx, ecx
mov edx, dword [ebp - 0x11c]
mov al, byte [edx]
inc edx
mov dword [ebp - 0x11c], edx
cmp al, 5
jne 0x45547b
xor eax, eax
cmp ecx, edi
sete al
jmp 0x455482
xor eax, eax
cmp ecx, edi
setne al
test eax, eax
jne case.default.0x455d5a
jmp 0x453a00
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x4554bc
mov ecx, dword [ebx + 0x78]
cmp esi, ecx
jae 0x4554e4
push dword [ebp - 0x12c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.00463ed0
add esp, 0xc
test eax, eax
jne case.default.0x455d5a
jmp 0x4554e4
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x4554e4
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x4554e4
cmp ecx, 1
je case.default.0x455d5a
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.default.0x455d5a
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.0x453a3e.13
mov eax, dword [ebx + 0x78]
dec eax
cmp esi, eax
jne case.0x453a3e.13
cmp dword [ebx + 0x18], 0
jne case.0x453a3e.13
cmp dword [ebx + 0x1c], 2
jne case.0x453a3e.13
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.0x453a3e.13
mov dword [ebx + 0x64], 1
cmp ecx, 1
jg 0x45e81f
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x45e62a
inc esi
cmp dword [ebp - 0x12c], 0
je case.0x455d5a.10
cmp esi, edx
jae case.0x455d5a.10
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne case.0x455d5a.10
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x455540
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
mov edi, dword [ebp - 0x11c]
inc esi
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a0c
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov eax, edx
je 0x45566f
cmp edx, 0xc0
jb 0x45566f
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4555c6
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x45566d
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4555e7
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x45566d
test dl, 8
jne 0x45560a
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x45566d
test dl, 4
jne 0x455639
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x45566d
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0x100
jae case.0x455d5a.10
mov eax, dword [ebx + 0x40]
test byte [edx + eax], 4
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x455793
cmp ecx, 0xc0
jb 0x455793
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x4556d5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x455791
test cl, 0x10
jne 0x4556f6
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x455791
test cl, 8
jne 0x455720
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x455791
test cl, 4
jne 0x455756
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x455791
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0xff
ja case.default.0x455d5a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
je case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x4558b7
cmp ecx, 0xc0
jb 0x4558b7
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x4557f9
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x4558b5
test cl, 0x10
jne 0x45581a
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x4558b5
test cl, 8
jne 0x455844
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x4558b5
test cl, 4
jne 0x45587a
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x4558b5
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0x100
jae case.0x455d5a.10
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x4559db
cmp ecx, 0xc0
jb 0x4559db
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45591d
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x4559d9
test cl, 0x10
jne 0x45593e
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x4559d9
test cl, 8
jne 0x455968
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x4559d9
test cl, 4
jne 0x45599e
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x4559d9
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0xff
ja case.default.0x455d5a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test edx, edx
je 0x455aff
cmp ecx, 0xc0
jb 0x455aff
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455a41
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x455afd
test cl, 0x10
jne 0x455a62
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x455afd
test cl, 8
jne 0x455a8c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x455afd
test cl, 4
jne 0x455ac2
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x455afd
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0x100
jae case.0x455d5a.10
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov eax, edx
je 0x455c15
cmp edx, 0xc0
jb 0x455c15
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x455b6c
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x455c13
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x455b8d
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x455c13
test dl, 8
jne 0x455bb0
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x455c13
test dl, 4
jne 0x455bdf
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x455c13
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0xff
ja case.default.0x455d5a
mov eax, dword [ebx + 0x40]
test byte [edx + eax], 0x10
je case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov eax, esi
je 0x455d40
cmp ecx, 0xc0
jb 0x455d40
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455c82
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x455d3e
test cl, 0x10
jne 0x455ca3
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x455d3e
test cl, 8
jne 0x455ccd
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x455d3e
test cl, 4
jne 0x455d03
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x455d3e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, esi
cmp ecx, 0x85
ja 0x455dbf
je case.0x455d5a.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x455d5a
jmp dword [ecx*4 + 0x461c9c]
cmp eax, edx
jb 0x455da1
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je case.0x455d5a.10
cmp eax, dword [ebx + 0x84]
jbe case.0x455d5a.10
mov dword [ebx + 0x64], 1
cmp ecx, 1
jg 0x45e81f
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp byte [esi], 0xa
jne case.0x455d5a.10
mov edi, dword [ebp - 0x11c]
lea esi, [eax + 1]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
sub ecx, 0x2028
je case.0x455d5a.11
sub ecx, 1
jne case.default.0x455d5a
cmp dword [ebx + 0x68], 0
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
test edx, edx
je 0x455ee2
cmp ecx, 0xc0
jb 0x455ee2
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455e26
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x455ee2
test cl, 0x10
jne 0x455e47
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x455ee2
test cl, 8
jne 0x455e71
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x455ee2
test cl, 4
jne 0x455ea7
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x455ee2
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x2000
ja 0x455f4c
je case.default.0x455d5a
cmp ecx, 0xa0
ja 0x455f22
je case.default.0x455d5a
cmp ecx, 9
je case.default.0x455d5a
cmp ecx, 0x20
je case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp ecx, 0x1680
je case.default.0x455d5a
cmp ecx, 0x180e
je case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp ecx, 0x3000
ja case.0x455d5a.10
je case.default.0x455d5a
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x455d5a.10
movzx eax, byte [ecx + 0x461cb4]
jmp dword [eax*4 + 0x461cac]
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
test edx, edx
je 0x456071
cmp ecx, 0xc0
jb 0x456071
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x455fb5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x456071
test cl, 0x10
jne 0x455fd6
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x456071
test cl, 8
jne 0x456000
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x456071
test cl, 4
jne 0x456036
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x456071
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x2000
ja 0x4560db
je case.0x455d5a.10
cmp ecx, 0xa0
ja 0x4560b1
je case.0x455d5a.10
cmp ecx, 9
je case.0x455d5a.10
cmp ecx, 0x20
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp ecx, 0x1680
je case.0x455d5a.10
cmp ecx, 0x180e
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp ecx, 0x3000
ja case.default.0x455d5a
je case.0x455d5a.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x455d5a
movzx eax, byte [ecx + 0x461d1c]
jmp dword [eax*4 + 0x461d14]
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
test edx, edx
je 0x456200
cmp ecx, 0xc0
jb 0x456200
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x456144
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x456200
test cl, 0x10
jne 0x456165
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x456200
test cl, 8
jne 0x45618f
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x456200
test cl, 4
jne 0x4561c5
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x456200
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x456221
je case.default.0x455d5a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x455d5a.10
jmp dword [ecx*4 + 0x461d7c]
sub ecx, 0x2028
je case.default.0x455d5a
sub ecx, 1
je case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
je 0x456334
cmp edx, 0xc0
jb 0x456334
test dl, 0x20
jne 0x456287
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x456334
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4562ae
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x456334
test dl, 8
jne 0x4562d1
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x456334
test dl, 4
jne 0x456300
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x456334
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x85
ja 0x456355
je case.0x455d5a.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x455d5a
jmp dword [edx*4 + 0x461d8c]
sub edx, 0x2028
je case.0x455d5a.10
sub edx, 1
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edi, edx
je 0x45647b
cmp edx, 0xc0
jb 0x45647b
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x4563bd
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x456479
test dl, 0x10
jne 0x4563de
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 2
jmp 0x456479
test dl, 8
jne 0x456408
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x456479
test dl, 4
jne 0x45643e
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x456479
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov edi, edx
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x682dd0]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ebx, word [ecx*2 + 0x686790]
mov ecx, dword [ebp - 0x11c]
movzx eax, byte [ecx + 1]
cmp eax, 0xa
ja case.default.0x4564ac
jmp dword [eax*4 + 0x461d9c]
cmp dword [ebp - 0x124], 0xf
je case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov al, byte [ebx*8 + 0x684fd1]
cmp al, 9
je 0x4564ff
cmp al, 5
je 0x4564ff
cmp al, 8
je 0x4564ff
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x4564ba
xor eax, eax
mov ecx, 1
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x4564ba
mov edi, dword [ebp - 0x11c]
xor edx, edx
movzx ecx, byte [ebx*8 + 0x684fd1]
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x682310]
setne dl
xor eax, eax
cmp dword [ebp - 0x124], 0x10
sete al
cmp edx, eax
je case.default.0x455d5a
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov edi, dword [ebp - 0x11c]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x684fd1]
setne cl
xor eax, eax
cmp dword [ebp - 0x124], 0x10
sete al
cmp ecx, eax
je case.default.0x455d5a
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov edi, dword [ebp - 0x11c]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x684fd0]
setne cl
xor eax, eax
cmp dword [ebp - 0x124], 0x10
sete al
cmp ecx, eax
je case.default.0x455d5a
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x453a06
movzx eax, byte [ebx*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x4564ff
cmp eax, 3
je 0x4564ff
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x4564ba
cmp edx, 0x20
ja 0x456624
je case.0x4564ac.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x4566a5.8203
jmp dword [edx*4 + 0x461dc8]
cmp edx, 0x2000
ja 0x456685
je case.0x4564ac.0
cmp edx, 0x1680
ja 0x45667d
je case.0x4564ac.0
sub edx, 0x85
je case.0x4564ac.0
sub edx, 0x1b
je case.0x4564ac.0
movzx eax, byte [ebx*8 + 0x684fd1]
xor ecx, ecx
cmp dword [eax*4 + 0x682310], 6
sete cl
xor eax, eax
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x4564ba
cmp edx, 0x180e
jmp 0x45664f
cmp edx, 0x3000
ja case.0x4566a5.8203
je case.0x4564ac.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4566a5.8203
movzx eax, byte [edx + 0x461de4]
jmp dword [eax*4 + 0x461ddc]
movzx eax, byte [ebx*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x4564ff
cmp eax, 3
je 0x4564ff
cmp edi, 0x5f
je 0x4564ff
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jmp 0x4564ba
movzx eax, byte [ecx + 2]
mov ecx, dword [eax*4 + 0x686650]
lea eax, [eax*4 + 0x686650]
cmp edi, ecx
jb 0x45670e
lea eax, [eax + 4]
cmp edx, ecx
je 0x45671a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x456701
cmp dword [ebp - 0x124], 0x10
jmp 0x4564ba
cmp dword [ebp - 0x124], 0x10
jne case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x453a06
cmp edi, 0x24
je 0x45676c
cmp edi, 0x40
je 0x45676c
cmp edi, 0x60
je 0x45676c
cmp edi, 0xa0
jb 0x456760
cmp edi, 0xd7ff
jbe 0x45676c
cmp edi, 0xe000
jae 0x45676c
xor ecx, ecx
jmp 0x456771
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x124], 0xf
sete al
cmp ecx, eax
jne 0x4564c0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x128], eax
cmp esi, eax
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x13c], edx
mov ecx, esi
je 0x4568f8
cmp edx, 0xc0
jb 0x4568f8
mov al, byte [esi]
test dl, 0x20
jne 0x4567eb
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x4568f6
lea ecx, [esi + 1]
test dl, 0x10
jne 0x456811
mov ebx, edx
movzx eax, al
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
add esi, 2
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x4568f1
test dl, 8
jne 0x456846
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x13c]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x4568f1
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x456886
mov ebx, dword [ebp - 0x13c]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x4568f1
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x13c]
mov dword [ebp - 0x144], ebx
and dword [ebp - 0x144], 1
shl dword [ebp - 0x144], 6
or dword [ebp - 0x144], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x144], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x144], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov ecx, esi
mov edx, dword [ebp - 0x128]
mov eax, ebx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx ebx, byte [eax*8 + 0x684fd2]
cmp ecx, edx
jae 0x456a4b
nop word [eax + eax]
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x456a04
cmp edx, 0xc0
jb 0x456a04
test dl, 0x20
jne 0x456967
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x4569fc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x456986
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x4569fc
and eax, 0x3f
test dl, 8
jne 0x4569a6
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4569fc
test dl, 4
jne 0x4569cf
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4569fc
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 0x128]
movzx eax, word [eax*2 + 0x686790]
movzx ecx, byte [eax*8 + 0x684fd2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x682930], eax
je 0x456a4b
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x456930
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je case.0x455d5a.10
cmp esi, edx
jb case.0x455d5a.10
jmp 0x4550bd
mov ebx, eax
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
jmp 0x453a06
xor eax, eax
cmp edi, 0x74
mov edi, dword [ebp - 0x11c]
sete al
mov dword [ebp - 0x13c], eax
movzx edx, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 1]
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [edi + 2]
add edi, 5
or ecx, eax
mov dword [ebp - 0x11c], edi
imul ecx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x30]
mov ebx, dword [ebx + 0x50]
add eax, ecx
neg ebx
sbb ebx, ebx
xor edi, edi
neg ebx
mov dword [ebp - 0x164], edi
dec ebx
mov dword [ebp - 0x144], ebx
test edx, edx
je 0x456b86
mov dword [ebp - 0x150], eax
nop
movzx ecx, byte [eax]
dec edx
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x164], edi
cmp edi, dword [ebp - 0x138]
jge 0x456b0d
mov eax, dword [ecx + 0xc]
cmp dword [eax + edi*4], 0
jge 0x456b22
mov eax, dword [ecx + 0x24]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0x150], eax
test edx, edx
jg 0x456ae0
jmp 0x456b86
mov ebx, dword [eax + edi*4 + 4]
sub ebx, dword [eax + edi*4]
jmp 0x456b80
xor eax, eax
cmp edi, 0x72
sete al
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x11c]
add dword [ebp - 0x11c], 3
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [ebp - 0x164], edi
cmp edi, dword [ebp - 0x138]
jge 0x456b76
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
js 0x456b76
mov ebx, dword [eax + edi*4 + 4]
sub ebx, ecx
jmp 0x456b80
mov ebx, dword [ebx + 0x50]
neg ebx
sbb ebx, ebx
neg ebx
dec ebx
mov dword [ebp - 0x144], ebx
mov ecx, dword [ebp - 0x11c]
mov dl, byte [ecx]
movzx ecx, dl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x456ba4
movzx eax, byte [eax + 0x461e4c]
jmp dword [eax*4 + 0x461e44]
inc dword [ebp - 0x11c]
lea eax, [ecx - 0x62]
movsx ebx, byte [eax + 0x681df4]
mov ecx, eax
movsx eax, byte [eax + 0x681de8]
and ecx, 1
test eax, eax
mov dword [ebp - 0x14c], ecx
cmove eax, dword [ebp - 0x16c]
mov dword [ebp - 0x128], eax
jmp 0x456c26
xor eax, eax
cmp dl, 0x69
mov edx, dword [ebp - 0x11c]
sete al
mov dword [ebp - 0x14c], eax
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
movzx edx, byte [edx + 3]
shl ebx, 8
or ebx, eax
shl edx, 8
mov eax, dword [ebp - 0x11c]
movzx eax, byte [eax + 4]
or edx, eax
cmove edx, dword [ebp - 0x16c]
add dword [ebp - 0x11c], 5
mov dword [ebp - 0x128], edx
mov edx, dword [ebp - 0x144]
mov ecx, ebx
test edx, edx
je 0x4539fa
jns 0x456c40
test ebx, ebx
je 0x4539fa
mov dword [ebp - 0x150], 1
cmp ecx, 1
jl 0x456c8a
nop
push dword [ebp - 0x13c]
mov ecx, edi
push dword [ebp - 0x118]
push edx
mov edx, esi
call fcn.004535b0
add esp, 0xc
test eax, eax
js 0x45e653
mov edx, dword [ebp - 0x144]
add esi, eax
mov eax, dword [ebp - 0x150]
inc eax
mov dword [ebp - 0x150], eax
cmp eax, ebx
jle 0x456c50
mov eax, dword [ebp - 0x128]
cmp ebx, eax
je 0x4539fa
cmp dword [ebp - 0x14c], 0
je 0x45e6cd
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop dword [eax]
cmp ebx, dword [ebp - 0x128]
jge case.default.0x455d5a
push dword [ebp - 0x13c]
mov edi, dword [ebp - 0x118]
mov edx, esi
mov ecx, dword [ebp - 0x164]
push edi
push dword [ebp - 0x144]
call fcn.004535b0
add esp, 0xc
test eax, eax
js 0x45e693
mov edx, dword [ebp - 0x11c]
add esi, eax
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
inc ebx
push eax
push dword [ebp - 0x148]
push edi
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x456ce0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x13c]
mov edx, esi
mov ecx, edi
push dword [ebp - 0x118]
push ebx
call fcn.004535b0
add esp, 0xc
test eax, eax
js 0x45e7b2
add esi, eax
jmp 0x4539fa
mov ebx, dword [ebp - 0x11c]
mov cl, byte [ebx + 0x21]
lea edi, [ebx + 1]
add ebx, 0x21
movzx edx, cl
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x11c], ebx
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x456db2
movzx eax, byte [eax + 0x461e5c]
jmp dword [eax*4 + 0x461e54]
lea eax, [edx - 0x62]
inc ebx
mov dword [ebp - 0x11c], ebx
cmp eax, 8
jae 0x456ddb
mov ebx, eax
and ebx, 1
mov dword [ebp - 0x144], ebx
mov ebx, dword [ebp - 0x11c]
jmp 0x456de5
mov dword [ebp - 0x158], 1
movsx ecx, byte [eax + 0x681df4]
movsx eax, byte [eax + 0x681de8]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x134], eax
test eax, eax
jne 0x456e7e
mov dword [ebp - 0x134], 0x7fffffff
jmp 0x456e7e
xor eax, eax
cmp cl, 0x69
sete al
mov dword [ebp - 0x144], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [ebx + 1]
sete al
shl ecx, 8
mov dword [ebp - 0x158], eax
movzx eax, byte [ebx + 2]
movzx ebx, byte [ebx + 3]
or ecx, eax
mov eax, dword [ebp - 0x11c]
shl ebx, 8
movzx eax, byte [eax + 4]
or ebx, eax
cmove ebx, dword [ebp - 0x16c]
mov dword [ebp - 0x134], ebx
mov ebx, dword [ebp - 0x11c]
add ebx, 5
mov dword [ebp - 0x11c], ebx
jmp 0x456e78
mov dword [ebp - 0x134], 1
mov ecx, 1
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x12c], 0
mov edx, 1
mov dword [ebp - 0x13c], edx
je 0x45701b
cmp ecx, edx
jl 0x45706c
nop
mov ebx, dword [ebp - 0x118]
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x120], ebx
cmp ebx, 0xc0
jb 0x456fd4
test bl, 0x20
jne 0x456ede
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x456fd4
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x456f04
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x456fc9
lea edx, [esi + 2]
test bl, 8
jne 0x456f2d
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x456fc3
lea edi, [esi + 3]
test bl, 4
jne 0x456f5e
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x456fbd
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x120]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x120], ebx
and eax, 0x3f
shl dword [ebp - 0x120], 6
mov ecx, dword [ebp - 0x120]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x120], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x130]
and eax, 0x3f
or ebx, eax
cmp ebx, 0xff
jbe 0x456feb
cmp dword [ebp - 0x124], 0x6e
je case.default.0x455d5a
jmp 0x45700a
mov eax, dword [ebp - 0x15c]
mov ecx, ebx
and ecx, 7
shr ebx, 3
shl eax, cl
test byte [ebx + edi], al
je case.default.0x455d5a
mov ecx, dword [ebp - 0x130]
inc edx
mov dword [ebp - 0x13c], edx
cmp edx, ecx
jle 0x456ea0
jmp 0x457066
cmp ecx, 1
jl 0x45706c
mov edx, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x13c]
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x45e7ef
movzx edx, byte [esi]
inc esi
mov eax, dword [ebp - 0x15c]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [edx + ecx], al
je case.default.0x455d5a
mov ecx, dword [ebp - 0x130]
inc ebx
cmp ebx, ecx
jle 0x457030
mov ebx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x134]
cmp ecx, eax
je 0x4539fa
cmp dword [ebp - 0x144], 0
jne 0x45e88e
mov edx, dword [ebp - 0x12c]
mov ebx, esi
mov dword [ebp - 0x144], ebx
test edx, edx
je 0x4572b1
mov edx, dword [ebp - 0x118]
cmp ecx, eax
jge 0x45720c
mov ebx, dword [edx + 0x78]
nop
cmp esi, ebx
jae 0x4571de
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x45718b
test dl, 0x20
jne 0x4570e2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45717d
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x457101
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x457177
and eax, 0x3f
test dl, 8
jne 0x457121
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x457177
test dl, 4
jne 0x45714a
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x457177
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [ebp - 0x130]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x134]
cmp edx, 0xff
jbe 0x45719e
cmp dword [ebp - 0x124], 0x6e
je 0x4571d6
jmp 0x4571c5
mov eax, dword [ebp - 0x15c]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [edx + ecx], al
je 0x4571d6
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x134]
inc ecx
add esi, edi
mov dword [ebp - 0x130], ecx
cmp ecx, eax
jl 0x4570b0
mov edx, dword [ebp - 0x118]
jmp 0x457206
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x457206
cmp esi, dword [edx + 0x84]
jbe 0x457206
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
mov ebx, dword [ebp - 0x144]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop dword [eax + eax]
mov eax, esi
dec esi
cmp eax, ebx
jbe case.default.0x455d5a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45726d
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x457263
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x457250
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
cmp ecx, eax
mov ecx, dword [ebp - 0x118]
jge 0x457304
mov edi, dword [ecx + 0x78]
nop
cmp esi, edi
jae 0x457322
movzx edx, byte [esi]
mov eax, dword [ebp - 0x15c]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [edx + ecx], al
je 0x4572f8
mov eax, dword [ebp - 0x130]
inc esi
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x134]
jl 0x4572c0
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x12c]
cmp dword [ebp - 0x158], 0
je 0x45e835
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
jmp 0x453a0c
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4572fe
cmp esi, dword [ecx + 0x84]
jbe 0x4572fe
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x4572fe
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
movzx ecx, byte [edi + 1]
lea ebx, [edi + 3]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x14c], ebx
add edi, ecx
mov dword [ebp - 0x11c], edi
mov cl, byte [edi]
movzx edx, cl
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x457398
movzx eax, byte [eax + 0x461e70]
jmp dword [eax*4 + 0x461e68]
lea eax, [edx - 0x62]
inc edi
mov dword [ebp - 0x11c], edi
cmp eax, 8
jae 0x4573bb
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x144], ecx
jmp 0x4573c5
mov dword [ebp - 0x158], 1
movsx ecx, byte [eax + 0x681df4]
movsx eax, byte [eax + 0x681de8]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], eax
test eax, eax
jne 0x457452
mov dword [ebp - 0x124], 0x7fffffff
jmp 0x457452
movzx edx, byte [edi + 3]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [ebp - 0x144], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edi + 1]
sete al
shl ecx, 8
mov dword [ebp - 0x158], eax
movzx eax, byte [edi + 2]
or ecx, eax
shl edx, 8
movzx eax, byte [edi + 4]
or edx, eax
cmove edx, dword [ebp - 0x16c]
add edi, 5
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x11c], edi
jmp 0x45744c
mov dword [ebp - 0x124], 1
mov ecx, 1
mov dword [ebp - 0x128], ecx
mov edi, 1
cmp ecx, edi
jl 0x457584
nop
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eb4d
movzx ecx, byte [esi]
inc esi
mov edx, dword [ebp - 0x12c]
test edx, edx
je 0x457562
cmp ecx, 0xc0
jb 0x457562
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x4574a6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x457562
test cl, 0x10
jne 0x4574c7
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x457562
test cl, 8
jne 0x4574f1
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x457562
test cl, 4
jne 0x457527
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x457562
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
push edx
mov edx, ebx
call fcn.00463780
add esp, 4
test eax, eax
je case.default.0x455d5a
mov ecx, dword [ebp - 0x128]
inc edi
cmp edi, ecx
jle 0x457460
mov eax, dword [ebp - 0x124]
mov edx, dword [ebp - 0x12c]
cmp ecx, eax
je 0x457311
cmp dword [ebp - 0x144], 0
jne 0x45eb60
mov ebx, esi
mov dword [ebp - 0x13c], ebx
cmp ecx, eax
jge 0x4576da
nop word [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45778e
mov edx, dword [ebp - 0x12c]
mov edi, 1
movzx ebx, byte [esi]
test edx, edx
je 0x4576a4
cmp ebx, 0xc0
jb 0x4576a4
test bl, 0x20
jne 0x457607
movzx eax, byte [esi + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45769c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x457626
and ebx, 0xf
mov edi, 3
shl ebx, 6
or ebx, ecx
jmp 0x45769c
and eax, 0x3f
test bl, 8
jne 0x457646
and ebx, 7
mov edi, 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
jmp 0x45769c
test bl, 4
jne 0x45766f
and ebx, 3
mov edi, 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
jmp 0x45769c
and ebx, edi
mov edi, 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
push edx
mov edx, dword [ebp - 0x14c]
mov ecx, ebx
call fcn.00463780
add esp, 4
test eax, eax
je 0x4576d4
mov ecx, dword [ebp - 0x128]
add esi, edi
inc ecx
mov dword [ebp - 0x128], ecx
cmp ecx, dword [ebp - 0x124]
jl 0x4575c0
mov ebx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop
mov eax, esi
dec esi
cmp eax, ebx
jbe case.default.0x455d5a
cmp dword [ebp - 0x12c], 0
je 0x45774a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45774a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x457740
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x457720
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4577b0
cmp esi, dword [ecx + 0x84]
jbe 0x4577b0
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45e81f
mov ebx, dword [ebp - 0x13c]
jmp 0x4576e0
test edx, edx
je 0x457843
mov eax, dword [ebp - 0x11c]
mov edx, 1
inc eax
mov ecx, edx
mov dword [ebp - 0x11c], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x457810
test al, 0x20
jne 0x4577ea
lea edx, [ecx + 1]
jmp 0x45780e
test al, 0x10
jne 0x4577f5
mov edx, 3
jmp 0x45780e
test al, 8
jne 0x457800
mov edx, 4
jmp 0x45780e
mov edx, 5
test al, 4
je 0x45780e
mov edx, 6
mov ecx, edx
mov edi, dword [ebx + 0x78]
mov eax, edi
sub eax, esi
cmp ecx, eax
jg 0x45ed08
mov edi, dword [ebp - 0x11c]
mov cl, byte [edi]
dec edx
mov al, byte [esi]
inc edi
inc esi
mov dword [ebp - 0x11c], edi
cmp cl, al
jne case.default.0x455d5a
test edx, edx
jg 0x457825
jmp 0x453a06
mov eax, dword [ebx + 0x78]
sub eax, esi
cmp eax, 1
jl 0x45e62a
mov edi, dword [ebp - 0x11c]
mov al, byte [esi]
inc esi
cmp byte [edi + 1], al
jne case.default.0x455d5a
add edi, 2
mov dword [ebp - 0x11c], edi
jmp 0x453a0c
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
mov edi, dword [ebp - 0x11c]
test edx, edx
je 0x457b5a
movzx ebx, byte [edi + 1]
inc edi
mov dword [ebp - 0x158], 1
mov edx, ebx
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x144], edx
cmp ebx, 0xc0
jb 0x457998
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4578dc
mov eax, ebx
mov dword [ebp - 0x158], 2
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x457988
movzx eax, byte [edi + 2]
test bl, 0x10
jne 0x4578fc
and ebx, 0xf
mov dword [ebp - 0x158], 3
shl ebx, 6
or ebx, ecx
jmp 0x457982
and eax, 0x3f
test bl, 8
jne 0x457921
and ebx, 7
mov dword [ebp - 0x158], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x457982
test bl, 4
jne 0x45794f
and ebx, 3
mov dword [ebp - 0x158], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x457982
and ebx, 1
mov dword [ebp - 0x158], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov edx, ebx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x144], edx
cmp edx, 0x80
jae 0x4579cb
mov eax, dword [ebp - 0x118]
movzx ecx, byte [esi]
mov edx, dword [eax + 0x38]
mov al, byte [ebx + edx]
cmp al, byte [ecx + edx]
jne case.default.0x455d5a
mov ebx, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x11c], edi
inc esi
jmp 0x453a06
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x457aff
test bl, 0x20
jne 0x4579fa
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x457aff
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x457a25
and ebx, 0xf
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 2
movzx eax, byte [ecx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x457aff
lea edx, [esi + 2]
test bl, 8
jne 0x457a59
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x457af9
lea edi, [esi + 3]
test bl, 4
jne 0x457a9b
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x457af3
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
movzx ebx, byte [ebx]
movzx eax, al
and ebx, 0x3f
and eax, 0x3f
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x14c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x14c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
mov edi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x144]
add edi, dword [ebp - 0x158]
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x11c], edi
cmp eax, ebx
je 0x454260
mov eax, eax
test eax, eax
jns 0x457b22
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x682dd0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x686790]
mov eax, dword [eax*8 + 0x684fd4]
add eax, edx
cmp ebx, eax
jne case.default.0x455d5a
mov ebx, dword [ebp - 0x118]
jmp 0x453a06
mov edx, dword [ebx + 0x38]
movzx eax, byte [edi + 1]
movzx ecx, byte [esi]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.default.0x455d5a
inc esi
add edi, 2
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov eax, dword [ebp - 0x11c]
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 0x11c]
add eax, 3
mov dword [ebp - 0x130], ebx
mov edx, ebx
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x124], edx
mov ecx, eax
jmp 0x457ca4
mov dword [ebp - 0x158], 1
mov eax, dword [ebp - 0x11c]
xor edx, edx
mov dword [ebp - 0x124], edx
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ebx, 8
or ebx, eax
mov dword [ebp - 0x130], ebx
cmp cl, 0x28
je 0x457bf1
mov dword [ebp - 0x144], edx
cmp cl, 0x35
jne 0x457bfb
mov dword [ebp - 0x144], 1
mov eax, dword [ebp - 0x11c]
add eax, 3
mov dword [ebp - 0x11c], eax
mov ecx, eax
jmp 0x457ca4
xor edx, edx
mov dword [ebp - 0x130], 0x7fffffff
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x124], edx
mov ecx, eax
mov dword [ebp - 0x11c], eax
jmp 0x457ca4
mov edx, 1
jmp 0x457c13
xor edx, edx
mov dword [ebp - 0x130], 1
jmp 0x457c1d
mov ecx, dword [ebp - 0x11c]
cmp edi, 0x2e
mov ebx, edi
sbb eax, eax
inc ecx
and eax, 0xfffffff3
mov dword [ebp - 0x11c], ecx
add eax, 0x2e
sub ebx, eax
mov eax, ebx
and ebx, 1
mov dword [ebp - 0x144], ebx
movsx edx, byte [eax + 0x681df4]
movsx eax, byte [eax + 0x681de8]
mov dword [ebp - 0x130], eax
test eax, eax
mov dword [ebp - 0x124], edx
mov eax, ecx
jne 0x457ca4
mov dword [ebp - 0x130], 0x7fffffff
cmp dword [ebp - 0x12c], 0
movzx ebx, byte [eax]
je 0x45815c
mov dword [ebp - 0x164], eax
cmp ebx, 0xc0
jb 0x458159
movzx edx, byte [eax + 1]
and edx, 0x3f
test bl, 0x20
jne 0x457cf2
and ebx, 0x1f
mov dword [ebp - 0x134], 2
shl ebx, 6
or edx, ebx
add eax, 2
mov dword [ebp - 0x11c], eax
jmp 0x457dd1
movzx eax, byte [eax + 2]
and eax, 0x3f
test bl, 0x10
jne 0x457d21
and ebx, 0xf
mov dword [ebp - 0x134], 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
add dword [ebp - 0x11c], 3
jmp 0x457dd1
mov ecx, dword [ebp - 0x11c]
test bl, 8
jne 0x457d54
and ebx, 7
mov dword [ebp - 0x134], 4
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 4
jmp 0x457dcb
test bl, 4
jne 0x457d8d
and ebx, 3
mov dword [ebp - 0x134], 5
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 5
jmp 0x457dcb
and ebx, 1
mov dword [ebp - 0x134], 6
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 6
mov dword [ebp - 0x11c], ecx
cmp edi, 0x2e
jb 0x457e0b
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x682dd0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x686790]
mov ecx, dword [eax*8 + 0x684fd4]
add ecx, edx
cmp ecx, edx
je 0x457e0b
lea edx, [ebp - 0x10]
call fcn.00463e80
jmp 0x457e0d
xor eax, eax
mov edx, dword [ebp - 0x124]
mov ebx, 1
mov dword [ebp - 0x128], eax
cmp edx, ebx
jl 0x457f4a
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x134]
mov ecx, dword [eax + 0x78]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x14c], eax
cmp esi, eax
ja 0x457eac
mov edx, dword [ebp - 0x164]
mov ecx, esi
sub edi, 4
jb 0x457e67
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x457e6c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457e56
cmp edi, 0xfffffffc
je 0x457e99
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x457ea6
cmp edi, 0xfffffffd
je 0x457e99
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x457ea6
cmp edi, 0xfffffffe
je 0x457e99
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x457ea6
cmp edi, 0xffffffff
je 0x457e99
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x457ea6
mov edi, dword [ebp - 0x134]
add esi, edi
jmp 0x457f2f
mov ecx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x128]
test edi, edi
jle 0x45ed23
mov eax, ecx
sub eax, edi
cmp esi, eax
ja 0x45ed23
lea edx, [ebp - 0x10]
mov ecx, esi
sub edi, 4
jb 0x457ee1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x457ee6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457ed0
cmp edi, 0xfffffffc
je 0x457f23
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45ed23
cmp edi, 0xfffffffd
je 0x457f23
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45ed23
cmp edi, 0xfffffffe
je 0x457f23
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45ed23
cmp edi, 0xffffffff
je 0x457f23
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45ed23
add esi, dword [ebp - 0x128]
mov edi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x124]
inc ebx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x13c]
cmp ebx, edx
jle 0x457e45
mov eax, dword [ebp - 0x130]
cmp edx, eax
je 0x4539fa
cmp dword [ebp - 0x144], 0
jne 0x45ed5b
mov ebx, esi
mov dword [ebp - 0x144], ebx
cmp edx, eax
jge 0x4580a4
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x134]
mov eax, dword [eax + 0x78]
mov ebx, eax
mov dword [ebp - 0x13c], eax
sub ebx, edi
nop
cmp esi, ebx
ja 0x457ff7
mov edx, dword [ebp - 0x164]
mov ecx, esi
sub edi, 4
jb 0x457fb2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x457fb7
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457fa1
cmp edi, 0xfffffffc
je 0x457fe4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x457ff1
cmp edi, 0xfffffffd
je 0x457fe4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x457ff1
cmp edi, 0xfffffffe
je 0x457fe4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x457ff1
cmp edi, 0xffffffff
je 0x457fe4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x457ff1
mov edi, dword [ebp - 0x134]
add esi, edi
jmp 0x45807f
mov eax, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x128]
test edi, edi
jle 0x458121
sub eax, edi
cmp esi, eax
ja 0x458121
lea edx, [ebp - 0x10]
mov ecx, esi
sub edi, 4
jb 0x458031
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x458036
add ecx, 4
add edx, 4
sub edi, 4
jae 0x458020
cmp edi, 0xfffffffc
je 0x458073
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x458121
cmp edi, 0xfffffffd
je 0x458073
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x458121
cmp edi, 0xfffffffe
je 0x458073
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x458121
cmp edi, 0xffffffff
je 0x458073
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x458121
add esi, dword [ebp - 0x128]
mov edi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x13c]
inc edx
mov dword [ebp - 0x124], edx
cmp edx, dword [ebp - 0x130]
jl 0x457f90
mov ebx, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
cmp esi, ebx
jbe 0x45825e
nop
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x45810a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x458100
mov ecx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x4580c0
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45826a
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45814e
cmp esi, dword [ecx + 0x78]
jb 0x45814e
cmp esi, dword [ecx + 0x84]
jbe 0x45814e
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45e81f
mov ebx, dword [ebp - 0x144]
jmp 0x4580aa
inc eax
jmp 0x45815f
lea eax, [ecx + 1]
mov dword [ebp - 0x11c], eax
mov ecx, 1
cmp edi, 0x2e
jb 0x4582be
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x3c]
movzx edi, byte [eax + ebx]
mov dword [ebp - 0x14c], edi
cmp edx, 1
jl 0x4581c0
mov edx, dword [ecx + 0x78]
mov ecx, 1
cmp esi, edx
jae 0x45eef0
movzx eax, byte [esi]
cmp ebx, eax
je 0x4581aa
cmp edi, eax
jne case.default.0x455d5a
inc ecx
inc esi
cmp ecx, dword [ebp - 0x124]
jle 0x458193
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x130]
cmp edx, eax
je 0x4539fa
cmp dword [ebp - 0x144], 0
jne 0x45ef09
mov dword [ebp - 0x14c], esi
cmp edx, eax
jge 0x458205
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x458289
movzx eax, byte [esi]
cmp ebx, eax
je 0x4581fb
cmp edi, eax
jne 0x458205
inc edx
inc esi
cmp edx, dword [ebp - 0x130]
jl 0x4581e8
mov ebx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x453a00
mov ebx, dword [ebp - 0x14c]
cmp esi, ebx
je 0x45825e
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
dec esi
test edi, edi
jne case.default.0x4542fb
cmp esi, ebx
jne 0x458222
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx]
mov edx, dword [ebx + 0x4c]
mov dword [ebp - 0x12c], edx
cmp eax, dword [ebx + 4]
jae 0x461a54
mov ecx, dword [ebp - 0x148]
jmp 0x4539b0
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x45820b
cmp esi, dword [ebx + 0x84]
jbe 0x45820b
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp 0x45820b
cmp edx, 1
jl 0x4582f3
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45efbb
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.default.0x455d5a
inc ecx
cmp ecx, dword [ebp - 0x124]
jle 0x4582d0
mov edx, dword [ebp - 0x124]
mov edi, dword [ebp - 0x130]
cmp edx, edi
je 0x4539fa
cmp dword [ebp - 0x144], 0
jne 0x45efe4
mov dword [ebp - 0x14c], esi
cmp edx, edi
jge 0x458332
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x458394
movzx eax, byte [esi]
cmp ebx, eax
jne 0x458332
inc edx
inc esi
cmp edx, edi
jl 0x458321
mov ebx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x453a00
mov ebx, dword [ebp - 0x14c]
cmp esi, ebx
je 0x45825e
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
dec esi
test edi, edi
jne case.default.0x4542fb
cmp esi, ebx
jne 0x458353
jmp 0x45825e
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x458338
cmp esi, dword [ebx + 0x84]
jbe 0x458338
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp 0x458338
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
mov eax, dword [ebp - 0x11c]
test edx, edx
je 0x458650
movzx edx, byte [eax + 1]
lea ebx, [eax + 2]
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x11c], ebx
cmp edx, 0xc0
jb 0x4584cf
test dl, 0x20
jne 0x458416
movzx eax, byte [ebx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc ebx
mov dword [ebp - 0x158], edx
jmp 0x4584c9
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45843d
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add ebx, 2
jmp 0x4584c3
test dl, 8
jne 0x458460
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 3
jmp 0x4584c3
test dl, 4
jne 0x45848f
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 4
jmp 0x4584c3
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 5
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x11c], ebx
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x144], ebx
cmp ebx, 0xc0
jb 0x4585e0
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4584fb
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x4585db
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x45851c
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x4585db
lea edx, [esi + 2]
test bl, 8
jne 0x458545
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x4585db
lea edi, [esi + 3]
test bl, 4
jne 0x458576
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x4585d5
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x144]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x144], ebx
and eax, 0x3f
shl dword [ebp - 0x144], 6
mov ecx, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x144], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x124]
and eax, 0x3f
or ebx, eax
cmp edi, 0x1f
jne 0x4585f0
cmp dword [ebp - 0x158], ebx
jmp 0x4539f4
mov edx, dword [ebp - 0x158]
cmp edx, 0x7f
jbe 0x458634
mov eax, edx
test eax, eax
jns 0x458604
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x682dd0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x45861f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x686790]
mov eax, dword [eax*8 + 0x684fd4]
add eax, edx
jmp 0x458641
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
cmp edx, ebx
je case.default.0x455d5a
cmp eax, ebx
jmp 0x4539f4
movzx edx, byte [esi]
inc esi
movzx ecx, byte [eax + 1]
cmp ecx, edx
je case.default.0x455d5a
cmp edi, 0x20
jne 0x458674
mov eax, dword [ebx + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.default.0x455d5a
mov edi, dword [ebp - 0x11c]
add edi, 2
mov dword [ebp - 0x11c], edi
jmp 0x453a06
mov ebx, dword [ebp - 0x11c]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, 3
mov edi, ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x130], edi
mov ecx, ebx
jmp 0x4587e2
mov ebx, dword [ebp - 0x11c]
xor edi, edi
mov dword [ebp - 0x130], edi
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov dword [ebp - 0x120], edx
cmp cl, 0x42
je 0x4586e4
mov dword [ebp - 0x144], edi
cmp cl, 0x4f
jne 0x4586ee
mov dword [ebp - 0x144], 1
add ebx, 3
mov ecx, ebx
jmp 0x4587e2
mov ebx, dword [ebp - 0x11c]
xor edi, edi
inc ebx
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
mov ecx, ebx
jmp 0x4587d8
mov ebx, dword [ebp - 0x11c]
mov edi, 1
inc ebx
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
mov ecx, ebx
jmp 0x4587d8
mov ebx, dword [ebp - 0x11c]
xor edi, edi
inc ebx
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
mov ecx, ebx
mov dword [ebp - 0x120], 1
jmp 0x4587e2
mov ebx, dword [ebp - 0x11c]
xor edi, edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x130], edi
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, 3
mov dword [ebp - 0x120], ecx
mov ecx, ebx
jmp 0x4587e2
mov ebx, dword [ebp - 0x11c]
cmp edi, 0x48
mov edx, edi
sbb eax, eax
inc ebx
and eax, 0xfffffff3
mov ecx, ebx
add eax, 0x48
sub edx, eax
mov eax, edx
and edx, 1
mov dword [ebp - 0x144], edx
movsx edi, byte [eax + 0x681df4]
movsx eax, byte [eax + 0x681de8]
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x4587e2
mov dword [ebp - 0x120], 0x7fffffff
movzx ebx, byte [ebx]
inc ecx
mov eax, dword [ebp - 0x12c]
mov edx, ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x11c], ecx
test eax, eax
je 0x4588f7
cmp ebx, 0xc0
jb 0x4588f7
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x458827
and ebx, 0x1f
shl ebx, 6
or ebx, eax
inc ecx
jmp 0x4588e3
test bl, 0x10
jne 0x458848
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 2
jmp 0x4588e3
test bl, 8
jne 0x458872
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 3
jmp 0x4588e3
test bl, 4
jne 0x4588a8
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 4
jmp 0x4588e3
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 5
mov eax, dword [ebp - 0x12c]
mov edx, ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x11c], ecx
cmp dword [ebp - 0x124], 0x48
jb 0x458e0b
test eax, eax
je 0x45893c
cmp edx, 0x7f
jbe 0x45893c
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x682dd0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x686790]
mov ecx, dword [ebp - 0x118]
mov edi, dword [eax*8 + 0x684fd4]
add edi, edx
jmp 0x458949
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x3c]
movzx edi, byte [eax + ebx]
cmp dword [ebp - 0x12c], 0
mov edx, 1
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x128], edx
je 0x458adf
mov ecx, dword [ebp - 0x134]
cmp eax, edx
jl 0x458b14
nop dword [eax + eax]
mov ebx, dword [ebp - 0x118]
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x124], ebx
cmp ebx, 0xc0
jb 0x458ab8
test bl, 0x20
jne 0x4589c2
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x458aac
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x4589e8
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x458aa7
lea edx, [esi + 2]
test bl, 8
jne 0x458a11
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x458aa1
lea edi, [esi + 3]
test bl, 4
jne 0x458a42
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x458aa1
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x124]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x124], ebx
and eax, 0x3f
shl dword [ebp - 0x124], 6
mov ecx, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x124], ecx
mov ebx, ecx
mov edx, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x134]
cmp ecx, ebx
je case.default.0x455d5a
mov edi, dword [ebp - 0x13c]
cmp edi, ebx
je case.default.0x455d5a
inc edx
mov dword [ebp - 0x128], edx
cmp edx, eax
jle 0x458980
jmp 0x458b14
cmp eax, 1
jl 0x458b0e
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x45eef0
movzx eax, byte [esi]
cmp ebx, eax
je case.default.0x455d5a
cmp edi, eax
je case.default.0x455d5a
mov eax, dword [ebp - 0x130]
inc edx
inc esi
cmp edx, eax
jle 0x458ae7
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x120]
cmp eax, edx
je 0x4539fa
cmp dword [ebp - 0x144], 0
jne 0x45f093
cmp dword [ebp - 0x12c], 0
mov ebx, esi
je 0x458d36
cmp eax, edx
jge 0x458c81
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x458d01
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x458c5a
test dl, 0x20
jne 0x458b8a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x458c5a
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x458bb4
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x458c54
test dl, 8
jne 0x458be0
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x458c54
test dl, 4
jne 0x458c18
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x458c54
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [ebp - 0x134]
cmp ecx, edx
je 0x458c81
cmp dword [ebp - 0x13c], edx
je 0x458c81
add esi, eax
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x120]
jl 0x458b50
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
cmp esi, ebx
jbe 0x45825e
nop dword [eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x458cea
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x458ce0
mov edx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x458ca0
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45826a
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x458c87
cmp esi, dword [edx + 0x84]
jbe 0x458c87
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp 0x458c87
cmp eax, edx
jge 0x458d79
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x134]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x458dde
movzx eax, byte [esi]
cmp edx, eax
je 0x458d79
cmp edi, eax
je 0x458d79
mov eax, dword [ebp - 0x130]
inc esi
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x120]
jl 0x458d50
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
cmp esi, ebx
je 0x45825e
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ecx, dword [ebp - 0x118]
dec esi
cmp esi, ebx
jne 0x458d94
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45826a
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x458d7f
cmp esi, dword [ecx + 0x84]
jbe 0x458d7f
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp 0x458d7f
mov edx, 1
mov dword [ebp - 0x13c], edx
test eax, eax
je 0x458f98
cmp edi, edx
jl 0x458fc5
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x458f7f
test bl, 0x20
jne 0x458e6e
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x458f73
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x458e99
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x458f6d
lea edx, [esi + 2]
test bl, 8
jne 0x458ecd
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x458f67
lea edi, [esi + 3]
test bl, 4
jne 0x458f0f
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x458f67
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
movzx ebx, byte [ebx]
movzx eax, al
and ebx, 0x3f
and eax, 0x3f
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x14c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x14c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
mov edi, dword [ebp - 0x130]
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x118]
cmp eax, ebx
je case.default.0x455d5a
inc edx
mov dword [ebp - 0x13c], edx
cmp edx, edi
jle 0x458e32
jmp 0x458fbf
cmp edi, 1
jl 0x458fc5
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x45eef0
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.default.0x455d5a
inc edx
cmp edx, edi
jle 0x458fa6
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
cmp edi, eax
je 0x4539fa
cmp dword [ebp - 0x144], 0
jne 0x45f317
mov edx, dword [ebp - 0x12c]
mov ebx, esi
test edx, edx
je 0x4591e6
cmp edi, eax
jge 0x459130
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x134]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x4591b1
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x459111
test dl, 0x20
jne 0x459041
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x459111
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45906b
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x45910b
test dl, 8
jne 0x459097
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x45910b
test dl, 4
jne 0x4590cf
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x45910b
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [ebp - 0x134]
cmp ecx, edx
je 0x459130
add esi, eax
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebp - 0x120]
jl 0x459007
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
cmp esi, ebx
jbe 0x45825e
nop dword [eax + eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x45919a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x459190
mov edx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x459150
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45826a
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x459136
cmp esi, dword [edx + 0x84]
jbe 0x459136
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp 0x459136
cmp edi, eax
jge 0x459279
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x134]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x45923f
movzx eax, byte [esi]
cmp edx, eax
je 0x459215
inc edi
inc esi
cmp edi, dword [ebp - 0x120]
jl 0x459200
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x12c]
cmp dword [ebp - 0x158], 0
je 0x45df92
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
jmp 0x453a0c
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45921b
cmp esi, dword [ecx + 0x84]
jbe 0x45921b
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x45921b
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x118]
jmp 0x459221
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x144], 1
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x120], ecx
mov ecx, edi
jmp 0x4593cf
mov edi, dword [ebp - 0x11c]
xor ebx, ebx
mov dword [ebp - 0x120], 0
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
cmp cl, 0x5c
mov dword [ebp - 0x130], edx
sete bl
add edi, 3
mov dword [ebp - 0x144], ebx
mov ecx, edi
jmp 0x4593cf
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 0
mov ecx, edi
jmp 0x4593c5
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 1
mov ecx, edi
jmp 0x4593c5
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 0
mov ecx, edi
mov dword [ebp - 0x130], 1
jmp 0x4593cf
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x120], 0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov dword [ebp - 0x130], ecx
mov ecx, edi
jmp 0x4593cf
lea ebx, [edi - 0x55]
mov edi, dword [ebp - 0x11c]
mov eax, ebx
inc edi
and ebx, 1
mov ecx, edi
mov dword [ebp - 0x144], ebx
movsx edx, byte [eax + 0x681df4]
movsx eax, byte [eax + 0x681de8]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x130], eax
test eax, eax
jne 0x4593cf
mov dword [ebp - 0x130], 0x7fffffff
movzx edx, byte [edi]
lea ebx, [ecx + 1]
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x11c], ebx
cmp edx, 0x10
je 0x4593f0
cmp edx, 0xf
je 0x4593f0
or eax, 0xffffffff
jmp 0x459416
mov cl, byte [ebx]
xor eax, eax
cmp edx, 0xf
sete al
mov dword [ebp - 0x160], eax
lea eax, [ebx + 1]
movzx ebx, byte [eax]
inc eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x154], ebx
movzx eax, cl
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x150], eax
test ecx, ecx
jle 0x4596a9
test eax, eax
js 0x45a4f4
cmp eax, 0xa
ja case.default.0x4564ac
jmp dword [eax*4 + 0x461e7c]
cmp dword [ebp - 0x160], 0
jne case.default.0x455d5a
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45b814
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
nop dword [eax + eax]
cmp esi, edx
jae 0x45efbb
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
je 0x4594b1
cmp eax, 0xc0
jb 0x4594b1
test al, 0x20
jne 0x459493
inc esi
jmp 0x4594b1
test al, 0x10
jne 0x45949c
add esi, 2
jmp 0x4594b1
test al, 8
jne 0x4594a5
add esi, 3
jmp 0x4594b1
test al, 4
jne 0x4594ae
add esi, 4
jmp 0x4594b1
add esi, 5
inc ecx
cmp ecx, ebx
jle 0x459470
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov edi, dword [ebp - 0x120]
mov ecx, 1
mov dword [ebp - 0x13c], ecx
cmp edi, ecx
jl 0x45b814
nop dword [eax]
nop word [eax + eax]
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45e7f5
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x459646
cmp edx, 0xc0
jb 0x459646
mov al, byte [esi]
test dl, 0x20
jne 0x45953f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x459646
lea ecx, [esi + 1]
test dl, 0x10
jne 0x459565
mov ebx, edx
movzx eax, al
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
add esi, 2
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45963b
test dl, 8
jne 0x45959a
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45963b
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x4595da
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x459635
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x128], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x128]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x128], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp eax, 9
je 0x45967d
cmp eax, 5
je 0x45967d
cmp eax, 8
je 0x45967d
xor eax, eax
jmp 0x459682
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x455d5a
inc ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
jle 0x4594f0
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x134]
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x130]
cmp ecx, edi
je 0x453a00
cmp dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x150]
jne 0x45f57b
mov ebx, esi
mov dword [ebp - 0x124], ebx
test eax, eax
js 0x45c70a
cmp eax, 0xa
ja case.default.0x4564ac
jmp dword [eax*4 + 0x461ea8]
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x4596a9
nop
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x45984e
cmp edx, 0xc0
jb 0x45984e
mov al, byte [esi]
test dl, 0x20
jne 0x45974f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45984e
lea ecx, [esi + 1]
test dl, 0x10
jne 0x459773
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x459849
test dl, 8
jne 0x4597a8
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x459849
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x4597e8
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x459843
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x13c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x13c], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
mov ebx, dword [ebp - 0x154]
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp dword [eax*4 + 0x682310], ebx
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x459700
jmp 0x4596a3
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x4596a9
nop dword [eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x13c], edx
je 0x459a0c
cmp edx, 0xc0
jb 0x459a0c
mov al, byte [esi]
movzx eax, al
test dl, 0x20
jne 0x45990a
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x459a07
and eax, 0x3f
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45992d
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x459a07
test dl, 8
jne 0x45995c
mov ebx, dword [ebp - 0x13c]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x459a07
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x459996
mov ebx, dword [ebp - 0x13c]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x459a01
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x13c]
mov dword [ebp - 0x124], ebx
and dword [ebp - 0x124], 1
shl dword [ebp - 0x124], 6
or dword [ebp - 0x124], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x124], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x124], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x4598c0
jmp 0x4596a3
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x4596a9
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x459bc8
cmp edx, 0xc0
jb 0x459bc8
mov al, byte [esi]
test dl, 0x20
jne 0x459acf
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x459bc8
lea ecx, [esi + 1]
test dl, 0x10
jne 0x459af3
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x459bc3
test dl, 8
jne 0x459b28
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x459bc3
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x459b68
mov ebx, dword [ebp - 0x124]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x459bbd
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x13c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x13c], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd0]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x459a80
jmp 0x4596a3
mov edi, dword [ebp - 0x120]
mov ecx, 1
mov dword [ebp - 0x13c], ecx
cmp edi, ecx
jl 0x45b814
nop word [eax + eax]
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45e7f5
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x459daa
cmp edx, 0xc0
jb 0x459daa
mov al, byte [esi]
test dl, 0x20
jne 0x459c8f
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x459daa
lea ecx, [esi + 1]
test dl, 0x10
jne 0x459cb3
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x459d9f
test dl, 8
jne 0x459ce8
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x459d9f
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x459d28
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x459d99
lea ebx, [esi + 4]
movzx eax, al
mov dword [ebp - 0x14c], ebx
and eax, 0x3f
mov ebx, dword [ebp - 0x128]
add esi, 5
mov dword [ebp - 0x124], ebx
and dword [ebp - 0x124], 1
shl dword [ebp - 0x124], 6
or dword [ebp - 0x124], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x124], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x124], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x459de3
cmp eax, 3
je 0x459de3
xor eax, eax
jmp 0x459de8
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x455d5a
inc ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
jle 0x459c40
jmp 0x45969d
mov edi, 1
cmp ecx, edi
jl 0x4596a9
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
nop
cmp esi, ebx
jae 0x45e7ef
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ecx, edx
je 0x459f0d
cmp edx, 0xc0
jb 0x459f0d
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x459e64
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x459f0b
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x459e85
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x459f0b
test dl, 8
jne 0x459ea8
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x459f0b
test dl, 4
jne 0x459ed7
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x459f0b
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, edx
cmp edx, 0x20
ja 0x459f27
je case.0x459fd1.8193
add edx, 0xfffffff7
cmp edx, 4
ja case.0x459fd1.8203
jmp dword [edx*4 + 0x461ed4]
cmp edx, 0x2000
ja 0x459fb5
je case.0x459fd1.8193
cmp edx, 0x1680
ja 0x459fad
je case.0x459fd1.8193
sub edx, 0x85
je case.0x459fd1.8193
sub edx, 0x1b
je case.0x459fd1.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp dword [eax*4 + 0x682310], 6
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edi
cmp edi, ecx
jle 0x459e20
jmp 0x4596a3
cmp edx, 0x180e
jmp 0x459f56
cmp edx, 0x3000
ja case.0x459fd1.8203
je case.0x459fd1.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x459fd1.8203
movzx eax, byte [edx + 0x461ef0]
jmp dword [eax*4 + 0x461ee8]
cmp dword [ebp - 0x160], 0
jne case.default.0x455d5a
jmp 0x459f99
mov edi, 1
mov dword [ebp - 0x128], edi
cmp ecx, edi
jl 0x4596a9
nop word [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x13c], edx
je 0x45a14c
cmp edx, 0xc0
jb 0x45a14c
mov al, byte [esi]
movzx eax, al
test dl, 0x20
jne 0x45a04a
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x45a147
and eax, 0x3f
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45a06d
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45a147
test dl, 8
jne 0x45a09c
mov ebx, dword [ebp - 0x13c]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45a147
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45a0d6
mov ebx, dword [ebp - 0x13c]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45a141
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x13c]
mov dword [ebp - 0x124], ebx
and dword [ebp - 0x124], 1
shl dword [ebp - 0x124], 6
or dword [ebp - 0x124], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x124], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x124], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x128]
and eax, 0x3f
or ebx, eax
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x682dd0]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x45a18c
cmp eax, 3
je 0x45a18c
cmp ebx, 0x5f
je 0x45a18c
xor eax, eax
jmp 0x45a191
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, ecx
jle 0x45a000
jmp 0x4596a3
mov ebx, 1
cmp ecx, ebx
jl 0x4596a9
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edi, ecx
je 0x45a2d8
cmp ecx, 0xc0
jb 0x45a2d8
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45a217
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45a2d6
test cl, 0x10
jne 0x45a238
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45a2d6
test cl, 8
jne 0x45a265
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45a2d6
test cl, 4
jne 0x45a29b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45a2d6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edi, ecx
mov eax, dword [ebp - 0x154]
mov edx, dword [eax*4 + 0x686650]
lea eax, [eax*4 + 0x686650]
cmp edi, edx
jb 0x45a2fd
lea eax, [eax + 4]
cmp ecx, edx
je 0x45a31e
mov edx, dword [eax]
cmp ecx, edx
jae 0x45a2f0
cmp dword [ebp - 0x160], 0
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc ebx
cmp ebx, ecx
jle 0x45a1d0
jmp 0x4596a3
cmp dword [ebp - 0x160], 0
jne case.default.0x455d5a
jmp 0x45a30a
mov edi, dword [ebp - 0x120]
mov ecx, 1
mov dword [ebp - 0x13c], ecx
cmp edi, ecx
jl 0x45b814
nop word [eax + eax]
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45e7f5
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
je 0x45a4a4
cmp edx, 0xc0
jb 0x45a4a4
test dl, 0x20
jne 0x45a39d
movzx ebx, byte [esi]
and edx, 0x1f
and ebx, 0x3f
shl edx, 6
or ebx, edx
inc esi
jmp 0x45a4a4
mov al, byte [esi]
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45a3c3
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45a499
test dl, 8
jne 0x45a3f8
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45a499
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45a438
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45a493
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x128], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x128]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x128], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ebx, eax
cmp ebx, 0x24
je 0x45a4cf
cmp ebx, 0x40
je 0x45a4cf
cmp ebx, 0x60
je 0x45a4cf
cmp ebx, 0xa0
jb 0x45a4c3
cmp ebx, 0xd7ff
jbe 0x45a4cf
cmp ebx, 0xe000
jae 0x45a4cf
xor eax, eax
jmp 0x45a4d4
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x455d5a
inc ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
jle 0x45a350
jmp 0x45969d
cmp edx, 0x16
jne 0x45a83c
mov ebx, dword [ebp - 0x118]
mov dword [ebp - 0x14c], 1
cmp ecx, 1
jl 0x4596af
nop word [eax + eax]
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x164], eax
cmp esi, eax
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], esi
je 0x45a67c
mov dword [ebp - 0x128], esi
cmp edx, 0xc0
jb 0x45a67c
mov al, byte [esi]
test dl, 0x20
jne 0x45a57d
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45a676
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45a5a1
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45a671
test dl, 8
jne 0x45a5d6
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45a671
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45a616
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x124]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45a671
and dword [ebp - 0x124], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x124], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x124]
shl eax, 6
mov dword [ebp - 0x13c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x13c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x13c], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov dword [ebp - 0x128], esi
mov ecx, dword [ebp - 0x164]
mov eax, ebx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx ebx, byte [eax*8 + 0x684fd2]
cmp dword [ebp - 0x128], ecx
jae 0x45a7e6
nop dword [eax]
nop word [eax + eax]
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x45a797
cmp edx, 0xc0
jb 0x45a797
test dl, 0x20
jne 0x45a6f7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45a78f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45a719
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45a78f
and eax, 0x3f
test dl, 8
jne 0x45a739
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45a78f
test dl, 4
jne 0x45a762
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45a78f
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x686790]
movzx ecx, byte [eax*8 + 0x684fd2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x682930], eax
je 0x45a7e0
mov ebx, ecx
add esi, edi
mov ecx, dword [ebp - 0x164]
cmp esi, ecx
jb 0x45a6c0
jmp 0x45a7e6
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x45a812
cmp esi, ecx
jb 0x45a812
cmp esi, dword [ebx + 0x84]
jbe 0x45a812
mov dword [ebx + 0x64], 1
cmp eax, 1
jg 0x45e81f
mov ecx, dword [ebp - 0x14c]
inc ecx
mov dword [ebp - 0x14c], ecx
cmp ecx, dword [ebp - 0x120]
jle 0x45a520
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x134]
jmp 0x4596af
cmp dword [ebp - 0x12c], 0
lea eax, [edx - 6]
je 0x45b3ab
cmp eax, 0xf
ja case.default.0x4564ac
jmp dword [eax*4 + 0x461f50]
mov ebx, 1
cmp ecx, ebx
jl 0x4596a9
nop dword [eax]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x45eef6
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x45a8ad
push dword [ebp - 0x12c]
lea edi, [ecx + 0x1c]
mov ecx, esi
push edi
push eax
call fcn.00463ed0
add esp, 0xc
test eax, eax
jne case.default.0x455d5a
mov edx, dword [ebp - 0x118]
jmp 0x45a8d7
mov edx, ecx
mov ecx, dword [edx + 0x1c]
sub eax, ecx
lea edi, [edx + 0x1c]
cmp esi, eax
ja 0x45a8d7
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45a8d7
cmp ecx, 1
je case.default.0x455d5a
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.default.0x455d5a
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45a90b
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45a90b
cmp dword [edx + 0x18], 0
jne 0x45a90b
cmp dword [edi], 2
jne 0x45a90b
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45a90b
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45e81f
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45a926
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45a926
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45a915
mov ecx, dword [ebp - 0x120]
inc ebx
cmp ebx, ecx
jle 0x45a870
jmp 0x4596a3
mov edi, 1
cmp ecx, edi
jl 0x4596a9
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x45e7f5
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45a979
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45a973
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45a962
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x118]
inc edi
cmp edi, ecx
jle 0x45a950
jmp 0x4596a3
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x78]
sub eax, ecx
cmp esi, eax
ja case.default.0x455d5a
add esi, ecx
jmp 0x4596af
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
mov eax, esi
cmp ecx, 0xc0
jb 0x45aab4
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45a9f3
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45aab2
test cl, 0x10
jne 0x45aa14
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45aab2
test cl, 8
jne 0x45aa41
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45aab2
test cl, 4
jne 0x45aa77
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45aab2
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, esi
cmp ecx, 0x85
ja 0x45aadf
je case.0x45aaca.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x455d5a
jmp dword [ecx*4 + 0x461f90]
cmp eax, edi
jae case.0x45aaca.10
cmp byte [esi], 0xa
jne case.0x45aaca.10
lea esi, [eax + 1]
jmp case.0x45aaca.10
sub ecx, 0x2028
je case.0x45aaca.11
sub ecx, 1
jne case.default.0x455d5a
cmp dword [ebx + 0x68], 0
jne case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x45a9c0
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov edi, 1
cmp ecx, edi
jl 0x4596a9
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, ebx
jae 0x45e7ef
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x45ac14
test dl, 0x20
jne 0x45ab61
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x45ac14
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45ab88
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x45ac0e
test dl, 8
jne 0x45abab
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x45ac0e
test dl, 4
jne 0x45abda
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x45ac0e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [ebp - 0x120]
cmp edx, 0x2000
ja 0x45ac6a
je case.default.0x455d5a
cmp edx, 0xa0
ja 0x45ac50
je case.default.0x455d5a
cmp edx, 9
je case.default.0x455d5a
cmp edx, 0x20
je case.default.0x455d5a
inc edi
cmp edi, ecx
jle 0x45ab30
jmp 0x4596a3
cmp edx, 0x1680
je case.default.0x455d5a
cmp edx, 0x180e
je case.default.0x455d5a
jmp case.0x45ac8a.8203
cmp edx, 0x3000
ja case.0x45ac8a.8203
je case.default.0x455d5a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45ac8a.8203
movzx eax, byte [edx + 0x461fa8]
jmp dword [eax*4 + 0x461fa0]
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x45ad97
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45acd8
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45ad97
test cl, 0x10
jne 0x45acf9
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45ad97
test cl, 8
jne 0x45ad26
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45ad97
test cl, 4
jne 0x45ad5c
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45ad97
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x2000
ja 0x45ade9
je case.0x45ae0d.8193
cmp ecx, 0xa0
ja 0x45add3
je case.0x45ae0d.8193
cmp ecx, 9
je case.0x45ae0d.8193
cmp ecx, 0x20
jne case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x45aca7
mov edx, dword [ebp - 0x134]
jmp 0x4596af
cmp ecx, 0x1680
je case.0x45ae0d.8193
cmp ecx, 0x180e
jne case.default.0x455d5a
jmp case.0x45ae0d.8193
cmp ecx, 0x3000
ja case.default.0x455d5a
je case.0x45ae0d.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x455d5a
movzx eax, byte [ecx + 0x462010]
jmp dword [eax*4 + 0x462008]
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x45af1d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45ae61
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45af1d
test cl, 0x10
jne 0x45ae82
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45af1d
test cl, 8
jne 0x45aeac
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45af1d
test cl, 4
jne 0x45aee2
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45af1d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x45af3a
je case.default.0x455d5a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x45af33
jmp dword [ecx*4 + 0x462070]
sub ecx, 0x2028
je case.default.0x455d5a
sub ecx, 1
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x45ae30
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
nop
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x45b06d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x45afb1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x45b06d
test cl, 0x10
jne 0x45afd2
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x45b06d
test cl, 8
jne 0x45affc
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x45b06d
test cl, 4
jne 0x45b032
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x45b06d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x45b08a
je case.0x45b083.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x455d5a
jmp dword [ecx*4 + 0x462080]
sub ecx, 0x2028
je case.0x45b083.10
sub ecx, 1
jne case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
cmp edx, ecx
jle 0x45af80
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov edi, 1
cmp ecx, edi
jl 0x4596a9
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, ebx
jae 0x45e7ef
movzx edx, byte [esi]
inc esi
mov eax, edx
cmp edx, 0xc0
jb 0x45b1b4
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x45b105
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x45b1ac
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x45b126
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x45b1ac
test dl, 8
jne 0x45b149
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x45b1ac
test dl, 4
jne 0x45b178
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x45b1ac
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [ebp - 0x120]
mov eax, edx
cmp eax, 0x80
jae 0x45b1ce
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne case.default.0x455d5a
inc edi
cmp edi, ecx
jle 0x45b0d0
jmp 0x4596a3
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.default.0x455d5a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45b1f2
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov edi, 1
cmp ecx, edi
jl 0x4596a9
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x45e7f5
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x45b263
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x455d5a
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45b281
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45b281
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45b270
mov ecx, dword [ebp - 0x120]
inc edi
mov edx, dword [ebp - 0x118]
cmp edi, ecx
jle 0x45b243
jmp 0x4596a3
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.default.0x455d5a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45b2b0
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov edi, 1
cmp ecx, edi
jl 0x4596a9
mov edx, dword [ebp - 0x118]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x45e7f5
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x45b321
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x455d5a
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45b341
mov ecx, esi
nop dword [eax + eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45b341
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45b330
mov ecx, dword [ebp - 0x120]
inc edi
mov edx, dword [ebp - 0x118]
cmp edi, ecx
jle 0x45b301
jmp 0x4596a3
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.default.0x455d5a
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45b370
mov edx, dword [ebp - 0x134]
jmp 0x4596af
cmp eax, 0xf
ja case.default.0x4564ac
jmp dword [eax*4 + 0x462090]
mov ebx, 1
cmp ecx, ebx
jl 0x4596a9
mov edx, dword [ebp - 0x118]
nop
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x45e7f5
mov edx, dword [edx + 0x18]
test edx, edx
je 0x45b409
mov edi, dword [ebp - 0x118]
mov ecx, esi
push 0
add edi, 0x1c
push edi
push eax
call fcn.00463ed0
add esp, 0xc
test eax, eax
jne case.default.0x455d5a
mov edx, dword [ebp - 0x118]
jmp 0x45b437
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x45b437
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45b437
cmp ecx, 1
je case.default.0x455d5a
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.default.0x455d5a
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45b46b
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45b46b
cmp dword [edx + 0x18], 0
jne 0x45b46b
cmp dword [edi], 2
jne 0x45b46b
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45b46b
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45e81f
mov ecx, dword [ebp - 0x120]
inc ebx
inc esi
cmp ebx, ecx
jle 0x45b3d0
jmp 0x4596a3
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x78]
sub eax, ecx
cmp esi, eax
ja 0x45e62a
add esi, ecx
jmp 0x4596af
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45b814
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45efbb
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.default.0x455d5a
movzx eax, byte [eax + 0x4620e0]
jmp dword [eax*4 + 0x4620d0]
cmp esi, edx
jae case.0x45b4d7.10
cmp byte [esi], 0xa
jne case.0x45b4d7.10
inc esi
jmp case.0x45b4d7.10
cmp dword [edi + 0x68], 0
jne case.default.0x455d5a
inc ecx
cmp ecx, ebx
jle 0x45b4b6
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45b814
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45efbb
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.default.0x455d5a
cmp eax, 0x20
je case.default.0x455d5a
cmp eax, 0xa0
je case.default.0x455d5a
inc ecx
cmp ecx, ebx
jle 0x45b528
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45b814
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45efbb
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x45b5a6
cmp eax, 0x20
je 0x45b5a6
cmp eax, 0xa0
jne case.default.0x455d5a
inc ecx
cmp ecx, ebx
jle 0x45b585
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45b814
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x45efbb
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x45b5fd.14
movzx eax, byte [eax + 0x462164]
jmp dword [eax*4 + 0x46215c]
inc ecx
cmp ecx, ebx
jle 0x45b5e0
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x120]
mov ecx, 1
cmp ebx, ecx
jl 0x45b814
mov edi, dword [ebp - 0x118]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x45efbb
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.default.0x455d5a
movzx eax, byte [eax + 0x4621e8]
jmp dword [eax*4 + 0x4621e0]
inc ecx
cmp ecx, ebx
jle 0x45b638
mov ecx, dword [ebp - 0x120]
mov ebx, edi
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
jne case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45b690
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 4
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45b6d1
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45b712
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45b757
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45b7a0
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ebx, dword [ebp - 0x118]
mov edx, 1
cmp ecx, edx
jl 0x45b6b4
mov edi, dword [ebx + 0x78]
cmp esi, edi
jae 0x45e62a
movzx ecx, byte [esi]
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x455d5a
mov ecx, dword [ebp - 0x120]
inc edx
inc esi
cmp edx, ecx
jle 0x45b7e5
mov edx, dword [ebp - 0x134]
jmp 0x4596af
mov ecx, dword [ebp - 0x120]
jmp 0x4596a9
cmp ecx, edi
jge 0x45c1b3
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45b8a8
cmp dword [ebp - 0x12c], 0
mov eax, 1
movzx ecx, byte [esi]
je 0x45b883
cmp ecx, 0xc0
jb 0x45b883
test cl, 0x20
jne 0x45b85d
mov eax, 2
jmp 0x45b883
test cl, 0x10
jne 0x45b869
mov eax, 3
jmp 0x45b883
test cl, 8
jne 0x45b875
mov eax, 4
jmp 0x45b883
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [ebp - 0x160], 0
jne 0x45c1b3
mov ecx, dword [ebp - 0x120]
add esi, eax
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, edi
jl 0x45b830
jmp 0x45c1b3
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45c1b9
cmp esi, dword [ecx + 0x84]
jbe 0x45c1b9
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp 0x45c1b9
cmp ecx, edi
jge 0x45c1b3
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop
mov edx, 1
cmp esi, edi
jae 0x45ba46
cmp dword [ebp - 0x12c], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x45b9de
cmp eax, 0xc0
jb 0x45b9de
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45b935
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45b9dc
test al, 0x10
jne 0x45b94f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45b9d6
test al, 8
jne 0x45b972
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45b9d6
test al, 4
jne 0x45b9a1
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45b9d6
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp eax, 9
je 0x45ba15
cmp eax, 5
je 0x45ba15
cmp eax, 8
je 0x45ba15
xor eax, eax
jmp 0x45ba1a
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45c1b3
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45b8f0
jmp 0x45c1b3
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45c1b9
cmp esi, dword [ecx + 0x84]
jbe 0x45c1b9
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x45e81f
jmp 0x45c1b9
cmp ecx, edi
jge 0x45c1b3
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45b8a8
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45bb76
cmp eax, 0xc0
jb 0x45bb76
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45bacd
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45bb74
test al, 0x10
jne 0x45bae7
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45bb6e
test al, 8
jne 0x45bb0a
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45bb6e
test al, 4
jne 0x45bb39
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45bb6e
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov ebx, dword [ebp - 0x154]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp dword [eax*4 + 0x682310], ebx
mov ebx, dword [ebp - 0x124]
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45c1b3
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45ba88
jmp 0x45c1b3
cmp ecx, edi
jge 0x45c1b3
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x45b8a8
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45bcde
cmp eax, 0xc0
jb 0x45bcde
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45bc35
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45bcdc
test al, 0x10
jne 0x45bc4f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45bcd6
test al, 8
jne 0x45bc72
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45bcd6
test al, 4
jne 0x45bca1
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45bcd6
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45c1b3
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45bbf0
jmp 0x45c1b3
cmp ecx, edi
jge 0x45c1b3
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45b8a8
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45be3e
cmp eax, 0xc0
jb 0x45be3e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45bd95
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45be3c
test al, 0x10
jne 0x45bdaf
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45be36
test al, 8
jne 0x45bdd2
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45be36
test al, 4
jne 0x45be01
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45be36
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd0]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45c1b3
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45bd50
jmp 0x45c1b3
cmp ecx, edi
jge 0x45c1b3
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45b8a8
cmp dword [ebp - 0x12c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x45bf9e
cmp eax, 0xc0
jb 0x45bf9e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45bef5
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45bf9c
test al, 0x10
jne 0x45bf0f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45bf96
test al, 8
jne 0x45bf32
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45bf96
test al, 4
jne 0x45bf61
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45bf96
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x45bfd7
cmp eax, 3
je 0x45bfd7
xor eax, eax
jmp 0x45bfdc
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45c1b3
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45beb0
jmp 0x45c1b3
cmp ecx, edi
jge 0x45c1b3
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x45c27c
cmp dword [ebp - 0x12c], 0
movzx edx, byte [esi]
mov ecx, edx
je 0x45c106
cmp edx, 0xc0
jb 0x45c106
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45c06b
mov eax, edx
mov edi, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x45c102
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45c086
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45c0fc
and eax, 0x3f
test dl, 8
jne 0x45c0a6
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c0fc
test dl, 4
jne 0x45c0cf
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45c0fc
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
cmp edx, 0x20
ja 0x45c120
je case.0x45c263.8193
add edx, 0xfffffff7
cmp edx, 4
ja case.0x45c263.8203
jmp dword [edx*4 + 0x462264]
cmp edx, 0x2000
ja 0x45c23f
je case.0x45c263.8193
cmp edx, 0x1680
ja 0x45c234
je case.0x45c263.8193
sub edx, 0x85
je case.0x45c263.8193
sub edx, 0x1b
je case.0x45c263.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp dword [eax*4 + 0x682310], 6
sete cl
cmp ecx, dword [ebp - 0x160]
je 0x45c1ad
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c020
mov ebx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
cmp esi, ebx
jbe 0x45825e
nop
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
dec esi
cmp dword [ebp - 0x12c], eax
je 0x45c21d
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45c21d
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x45c213
mov ecx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x45c1d0
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45826a
cmp edx, 0x180e
jmp 0x45c153
cmp edx, 0x3000
ja case.0x45c263.8203
je case.0x45c263.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45c263.8203
movzx eax, byte [edx + 0x462280]
jmp dword [eax*4 + 0x462278]
cmp dword [ebp - 0x160], 0
jne 0x45c1ad
jmp 0x45c192
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45c2a0
cmp esi, dword [ecx + 0x84]
jbe 0x45c2a0
mov dword [ecx + 0x64], edi
cmp eax, 1
jg 0x45e81f
mov ebx, dword [ebp - 0x124]
jmp 0x45c1b9
cmp ecx, edi
jge 0x45c1b3
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x45c27c
cmp dword [ebp - 0x12c], 0
movzx eax, byte [esi]
mov edx, eax
je 0x45c3aa
cmp eax, 0xc0
jb 0x45c3aa
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x45c301
and eax, 0x1f
mov edi, 2
shl eax, 6
jmp 0x45c3a8
test al, 0x10
jne 0x45c31b
and eax, 0xf
mov edi, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x45c3a2
test al, 8
jne 0x45c33e
and eax, 7
mov edi, 4
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c3a2
test al, 4
jne 0x45c36d
and eax, 3
mov edi, 5
shl eax, 6
or edx, eax
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
movzx eax, byte [esi + 4]
jmp 0x45c3a2
and eax, 1
mov edi, 6
shl eax, 6
or edx, eax
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
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x682dd0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x45c3ea
cmp eax, 3
je 0x45c3ea
cmp edx, 0x5f
je 0x45c3ea
xor eax, eax
jmp 0x45c3ef
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45c1ad
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c2c0
jmp 0x45c1ad
cmp ecx, edi
jge 0x45c1b3
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [ebp - 0x118]
mov ebx, 1
cmp esi, dword [ecx + 0x78]
jae 0x45c57e
cmp dword [ebp - 0x12c], 0
movzx edx, byte [esi]
mov edi, edx
je 0x45c51d
cmp edx, 0xc0
jb 0x45c51d
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45c482
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x45c519
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45c49d
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x45c513
and eax, 0x3f
test dl, 8
jne 0x45c4bd
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c513
test dl, 4
jne 0x45c4e6
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45c513
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov edi, edx
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax*4 + 0x686650]
lea eax, [eax*4 + 0x686650]
cmp edi, ecx
jb 0x45c542
lea eax, [eax + 4]
cmp edx, ecx
je 0x45c56f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x45c535
cmp dword [ebp - 0x160], 0
je 0x45c1ad
mov eax, dword [ebp - 0x120]
add esi, ebx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c430
jmp 0x45c1ad
cmp dword [ebp - 0x160], 0
jne 0x45c1ad
jmp 0x45c54f
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45c2a0
cmp esi, dword [ecx + 0x84]
jbe 0x45c2a0
mov dword [ecx + 0x64], ebx
cmp eax, 1
jg 0x45e81f
mov ebx, dword [ebp - 0x124]
jmp 0x45c1b9
cmp ecx, edi
jge 0x45c1b3
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
mov edx, 1
cmp esi, edi
jae 0x45ba46
cmp dword [ebp - 0x12c], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x45c6ae
cmp eax, 0xc0
jb 0x45c6ae
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x45c605
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x45c6ac
test al, 0x10
jne 0x45c61f
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x45c6a6
test al, 8
jne 0x45c642
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x45c6a6
test al, 4
jne 0x45c671
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x45c6a6
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
cmp ecx, 0x24
je 0x45c6d9
cmp ecx, 0x40
je 0x45c6d9
cmp ecx, 0x60
je 0x45c6d9
cmp ecx, 0xa0
jb 0x45c6cd
cmp ecx, 0xd7ff
jbe 0x45c6d9
cmp ecx, 0xe000
jae 0x45c6d9
xor eax, eax
jmp 0x45c6de
mov eax, 1
cmp eax, dword [ebp - 0x160]
je 0x45c1b3
mov eax, dword [ebp - 0x120]
add esi, edx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c5c0
jmp 0x45c1b3
cmp edx, 0x16
jne 0x45caa9
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge 0x45ca45
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x13c], eax
cmp esi, eax
jae 0x45ca1d
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x164], edx
je 0x45c873
cmp edx, 0xc0
jb 0x45c873
mov al, byte [esi]
test dl, 0x20
jne 0x45c76d
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x45c86e
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45c791
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45c86e
movzx eax, al
and eax, 0x3f
test dl, 8
jne 0x45c7c6
mov ebx, dword [ebp - 0x164]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45c86e
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45c803
mov ebx, dword [ebp - 0x164]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45c86e
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x164]
mov dword [ebp - 0x144], ebx
and dword [ebp - 0x144], 1
shl dword [ebp - 0x144], 6
or dword [ebp - 0x144], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x144], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x144], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov ecx, dword [ebp - 0x13c]
mov eax, ebx
shr eax, 7
and ebx, 0x7f
mov edi, esi
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx ebx, byte [eax*8 + 0x684fd2]
cmp edi, ecx
jae 0x45c9d6
nop word [eax + eax]
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x45c987
cmp edx, 0xc0
jb 0x45c987
test dl, 0x20
jne 0x45c8e7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45c97f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45c909
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45c97f
and eax, 0x3f
test dl, 8
jne 0x45c929
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45c97f
test dl, 4
jne 0x45c952
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45c97f
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x686790]
movzx ecx, byte [eax*8 + 0x684fd2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x682930], eax
je 0x45c9d0
mov ebx, ecx
add esi, edi
mov ecx, dword [ebp - 0x13c]
cmp esi, ecx
jb 0x45c8b0
jmp 0x45c9d6
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45ca02
cmp esi, ecx
jb 0x45ca02
cmp esi, dword [edx + 0x84]
jbe 0x45ca02
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45c721
jmp 0x45ca3f
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45ca3f
cmp esi, dword [edx + 0x84]
jbe 0x45ca3f
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
mov ebx, dword [ebp - 0x124]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
cmp esi, ebx
jbe 0x45825e
nop word [eax + eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ecx, dword [ebp - 0x12c]
dec esi
test ecx, ecx
jne 0x45dfea
movzx edx, byte [esi]
jmp 0x45e0ac
cmp dword [ebp - 0x12c], 0
lea eax, [edx - 6]
je 0x45d934
cmp eax, 0xf
ja case.default.0x4564ac
jmp dword [eax*4 + 0x4622e0]
cmp ecx, edi
jge 0x45cfab
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x45cbaf
mov edx, dword [edx + 0x18]
test edx, edx
je 0x45cb14
mov edi, dword [ebp - 0x118]
mov ecx, esi
push dword [ebp - 0x12c]
add edi, 0x1c
push edi
push eax
call fcn.00463ed0
add esp, 0xc
test eax, eax
jne 0x45cfab
mov edx, dword [ebp - 0x118]
jmp 0x45cb42
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x45cb42
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45cb42
cmp ecx, 1
je 0x45cfab
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x45cfab
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45cb76
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45cb76
cmp dword [edx + 0x18], 0
jne 0x45cb76
cmp dword [edi], 2
jne 0x45cb76
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45cb76
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45e81f
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45cb91
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45cb91
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45cb80
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45cad1
jmp 0x45cfab
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45cfab
cmp esi, dword [edx + 0x84]
jbe 0x45cfab
jmp 0x45cc50
mov edx, dword [ebp - 0x118]
cmp edi, 0x7fffffff
jge 0x45cc33
cmp ecx, edi
jge 0x45cfb1
mov edi, dword [edx + 0x78]
mov eax, dword [ebp - 0x130]
nop dword [eax]
cmp esi, edi
jae 0x45cc36
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x45cc1d
mov ecx, esi
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45cc11
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x45cc00
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x118]
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, eax
jl 0x45cbf0
jmp 0x45cfb1
mov esi, dword [edx + 0x78]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45cfb1
cmp esi, dword [edx + 0x84]
jbe 0x45cfb1
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp 0x45cfb1
mov edx, dword [ebp - 0x118]
sub edi, ecx
mov ecx, dword [edx + 0x78]
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x45cc90
mov eax, dword [edx + 0x88]
mov esi, ecx
test eax, eax
je 0x45cfb1
cmp ecx, dword [edx + 0x84]
jmp 0x45cc4a
add esi, edi
jmp 0x45cfb1
cmp ecx, edi
jge 0x45cfab
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45ce26
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x45cdb5
test dl, 0x20
jne 0x45cce2
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45cdb5
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45cd0c
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x45cdaf
test dl, 8
jne 0x45cd3b
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x45cdaf
test dl, 4
jne 0x45cd73
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x45cdaf
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [ebp - 0x120]
cmp edx, 0xd
jne 0x45cdcb
inc esi
cmp esi, edi
jae 0x45cfab
cmp byte [esi], 0xa
jne 0x45ce0e
inc esi
jmp 0x45ce0e
cmp edx, 0xa
je 0x45ce0c
mov ebx, dword [ebp - 0x118]
cmp dword [ebx + 0x68], 0
mov ebx, dword [ebp - 0x124]
jne 0x45cfab
cmp edx, 0xb
je 0x45ce0c
cmp edx, 0xc
je 0x45ce0c
cmp edx, 0x85
je 0x45ce0c
cmp edx, 0x2028
je 0x45ce0c
cmp edx, 0x2029
jne 0x45cfab
add esi, eax
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, dword [ebp - 0x130]
jl 0x45cca8
jmp 0x45cfab
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45cfb1
cmp esi, dword [edx + 0x84]
jbe 0x45cfb1
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp 0x45cfb1
cmp ecx, edi
jge 0x45cfab
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x45d08a
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x45cf42
test dl, 0x20
jne 0x45cea2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45cf3a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45cec4
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45cf3a
and eax, 0x3f
test dl, 8
jne 0x45cee4
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45cf3a
test dl, 4
jne 0x45cf0d
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45cf3a
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x2000
ja 0x45d055
je case.0x45d079.8193
cmp edx, 0xa0
ja 0x45d042
je case.0x45d079.8193
cmp edx, 9
je case.0x45d079.8193
cmp edx, 0x20
je case.0x45d079.8193
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x134], 0x12
sete al
cmp ecx, eax
je 0x45cfa5
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45ce70
mov ebx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
cmp esi, ebx
jbe 0x45825e
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
jne 0x45d010
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
je 0x45d004
cmp dword [ebp - 0x134], 0x11
jne 0x45d02b
cmp ecx, ebx
jbe 0x45d02b
cmp byte [esi], 0xa
jne 0x45d02b
cmp byte [esi - 1], 0xd
jne 0x45d02b
lea esi, [ecx - 1]
mov edx, dword [ebp - 0x118]
cmp esi, ebx
ja 0x45cfc6
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45826a
cmp edx, 0x1680
je case.0x45d079.8193
cmp edx, 0x180e
jmp 0x45cf72
cmp edx, 0x3000
ja case.0x45d079.8203
je case.0x45d079.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x45d079.8203
movzx eax, byte [edx + 0x462328]
jmp dword [eax*4 + 0x462320]
mov ecx, 1
jmp 0x45cf7a
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45d0ae
cmp esi, dword [edx + 0x84]
jbe 0x45d0ae
mov dword [edx + 0x64], edi
cmp eax, 1
jg 0x45e81f
mov ebx, dword [ebp - 0x124]
jmp 0x45cfb1
cmp ecx, edi
jge 0x45cfab
mov eax, dword [ebp - 0x118]
mov ebx, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, ebx
jae 0x45d205
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x45d1a2
test dl, 0x20
jne 0x45d102
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x45d19a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45d124
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x45d19a
and eax, 0x3f
test dl, 8
jne 0x45d144
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45d19a
test dl, 4
jne 0x45d16d
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45d19a
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x45d1bb
je case.0x45d1b4.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x45d1b4
jmp dword [edx*4 + 0x462388]
sub edx, 0x2028
je case.0x45d1b4.10
sub edx, 1
je case.0x45d1b4.10
xor ecx, ecx
jmp 0x45d1d1
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x134], 0x14
sete al
cmp ecx, eax
je 0x45cfa5
mov eax, dword [ebp - 0x120]
add esi, edi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45d0d0
jmp 0x45cfa5
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45d0ae
cmp esi, dword [edx + 0x84]
jbe 0x45d0ae
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
mov ebx, dword [ebp - 0x124]
jmp 0x45cfb1
cmp ecx, edi
jge 0x45cfab
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45ce26
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45d329
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45d28d
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45d325
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45d2a8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45d31f
and eax, 0x3f
test dl, 8
jne 0x45d2c8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45d31f
test dl, 4
jne 0x45d2f1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45d31f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45d343
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne 0x45cfab
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45d251
jmp 0x45cfab
cmp ecx, edi
jge 0x45cfab
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45ce26
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45d44c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45d3b0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45d448
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45d3cb
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45d442
and eax, 0x3f
test dl, 8
jne 0x45d3eb
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45d442
test dl, 4
jne 0x45d414
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45d442
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45cfab
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je 0x45cfab
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45d374
jmp 0x45cfab
cmp ecx, edi
jge 0x45cfab
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x45ce26
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45d578
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45d4dc
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45d574
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45d4f7
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45d56e
and eax, 0x3f
test dl, 8
jne 0x45d517
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45d56e
test dl, 4
jne 0x45d540
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45d56e
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45d592
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne 0x45cfab
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45d4a0
jmp 0x45cfab
cmp ecx, edi
jge 0x45cfab
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45ce26
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45d69b
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45d5ff
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45d697
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45d61a
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45d691
and eax, 0x3f
test dl, 8
jne 0x45d63a
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45d691
test dl, 4
jne 0x45d663
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45d691
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45cfab
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je 0x45cfab
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45d5c3
jmp 0x45cfab
cmp ecx, edi
jge 0x45cfab
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x45ce26
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45d7c8
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45d72c
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45d7c4
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45d747
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45d7be
and eax, 0x3f
test dl, 8
jne 0x45d767
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45d7be
test dl, 4
jne 0x45d790
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45d7be
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45d7e2
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne 0x45cfab
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45d6f0
jmp 0x45cfab
cmp ecx, edi
jge 0x45cfab
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x45d929
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x45d8eb
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x45d84f
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x45d8e7
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x45d86a
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45d8e1
and eax, 0x3f
test dl, 8
jne 0x45d88a
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45d8e1
test dl, 4
jne 0x45d8b3
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45d8e1
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x45cfab
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x45cfab
mov eax, dword [ebp - 0x120]
add esi, ecx
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45d813
jmp 0x45cfab
mov edx, dword [ebp - 0x118]
jmp 0x45cc36
cmp eax, 0xf
ja case.default.0x4564ac
jmp dword [eax*4 + 0x462398]
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45dc0c.10
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x45da83
mov edx, dword [edx + 0x18]
test edx, edx
je 0x45d98b
mov edi, dword [ebp - 0x118]
mov ecx, esi
push 0
add edi, 0x1c
push edi
push eax
call fcn.00463ed0
add esp, 0xc
test eax, eax
jne 0x45d9ff
mov edx, dword [ebp - 0x118]
jmp 0x45d9b1
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x45d9b1
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45d9b1
cmp ecx, 1
je 0x45d9ff
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x45d9ff
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45d9e5
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x45d9e5
cmp dword [edx + 0x18], 0
jne 0x45d9e5
cmp dword [edi], 2
jne 0x45d9e5
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x45d9e5
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45e81f
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, dword [ebp - 0x130]
jl 0x45d952
mov edx, dword [ebp - 0x118]
cmp dword [ebp - 0x158], 0
jne 0x4539fa
cmp esi, ebx
je 0x45825e
nop word [eax + eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
push eax
push dword [ebp - 0x148]
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
dec esi
cmp dword [ebp - 0x134], 0x11
jne 0x45da6c
cmp esi, ebx
jbe 0x45da6e
cmp byte [esi], 0xa
jne 0x45da6c
cmp byte [esi - 1], 0xd
jne 0x45da6c
dec esi
cmp esi, ebx
mov edx, dword [ebp - 0x118]
jne 0x45da20
mov edi, dword [ebp - 0x11c]
mov ebx, edx
jmp 0x45826a
mov eax, dword [edx + 0x88]
test eax, eax
je 0x45d9ff
cmp esi, dword [edx + 0x84]
jbe 0x45d9ff
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp 0x45d9ff
mov edx, dword [ebp - 0x118]
sub edi, ecx
mov ecx, dword [edx + 0x78]
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x45dae0
mov eax, dword [edx + 0x88]
mov esi, ecx
test eax, eax
je case.0x45dc0c.10
cmp ecx, dword [edx + 0x84]
jmp 0x45dcdd
add esi, edi
jmp case.0x45dc0c.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45dc0c.10
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x45dcc9
mov al, byte [esi]
cmp al, 0xd
jne 0x45db16
inc esi
cmp esi, ecx
jae case.0x45dc0c.10
cmp byte [esi], 0xa
jne 0x45db35
jmp 0x45db34
cmp al, 0xa
je 0x45db34
cmp dword [edx + 0x68], 0
jne case.0x45dc0c.10
cmp al, 0xb
je 0x45db34
cmp al, 0xc
je 0x45db34
cmp al, 0x85
jne case.0x45dc0c.10
inc esi
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45daf8
jmp case.0x45dc0c.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45dc0c.10
mov ecx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x45dcc9
mov al, byte [esi]
cmp al, 9
je case.0x45dc0c.10
cmp al, 0x20
je case.0x45dc0c.10
cmp al, 0xa0
je case.0x45dc0c.10
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45db60
jmp case.0x45dc0c.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45dc0c.10
mov ecx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, ecx
jae 0x45dcc9
mov al, byte [esi]
cmp al, 9
je 0x45dbca
cmp al, 0x20
je 0x45dbca
cmp al, 0xa0
jne case.0x45dc0c.10
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45dbb0
jmp case.0x45dc0c.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45dc0c.10
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x45dcc9
movzx eax, byte [esi]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x45dc0c.14
movzx eax, byte [eax + 0x4623e0]
jmp dword [eax*4 + 0x4623d8]
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45dbf2
jmp case.0x45dc0c.10
mov edx, dword [ebp - 0x118]
cmp ecx, edi
jge case.0x45dc0c.10
mov ecx, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, ecx
jae 0x45dcc9
movzx eax, byte [esi]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x45dc0c.10
movzx eax, byte [eax + 0x462464]
jmp dword [eax*4 + 0x46245c]
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
jl 0x45dc40
jmp case.0x45dc0c.10
cmp ecx, edi
jge 0x45d9ff
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45dcc3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne 0x45d9ff
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45dc90
mov edx, eax
jmp case.0x45dc0c.10
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je case.0x45dc0c.10
cmp esi, dword [edx + 0x84]
jbe case.0x45dc0c.10
mov dword [edx + 0x64], 1
cmp eax, 1
jg 0x45e81f
jmp case.0x45dc0c.10
cmp ecx, edi
jge 0x45d9ff
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45dcc3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je 0x45d9ff
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45dd10
mov edx, eax
jmp case.0x45dc0c.10
cmp ecx, edi
jge 0x45d9ff
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45dcc3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne 0x45d9ff
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45dd54
mov edx, eax
jmp case.0x45dc0c.10
cmp ecx, edi
jge 0x45d9ff
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x45dcc3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je 0x45d9ff
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45dda0
mov edx, eax
jmp case.0x45dc0c.10
cmp ecx, edi
jge 0x45d9ff
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45dcc3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne 0x45d9ff
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45dde8
mov edx, eax
jmp case.0x45dc0c.10
cmp ecx, edi
jge 0x45d9ff
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x45dcc3
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x45d9ff
mov eax, dword [ebp - 0x120]
inc esi
inc eax
mov dword [ebp - 0x120], eax
cmp eax, edi
mov eax, dword [ebp - 0x118]
jl 0x45de30
mov edx, eax
jmp case.0x45dc0c.10
mov eax, dword [ebp + 0x18]
inc eax
cmp byte [edi], 0x7a
push eax
push dword [ebp - 0x148]
jne 0x45dea9
push dword [ebp - 0x118]
push ecx
push edx
lea edx, [edi + 3]
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ebx, dword [ebp - 0x128]
mov edi, ebx
mov dword [ebp - 0x11c], edi
jmp 0x458264
mov ebx, dword [ebp - 0x118]
push ebx
push ecx
push edx
mov edx, dword [ebp - 0x128]
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov edi, dword [ebp - 0x11c]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x45826a
cmp al, 0x7a
mov eax, dword [ebp + 0x18]
jne 0x45df2d
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push edx
push dword [ebp - 0x140]
lea edx, [edi + 3]
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov al, byte [ebx]
cmp al, 0x81
je 0x45e4f0
cmp al, 0x88
jae 0x45e4b6
mov edi, ebx
mov dword [ebp - 0x11c], edi
jmp 0x458264
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push edx
push dword [ebp - 0x140]
mov edx, ebx
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1b
jne 0x45df67
mov ecx, dword [ebp - 0x118]
cmp dword [ecx + 0xb4], ebx
jne case.default.0x4542fb
jmp 0x45df75
test edi, edi
jne case.default.0x4542fb
mov ecx, dword [ebp - 0x118]
cmp byte [ebx], 0x81
je 0x45e534
mov edi, dword [ebp - 0x11c]
add edi, 3
mov dword [ebp - 0x11c], edi
jmp 0x458264
cmp esi, ebx
je 0x45825e
nop word [eax + eax]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ecx, dword [ebp - 0x118]
dec esi
cmp esi, ebx
jne 0x45dfa0
mov edi, dword [ebp - 0x11c]
mov ebx, ecx
jmp 0x45826a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x45dffc
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x45dff2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x45e0ac
test dl, 0x20
jne 0x45e01c
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x45e0a4
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45e036
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x45e09e
and eax, 0x3f
test dl, 8
jne 0x45e051
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x45e09e
test dl, 4
jne 0x45e075
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x45e09e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [ebp - 0x12c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x686790]
movzx ebx, byte [eax*8 + 0x684fd2]
cmp esi, dword [ebp - 0x124]
jbe 0x45825e
lea edi, [esi - 1]
test ecx, ecx
jne 0x45e0eb
movzx edx, byte [edi]
jmp 0x45e1aa
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x45e0fd
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x45e0f3
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45e1aa
test dl, 0x20
jne 0x45e11d
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x45e1a2
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45e13a
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x45e1a2
and eax, 0x3f
test dl, 8
jne 0x45e155
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45e1a2
test dl, 4
jne 0x45e179
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x45e1a2
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
mov ecx, ebx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x686790]
movzx edx, byte [eax*8 + 0x684fd2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [edx*4 + 0x682930], eax
je 0x45e1f0
mov ecx, dword [ebp - 0x12c]
mov esi, edi
mov ebx, edx
jmp 0x45e0d0
mov edx, dword [ebp - 0x118]
jmp 0x45ca60
mov eax, dword [ebp - 0x11c]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov dword [ebp - 0x13c], edx
lea eax, [edx + edx]
mov dword [ebp - 0x150], eax
cmp eax, dword [ebx + 0x14]
jl 0x461456
cmp edi, 0x88
jae 0x45e26c
cmp edi, 0x81
je 0x45e26c
cmp dword [ebx + 0x6c], 0
mov edi, dword [ebp - 0x11c]
jne 0x45e27c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edi], 0x77
je 0x45e27c
movzx eax, byte [edi]
movzx eax, byte [eax + 0x682810]
add edi, eax
mov dword [ebp - 0x11c], edi
jmp 0x45826a
mov edi, dword [ebp - 0x11c]
mov dword [ebx + 0x98], 2
mov ecx, dword [ebp - 0x118]
mov ebx, dword [ebx + 0xac]
mov eax, dword [ecx + 0x90]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [edi]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
movzx edx, byte [eax + 0x682810]
push dword [ebp - 0x140]
add edx, edi
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc20
jne 0x45e300
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 0x118]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae case.default.0x4542fb
cmp byte [edx], 0x77
je 0x45e30e
cmp byte [eax], 0x77
jne case.default.0x4542fb
jmp 0x45e30e
test edi, edi
jne 0x4615e5
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x118]
add edx, ecx
mov dword [ebp - 0x11c], edx
mov dword [eax + 0xac], ebx
cmp byte [edx], 0x77
jne case.default.0x455d5a
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x124]
mov dword [ebx + 0x90], eax
jmp case.0x453a3e.129
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
push ebx
push dword [ebp - 0x138]
movzx eax, byte [eax + 0x682810]
push dword [ebp - 0x140]
add eax, ecx
mov ecx, esi
add edx, eax
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov eax, dword [ebp - 0x11c]
add eax, 2
mov dword [ebx + 0x7c], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, edi
sub eax, 1
je case.default.0x455d5a
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc19
je case.default.0x455d5a
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xa4]
mov dword [edx + 0xa4], eax
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je case.default.0x455d5a
push eax
call fcn.004497e0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je case.default.0x4542fb
push eax
call fcn.004497e0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x140]
mov dword [ecx + 0x80], esi
mov dword [ecx + 0x7c], eax
mov eax, dword [ebp - 0x15c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x454dec
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
lea edx, [edx + 3]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x454dec
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x140]
mov dword [ecx + 0x7c], eax
mov eax, 0xfffffc1a
mov dword [ecx + 0x80], esi
mov dword [ecx + 0x8c], edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x138]
mov dword [eax + 0x80], esi
mov dword [eax + 0x8c], ecx
mov ecx, dword [ebp - 0x140]
mov dword [eax + 0x7c], ecx
mov eax, dword [ebp - 0x15c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x88]
test ecx, ecx
je case.default.0x455d5a
mov edx, dword [ebp - 0x118]
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb case.default.0x455d5a
cmp dword [edx + 0x18], 0
jne case.default.0x455d5a
cmp dword [edx + 0x1c], 2
jne case.default.0x455d5a
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne case.default.0x455d5a
cmp ecx, 1
jmp 0x45e812
mov eax, dword [ebx + 0x88]
test eax, eax
je case.default.0x455d5a
cmp esi, dword [ebx + 0x84]
jbe case.default.0x455d5a
mov dword [ebx + 0x64], 1
cmp eax, 1
jmp 0x45e819
mov ecx, dword [ebp - 0x118]
cmp eax, 0xfffffffe
jne 0x45e661
mov esi, dword [ecx + 0x78]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x455d5a
cmp esi, dword [ecx + 0x78]
jb case.default.0x455d5a
cmp esi, dword [ecx + 0x84]
jbe case.default.0x455d5a
mov dword [ecx + 0x64], 1
cmp eax, 1
jmp 0x45e819
cmp eax, 0xfffffffe
jne 0x45e69b
mov esi, dword [edi + 0x78]
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x455d5a
cmp esi, dword [edi + 0x78]
jb case.default.0x455d5a
cmp esi, dword [edi + 0x84]
jbe case.default.0x455d5a
mov dword [edi + 0x64], 1
cmp eax, 1
jmp 0x45e819
mov dword [ebp - 0x14c], esi
cmp ebx, eax
jge 0x45e750
nop dword [eax + eax]
push dword [ebp - 0x13c]
mov ecx, edi
push dword [ebp - 0x118]
push edx
mov edx, esi
call fcn.004535b0
add esp, 0xc
test eax, eax
js 0x45e710
mov edx, dword [ebp - 0x144]
inc ebx
add esi, eax
cmp ebx, dword [ebp - 0x128]
jl 0x45e6e0
jmp 0x45e740
cmp eax, 0xfffffffe
jne 0x45e740
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x88]
test ecx, ecx
je 0x45e740
mov eax, dword [edx + 0x78]
cmp eax, dword [edx + 0x84]
jbe 0x45e740
mov dword [edx + 0x64], 1
cmp ecx, 1
jg 0x45e81f
mov ebx, dword [ebp - 0x14c]
cmp esi, ebx
jb case.default.0x455d5a
jmp 0x45e760
mov ebx, dword [ebp - 0x14c]
nop word [eax + eax]
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
sub esi, dword [ebp - 0x144]
cmp esi, ebx
jae 0x45e760
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x118]
cmp eax, 0xfffffffe
jne 0x45e7c0
mov esi, dword [ecx + 0x78]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x455d5a
cmp esi, dword [ecx + 0x78]
jb case.default.0x455d5a
cmp esi, dword [ecx + 0x84]
jbe case.default.0x455d5a
mov dword [ecx + 0x64], 1
cmp eax, 1
jmp 0x45e819
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x88]
test eax, eax
je case.default.0x455d5a
cmp esi, dword [edx + 0x84]
jbe case.default.0x455d5a
cmp eax, 1
mov dword [edx + 0x64], 1
jle case.default.0x455d5a
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
cmp esi, ebx
jb case.default.0x455d5a
nop dword [eax]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ecx, dword [ebp - 0x118]
dec esi
cmp esi, ebx
jae 0x45e840
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
cmp dword [ebp - 0x12c], 0
push eax
push dword [ebp - 0x148]
je 0x45ea94
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x11c]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov edx, dword [ebp - 0x130]
cmp edx, dword [ebp - 0x134]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x13c], ebx
cmp ebx, 0xc0
jb 0x45ea14
test bl, 0x20
jne 0x45e921
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x45ea14
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x45e94c
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x45ea0e
lea edx, [esi + 2]
test bl, 8
jne 0x45e980
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x45ea0e
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x45e9bc
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x45ea0e
and dword [ebp - 0x13c], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x13c], 6
add esi, 5
or eax, dword [ebp - 0x13c]
movzx ebx, byte [ebx]
shl eax, 6
and ebx, 0x3f
mov dword [ebp - 0x14c], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x14c]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
mov edx, dword [ebp - 0x130]
cmp ebx, 0xff
jbe 0x45ea25
cmp dword [ebp - 0x124], 0x6e
jmp 0x45ea3e
mov eax, dword [ebp - 0x15c]
mov ecx, ebx
and ecx, 7
shr ebx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [ebx + ecx], al
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc edx
mov ebx, dword [ebp - 0x118]
inc eax
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x130], edx
mov ecx, esi
mov edx, dword [ebp - 0x11c]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45e8d3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x118]
mov edx, ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ebx, dword [ebp - 0x130]
cmp ebx, dword [ebp - 0x134]
jge case.default.0x455d5a
mov edi, dword [ebp - 0x118]
cmp esi, dword [edi + 0x78]
jae 0x45eb3a
movzx edx, byte [esi]
inc esi
mov eax, dword [ebp - 0x15c]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x128]
test byte [edx + ecx], al
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push edi
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45eac0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x455d5a
jmp 0x45e6b2
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x455d5a
jmp 0x45e678
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop dword [eax + eax]
mov edi, dword [ebp - 0x128]
cmp edi, dword [ebp - 0x124]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx ebx, byte [esi]
inc esi
mov edx, dword [ebp - 0x12c]
test edx, edx
je 0x45ec9f
cmp ebx, 0xc0
jb 0x45ec9f
test bl, 0x20
jne 0x45ebf2
movzx eax, byte [esi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
inc esi
jmp 0x45ec9f
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45ec19
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add esi, 2
jmp 0x45ec9f
test bl, 8
jne 0x45ec3c
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
jmp 0x45ec9f
test bl, 4
jne 0x45ec6b
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
jmp 0x45ec9f
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
push edx
mov edx, dword [ebp - 0x14c]
mov ecx, ebx
call fcn.00463780
add esp, 4
test eax, eax
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x128], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45eba0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x88]
test eax, eax
je case.default.0x455d5a
cmp esi, edi
jb case.default.0x455d5a
jmp 0x45e638
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x455d5a
cmp esi, dword [ecx + 0x78]
jb case.default.0x455d5a
cmp esi, dword [ecx + 0x84]
jbe case.default.0x455d5a
mov dword [ecx + 0x64], 1
cmp eax, 1
jmp 0x45e819
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x124], eax
jge case.default.0x455d5a
mov ebx, dword [ebx + 0x78]
mov eax, ebx
mov edi, dword [ebp - 0x134]
sub eax, edi
cmp esi, eax
ja 0x45ee11
mov edx, dword [ebp - 0x164]
mov ecx, esi
sub edi, 4
jb 0x45edd4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45edd9
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45edc3
cmp edi, 0xfffffffc
je 0x45ee06
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45ee11
cmp edi, 0xfffffffd
je 0x45ee06
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45ee11
cmp edi, 0xfffffffe
je 0x45ee06
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45ee11
cmp edi, 0xffffffff
je 0x45ee06
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45ee11
add esi, dword [ebp - 0x134]
jmp 0x45ee86
mov edi, dword [ebp - 0x128]
test edi, edi
jle 0x45eed5
mov eax, ebx
sub eax, edi
cmp esi, eax
ja 0x45eed5
lea edx, [ebp - 0x10]
mov ecx, esi
sub edi, 4
jb 0x45ee46
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45ee4b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45ee35
cmp edi, 0xfffffffc
je 0x45ee80
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45eed5
cmp edi, 0xfffffffd
je 0x45ee80
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45eed5
cmp edi, 0xfffffffe
je 0x45ee80
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45eed5
cmp edi, 0xffffffff
je 0x45ee80
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45eed5
add esi, dword [ebp - 0x128]
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
inc dword [ebp - 0x124]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45ed93
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x455d5a
cmp esi, ebx
jmp 0x45ed3a
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x455d5a
jmp 0x45ed40
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop dword [eax + eax]
mov ecx, dword [ebp - 0x124]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x455d5a
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45e7f5
movzx eax, byte [esi]
cmp ebx, eax
je 0x45ef74
cmp dword [ebp - 0x14c], eax
jne case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x124], ecx
push eax
push dword [ebp - 0x148]
inc esi
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45ef40
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x455d5a
cmp esi, dword [edi + 0x84]
jbe case.default.0x455d5a
mov dword [edi + 0x64], 1
cmp eax, 1
jmp 0x45e819
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop dword [eax + eax]
mov ecx, dword [ebp - 0x124]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x455d5a
mov edx, dword [ebp - 0x118]
cmp esi, dword [edx + 0x78]
jae 0x45e7f5
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x124], ecx
push eax
push dword [ebp - 0x148]
mov ecx, esi
push edx
push dword [ebp - 0x138]
mov edx, dword [ebp - 0x11c]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f020
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x12c], 0
je 0x45f292
test edi, edi
jne case.default.0x4542fb
nop word [eax + eax]
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x120]
jge case.default.0x455d5a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x45f230
test bl, 0x20
jne 0x45f134
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x45f224
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x45f15a
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45f21f
lea edx, [esi + 2]
test bl, 8
jne 0x45f189
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45f21f
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x45f1c0
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45f21f
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x128]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x128], ebx
and eax, 0x3f
shl dword [ebp - 0x128], 6
mov ecx, dword [ebp - 0x128]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x128], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x134], ebx
je case.default.0x455d5a
cmp dword [ebp - 0x13c], ebx
je case.default.0x455d5a
mov edx, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x130], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f0e0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
test edi, edi
jne case.default.0x4542fb
mov ebx, dword [ebp - 0x130]
cmp ebx, dword [ebp - 0x120]
jge case.default.0x455d5a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx eax, byte [esi]
cmp dword [ebp - 0x134], eax
je case.default.0x455d5a
cmp dword [ebp - 0x13c], eax
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f2a0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov edx, ecx
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x148]
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x12c], 0
je 0x45f4fa
test edi, edi
jne case.default.0x4542fb
nop word [eax + eax]
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x120]
jge case.default.0x455d5a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx ebx, byte [esi]
inc esi
mov dword [ebp - 0x128], ebx
cmp ebx, 0xc0
jb 0x45f4a4
test bl, 0x20
jne 0x45f3b4
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x45f498
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x45f3da
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x45f493
lea edx, [esi + 2]
test bl, 8
jne 0x45f403
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45f493
lea edi, [esi + 3]
test bl, 4
jne 0x45f434
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45f493
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x128]
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
mov dword [ebp - 0x128], ebx
and eax, 0x3f
shl dword [ebp - 0x128], 6
mov ecx, dword [ebp - 0x128]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x128], ecx
mov ebx, ecx
and eax, 0x3f
or ebx, eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x134], ebx
je case.default.0x455d5a
mov edx, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x130], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f360
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
test edi, edi
jne case.default.0x4542fb
mov ebx, dword [ebp - 0x130]
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x120]
jge case.default.0x455d5a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x134], eax
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc ebx
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f510
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
test eax, eax
js 0x4609d0
cmp eax, 0xa
ja case.default.0x4564ac
jmp dword [eax*4 + 0x4624e0]
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop word [eax + eax]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
je 0x45f624
cmp eax, 0xc0
jb 0x45f624
test al, 0x20
jne 0x45f606
inc esi
jmp 0x45f624
test al, 0x10
jne 0x45f60f
add esi, 2
jmp 0x45f624
test al, 8
jne 0x45f618
add esi, 3
jmp 0x45f624
test al, 4
jne 0x45f621
add esi, 4
jmp 0x45f624
add esi, 5
cmp dword [ebp - 0x160], 0
jne case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc ecx
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], ecx
mov ecx, esi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f5d0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop dword [eax]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45f805
cmp edx, 0xc0
jb 0x45f805
mov al, byte [esi]
test dl, 0x20
jne 0x45f706
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x45f800
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45f72a
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45f7fa
test dl, 8
jne 0x45f75f
mov ebx, dword [ebp - 0x128]
lea edx, [esi + 2]
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45f7fa
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45f79f
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45f7fa
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
movzx eax, al
and eax, 0x3f
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x150], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x150]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x150], ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp eax, 9
je 0x45f83c
cmp eax, 5
je 0x45f83c
cmp eax, 8
je 0x45f83c
xor eax, eax
jmp 0x45f841
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc ecx
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], ecx
mov ecx, esi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f6b0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45fa43
cmp edx, 0xc0
jb 0x45fa43
mov al, byte [esi]
test dl, 0x20
jne 0x45f92b
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45fa43
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45f94f
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45fa3e
test dl, 8
jne 0x45f984
mov ebx, dword [ebp - 0x150]
lea edx, [esi + 2]
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45fa3e
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45f9c7
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x150]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45fa38
lea ebx, [esi + 4]
movzx eax, al
mov dword [ebp - 0x14c], ebx
and eax, 0x3f
mov ebx, dword [ebp - 0x150]
add esi, 5
mov dword [ebp - 0x15c], ebx
and dword [ebp - 0x15c], 1
shl dword [ebp - 0x15c], 6
or dword [ebp - 0x15c], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x15c], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x15c]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x15c], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov edx, dword [ebp - 0x154]
mov eax, ebx
shr eax, 7
and ebx, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp dword [eax*4 + 0x682310], edx
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f8d0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop word [eax + eax]
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x45fc80
cmp edx, 0xc0
jb 0x45fc80
mov al, byte [esi]
test dl, 0x20
jne 0x45fb6b
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45fc80
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45fb8f
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45fc7b
test dl, 8
jne 0x45fbc4
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x150]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45fc7b
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x45fc04
movzx ebx, al
add esi, 4
mov eax, dword [ebp - 0x150]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45fc75
lea ebx, [esi + 4]
movzx eax, al
mov dword [ebp - 0x14c], ebx
and eax, 0x3f
mov ebx, dword [ebp - 0x150]
add esi, 5
mov dword [ebp - 0x15c], ebx
and dword [ebp - 0x15c], 1
shl dword [ebp - 0x15c], 6
or dword [ebp - 0x15c], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x15c], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x15c]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x15c], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45fb10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop dword [eax]
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x45fe94
cmp edx, 0xc0
jb 0x45fe94
mov al, byte [esi]
test dl, 0x20
jne 0x45fd9b
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x45fe94
lea ecx, [esi + 1]
test dl, 0x10
jne 0x45fdbf
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x45fe8f
test dl, 8
jne 0x45fdf4
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x45fe8f
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x45fe34
mov ebx, dword [ebp - 0x128]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x45fe89
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x150], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x150]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x150], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
xor ecx, ecx
shr eax, 7
and ebx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd0]
cmp eax, dword [ebp - 0x154]
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45fd40
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x4600b1
cmp edx, 0xc0
jb 0x4600b1
mov al, byte [esi]
test dl, 0x20
jne 0x45ffac
and edx, 0x1f
movzx ebx, al
and ebx, 0x3f
shl edx, 6
inc esi
or ebx, edx
jmp 0x4600b1
movzx eax, al
lea ecx, [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x45ffd2
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x4600a6
test dl, 8
jne 0x460001
mov ebx, dword [ebp - 0x150]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x4600a6
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x46003b
mov ebx, dword [ebp - 0x150]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x4600a6
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x150]
mov dword [ebp - 0x154], ebx
and dword [ebp - 0x154], 1
shl dword [ebp - 0x154], 6
or dword [ebp - 0x154], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x154], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x154], ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x4600ea
cmp eax, 3
je 0x4600ea
xor eax, eax
jmp 0x4600ef
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc ecx
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], ecx
mov ecx, esi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45ff51
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ebx, dword [ebp - 0x120]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x455d5a
mov edi, dword [ebp - 0x118]
cmp esi, dword [edi + 0x78]
jae 0x45efbb
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edx, ecx
je 0x460294
cmp ecx, 0xc0
jb 0x460294
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x4601d6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x460292
test cl, 0x10
jne 0x4601f7
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x460292
test cl, 8
jne 0x460221
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x460292
test cl, 4
jne 0x460257
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x460292
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp ecx, 0x20
ja 0x4602ae
je case.0x460397.8193
add ecx, 0xfffffff7
cmp ecx, 4
ja case.0x460397.8203
jmp dword [ecx*4 + 0x46250c]
cmp ecx, 0x2000
ja 0x460373
je case.0x460397.8193
cmp ecx, 0x1680
ja 0x460368
je case.0x460397.8193
sub ecx, 0x85
je case.0x460397.8193
sub ecx, 0x1b
je case.0x460397.8193
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
cmp dword [eax*4 + 0x682310], 6
sete cl
cmp ecx, dword [ebp - 0x160]
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push edi
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460183
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
cmp ecx, 0x180e
jmp 0x4602e1
cmp ecx, 0x3000
ja case.0x460397.8203
je case.0x460397.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x460397.8203
movzx eax, byte [ecx + 0x462528]
jmp dword [eax*4 + 0x462520]
cmp dword [ebp - 0x160], 0
jne case.default.0x455d5a
jmp 0x460324
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov edi, dword [ebp - 0x120]
cmp edi, dword [ebp - 0x130]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x128], edx
je 0x460531
cmp edx, 0xc0
jb 0x460531
mov al, byte [esi]
test dl, 0x20
jne 0x460438
and ebx, 0x1f
movzx eax, al
inc esi
shl ebx, 6
jmp 0x46052c
lea ecx, [esi + 1]
test dl, 0x10
jne 0x46045c
movzx ebx, al
and edx, 0xf
movzx eax, byte [ecx]
and ebx, 0x3f
shl edx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x46052c
test dl, 8
jne 0x460491
movzx ebx, al
lea edx, [esi + 2]
mov eax, dword [ebp - 0x128]
and ebx, 0x3f
and eax, 7
add esi, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x46052c
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test dl, 4
lea edx, [esi + 2]
jne 0x4604d1
mov ebx, dword [ebp - 0x128]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x460526
and dword [ebp - 0x128], 1
lea ebx, [esi + 4]
shl dword [ebp - 0x128], 6
add esi, 5
or eax, dword [ebp - 0x128]
shl eax, 6
mov dword [ebp - 0x150], eax
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x150]
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x150], ecx
mov ebx, ecx
mov edi, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x682dd0]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x686790]
movzx eax, byte [eax*8 + 0x684fd1]
mov eax, dword [eax*4 + 0x682310]
cmp eax, 1
je 0x460571
cmp eax, 3
je 0x460571
cmp ebx, 0x5f
je 0x460571
xor eax, eax
jmp 0x460576
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc edi
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
mov ecx, esi
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], edi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4603e2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ebx, dword [ebp - 0x120]
nop word [eax + eax]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x455d5a
mov ecx, dword [ebp - 0x118]
cmp esi, dword [ecx + 0x78]
jae 0x45eef6
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov edi, ecx
je 0x460721
cmp ecx, 0xc0
jb 0x460721
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x460663
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x46071f
test cl, 0x10
jne 0x460684
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x46071f
test cl, 8
jne 0x4606ae
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x46071f
test cl, 4
jne 0x4606e4
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x46071f
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edi, ecx
mov eax, dword [ebp - 0x154]
mov edx, dword [eax*4 + 0x686650]
lea eax, [eax*4 + 0x686650]
cmp edi, edx
jb 0x46074d
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x4607a3
mov edx, dword [eax]
cmp ecx, edx
jae 0x460740
cmp dword [ebp - 0x160], 0
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460610
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x160], 0
jne case.default.0x455d5a
jmp 0x46075a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x130]
jge case.default.0x455d5a
cmp esi, dword [ebx + 0x78]
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
je 0x460944
cmp edx, 0xc0
jb 0x460944
test dl, 0x20
jne 0x46083d
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x460944
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test dl, 0x10
jne 0x460865
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x460939
test dl, 8
jne 0x460894
mov ebx, dword [ebp - 0x150]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x460939
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x4608ce
mov ebx, dword [ebp - 0x150]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x460939
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x150]
mov dword [ebp - 0x154], ebx
and dword [ebp - 0x154], 1
shl dword [ebp - 0x154], 6
or dword [ebp - 0x154], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x154], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x154], ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x120]
and eax, 0x3f
or ebx, eax
cmp ebx, 0x24
je 0x46096f
cmp ebx, 0x40
je 0x46096f
cmp ebx, 0x60
je 0x46096f
cmp ebx, 0xa0
jb 0x460963
cmp ebx, 0xd7ff
jbe 0x46096f
cmp ebx, 0xe000
jae 0x46096f
xor eax, eax
jmp 0x460974
mov eax, 1
cmp eax, dword [ebp - 0x160]
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
inc ecx
mov ebx, dword [ebp - 0x118]
inc eax
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
mov dword [ebp - 0x120], ecx
mov ecx, esi
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4607e4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, esi
inc eax
cmp edx, 0x16
mov edx, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
jne 0x460d30
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
nop dword [eax + eax]
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x120], eax
jge case.default.0x455d5a
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x164], eax
cmp esi, eax
jae 0x45e62a
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x12c], 0
mov ebx, edx
mov dword [ebp - 0x150], edx
mov ecx, esi
je 0x460b6e
cmp edx, 0xc0
jb 0x460b6e
mov al, byte [esi]
movzx eax, al
test dl, 0x20
jne 0x460a70
and ebx, 0x1f
inc esi
shl ebx, 6
jmp 0x460b67
and eax, 0x3f
lea ecx, [esi + 1]
test dl, 0x10
jne 0x460a93
mov ebx, edx
add esi, 2
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x460b67
test dl, 8
jne 0x460ac2
mov ebx, dword [ebp - 0x150]
lea edx, [esi + 2]
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x460b67
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x460afc
mov ebx, dword [ebp - 0x150]
add esi, 4
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x460b67
lea ebx, [esi + 4]
add esi, 5
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x150]
mov dword [ebp - 0x154], ebx
and dword [ebp - 0x154], 1
shl dword [ebp - 0x154], 6
or dword [ebp - 0x154], eax
movzx eax, byte [ecx]
shl dword [ebp - 0x154], 6
and eax, 0x3f
mov ecx, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x14c]
or ecx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
shl ecx, 6
mov dword [ebp - 0x154], ecx
mov ebx, ecx
and eax, 0x3f
mov ecx, esi
or ebx, eax
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x686790]
movzx ebx, byte [eax*8 + 0x684fd2]
mov eax, dword [ebp - 0x164]
cmp ecx, eax
jae 0x460cbb
cmp dword [ebp - 0x12c], 0
mov edi, 1
movzx edx, byte [esi]
je 0x460c74
cmp edx, 0xc0
jb 0x460c74
test dl, 0x20
jne 0x460bd7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x460c6c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x460bf6
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x460c6c
and eax, 0x3f
test dl, 8
jne 0x460c16
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x460c6c
test dl, 4
jne 0x460c3f
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x460c6c
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x682dd0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x686790]
movzx ecx, byte [eax*8 + 0x684fd2]
mov eax, dword [ebp - 0x15c]
shl eax, cl
test dword [ebx*4 + 0x682930], eax
mov eax, dword [ebp - 0x164]
je 0x460cbb
add esi, edi
mov ebx, ecx
cmp esi, eax
jb 0x460ba0
mov ebx, dword [ebp - 0x118]
mov ecx, dword [ebx + 0x88]
test ecx, ecx
je 0x460ce7
cmp esi, eax
jb 0x460ce7
cmp esi, dword [ebx + 0x84]
jbe 0x460ce7
mov dword [ebx + 0x64], 1
cmp ecx, 1
jg 0x45e81f
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
inc dword [ebp - 0x120]
push eax
push dword [ebp - 0x148]
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460a10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
call fcn.004538d0
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x12c], 0
je 0x4611f2
test edi, edi
jne case.default.0x4542fb
mov ebx, dword [ebp - 0x120]
nop word [eax + eax]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x455d5a
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4611d9
mov edi, dword [ebp - 0x134]
cmp edi, 0xc
jne 0x460dd9
mov edx, dword [eax + 0x18]
test edx, edx
je 0x460dae
push dword [ebp - 0x12c]
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.00463ed0
add esp, 0xc
test eax, eax
jne case.default.0x455d5a
jmp 0x460dd9
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x460dd9
mov ecx, dword [ebp - 0x118]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x460dd9
cmp edx, 1
je case.default.0x455d5a
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.default.0x455d5a
movzx edx, byte [esi]
inc esi
mov ecx, esi
mov eax, edx
cmp edx, 0xc0
jb 0x460eb3
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x460e08
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x460eaf
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x460e29
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x460eaf
test dl, 8
jne 0x460e4c
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x460eaf
test dl, 4
jne 0x460e7b
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x460eaf
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, esi
mov eax, edx
add edi, 0xfffffffa
cmp edi, 0xf
ja case.default.0x4564ac
jmp dword [edi*4 + 0x462588]
mov eax, dword [ebp - 0x118]
mov edi, dword [eax + 0x88]
test edi, edi
je case.0x460ebf.13
cmp ecx, dword [eax + 0x78]
jb case.0x460ebf.13
cmp dword [eax + 0x18], 0
jne case.0x460ebf.13
cmp dword [eax + 0x1c], 2
jne case.0x460ebf.13
movzx eax, byte [eax + 0x34]
cmp edx, eax
jne case.0x460ebf.13
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x64], 1
cmp edi, 1
jg 0x45e81f
jmp case.0x460ebf.13
cmp edx, 0x85
ja 0x460f5b
je case.0x460f34.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x455d5a
jmp dword [edx*4 + 0x4625c8]
mov eax, dword [ebp - 0x118]
cmp ecx, dword [eax + 0x78]
jae case.0x460ebf.13
cmp byte [esi], 0xa
jne case.0x460ebf.13
lea esi, [ecx + 1]
jmp case.0x460ebf.13
sub edx, 0x2028
je case.0x460f34.11
sub edx, 1
jne case.default.0x455d5a
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0x68], 0
jne case.default.0x455d5a
jmp case.0x460ebf.13
cmp edx, 0x2000
ja 0x460fc5
je case.default.0x455d5a
cmp edx, 0xa0
ja 0x460fae
je case.default.0x455d5a
cmp edx, 9
je case.default.0x455d5a
cmp edx, 0x20
jmp 0x46118a
cmp edx, 0x1680
je case.default.0x455d5a
cmp edx, 0x180e
jmp 0x46118a
cmp edx, 0x3000
ja case.0x460ebf.13
je case.default.0x455d5a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x460ebf.13
movzx eax, byte [edx + 0x4625e0]
jmp dword [eax*4 + 0x4625d8]
cmp edx, 0x2000
ja 0x461044
je case.0x460ebf.13
cmp edx, 0xa0
ja 0x461027
je case.0x460ebf.13
cmp edx, 9
je case.0x460ebf.13
cmp edx, 0x20
jne case.default.0x455d5a
jmp case.0x460ebf.13
cmp edx, 0x1680
je case.0x460ebf.13
cmp edx, 0x180e
jne case.default.0x455d5a
jmp case.0x460ebf.13
cmp edx, 0x3000
ja case.default.0x455d5a
je case.0x460ebf.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x455d5a
movzx eax, byte [edx + 0x462648]
jmp dword [eax*4 + 0x462640]
cmp edx, 0x85
ja 0x461094
je case.default.0x455d5a
add edx, 0xfffffff6
cmp edx, 3
ja case.0x460ebf.13
jmp dword [edx*4 + 0x4626a8]
sub edx, 0x2028
je case.default.0x455d5a
sub edx, 1
jmp 0x46118a
cmp edx, 0x85
ja 0x4610c9
je case.0x460ebf.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x455d5a
jmp dword [edx*4 + 0x4626b8]
sub edx, 0x2028
je case.0x460ebf.13
sub edx, 1
jne case.default.0x455d5a
jmp case.0x460ebf.13
cmp eax, 0x100
jae case.0x460ebf.13
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne case.default.0x455d5a
jmp case.0x460ebf.13
cmp eax, 0x100
jae case.default.0x455d5a
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jmp 0x46118a
cmp eax, 0x100
jae case.0x460ebf.13
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne case.default.0x455d5a
jmp case.0x460ebf.13
cmp eax, 0x100
jae case.default.0x455d5a
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jmp 0x46118a
cmp eax, 0x100
jae case.0x460ebf.13
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne case.default.0x455d5a
jmp case.0x460ebf.13
cmp eax, 0x100
jae case.default.0x455d5a
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x460d60
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x88]
test eax, eax
je case.default.0x455d5a
mov ecx, dword [ebp - 0x118]
jmp 0x45ed40
test edi, edi
jne case.default.0x4542fb
mov ebx, dword [ebp - 0x120]
cmp ebx, dword [ebp - 0x130]
jge case.default.0x455d5a
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x45e7f5
mov edi, dword [ebp - 0x134]
cmp edi, 0xc
jne 0x46128b
mov edx, dword [edx + 0x18]
mov eax, dword [ebp - 0x118]
test edx, edx
je 0x461256
push 0
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.00463ed0
add esp, 0xc
test eax, eax
jne case.default.0x455d5a
mov edx, dword [ebp - 0x118]
jmp 0x46128b
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x461289
mov ecx, dword [ebp - 0x118]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x461285
cmp edx, 1
je case.default.0x455d5a
mov al, byte [esi + 1]
mov edx, ecx
cmp al, byte [edx + 0x35]
je case.default.0x455d5a
jmp 0x46128b
mov edx, ecx
jmp 0x46128b
mov edx, eax
movzx ecx, byte [esi]
lea eax, [edi - 6]
inc esi
cmp eax, 0xf
ja case.default.0x4564ac
jmp dword [eax*4 + 0x4626c8]
mov edx, dword [edx + 0x88]
test edx, edx
je case.0x46129b.13
mov eax, dword [ebp - 0x118]
cmp esi, dword [eax + 0x78]
jb case.0x46129b.13
cmp dword [eax + 0x18], 0
jne case.0x46129b.13
cmp dword [eax + 0x1c], 2
jne case.0x46129b.13
movzx eax, byte [eax + 0x34]
cmp ecx, eax
jne case.0x46129b.13
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x64], 1
cmp edx, 1
jg 0x45e81f
jmp case.0x46129b.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x455d5a
movzx eax, byte [ecx + 0x462718]
jmp dword [eax*4 + 0x462708]
cmp esi, dword [edx + 0x78]
jae case.0x46129b.13
cmp byte [esi], 0xa
jne case.0x46129b.13
inc esi
jmp case.0x46129b.13
cmp dword [edx + 0x68], 0
jne case.default.0x455d5a
jmp case.0x46129b.13
cmp ecx, 9
je case.default.0x455d5a
cmp ecx, 0x20
je case.default.0x455d5a
cmp ecx, 0xa0
jmp 0x4613f1
cmp ecx, 9
je case.0x46129b.13
cmp ecx, 0x20
je case.0x46129b.13
cmp ecx, 0xa0
jne case.default.0x455d5a
jmp case.0x46129b.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46129b.13
movzx eax, byte [ecx + 0x46279c]
jmp dword [eax*4 + 0x462794]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x455d5a
movzx eax, byte [ecx + 0x462820]
jmp dword [eax*4 + 0x462818]
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jne case.default.0x455d5a
jmp case.0x46129b.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jmp 0x4613f1
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.default.0x455d5a
jmp case.0x46129b.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jmp 0x4613f1
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.default.0x455d5a
jmp case.0x46129b.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x455d5a
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
inc ebx
push dword [ebp - 0x118]
push dword [ebp - 0x138]
push dword [ebp - 0x140]
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x461200
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x164], ebx
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [ebp - 0x118]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x168], eax
mov eax, dword [edx + 0xac]
mov ebx, dword [edx + 0x90]
mov dword [ebp - 0x14c], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x11c]
jmp 0x4614b6
mov edi, dword [ebp - 0x124]
cmp edi, 0x88
jb 0x4614c8
mov dword [edx + 0x98], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push edx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x682810]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1b
je 0x461592
cmp edi, 0xfffffc20
jne 0x461548
mov edx, dword [ebp - 0x11c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [ebp - 0x118]
cmp dword [edx + 0x7c], eax
jae case.default.0x4542fb
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx], 0x77
je 0x461544
cmp byte [eax], 0x77
jne case.default.0x4542fb
xor edi, edi
jmp 0x461556
test edi, edi
jne case.default.0x4542fb
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x11c]
mov dword [edx + 0x90], ebx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x14c]
add dword [ebp - 0x11c], ecx
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 0xac], eax
cmp byte [ecx], 0x77
je 0x4614b0
jmp 0x461598
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x150]
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x164]
mov dword [eax + ecx*4], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x16c]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x13c]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x168]
mov dword [eax + ecx*4], edx
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc1b
jne case.default.0x4542fb
mov edx, dword [ebp - 0x11c]
mov al, byte [edx]
cmp al, 0x81
je 0x461623
cmp al, 0x77
jne 0x461614
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x461600
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xb4], edx
jne case.default.0x4542fb
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
lea ebx, [edi + 2]
mov dword [ecx + 0xb0], ebx
mov dword [ecx + 0xac], 0
mov eax, dword [ebp + 0x18]
movzx edx, byte [edi + 1]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [edi]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
movzx eax, byte [eax + 0x682810]
push dword [ebp - 0x140]
add eax, edi
add edx, eax
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x4616b0
cmp edi, 0xfffffc19
je 0x4616b0
cmp edi, 0xfffffc1a
jne 0x4616d8
mov edx, dword [ebp - 0x118]
cmp dword [edx + 0xac], 0
jne 0x4616de
mov dword [edx + 0xac], ebx
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x118]
cmp edi, 0xfffffc1f
jne case.default.0x4542fb
mov eax, dword [edx + 0x7c]
nop dword [eax]
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x461710
test cl, cl
je 0x46170c
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x461710
add ebx, 2
add eax, 2
test cl, cl
jne 0x4616f0
xor eax, eax
jmp 0x461715
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4542fb
mov dword [edx + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push ebx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x682810]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push ebx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x682810]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x461858
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
lea ebx, [edi + 2]
mov dword [ecx + 0xb0], ebx
mov dword [ecx + 0xac], 0
mov eax, dword [ebp + 0x18]
movzx edx, byte [edi + 1]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [edi]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
movzx eax, byte [eax + 0x682810]
push dword [ebp - 0x140]
add eax, edi
add edx, eax
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x46183b
cmp edi, 0xfffffc19
jne 0x461850
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xac], 0
jne 0x461850
mov dword [eax + 0xac], ebx
test edi, edi
jne case.default.0x4542fb
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push ebx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x682810]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
jne case.default.0x4542fb
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x11c]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [ecx]
push ebx
push dword [ebp - 0x138]
movzx edx, byte [eax + 0x682810]
push dword [ebp - 0x140]
add edx, ecx
mov ecx, esi
call fcn.004538d0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x461999
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
lea ebx, [edi + 2]
mov dword [ecx + 0xb0], ebx
mov dword [ecx + 0xac], 0
mov eax, dword [ebp + 0x18]
movzx edx, byte [edi + 1]
inc eax
push eax
push dword [ebp - 0x148]
movzx eax, byte [edi]
push ecx
push dword [ebp - 0x138]
mov ecx, esi
movzx eax, byte [eax + 0x682810]
push dword [ebp - 0x140]
add eax, edi
add edx, eax
call fcn.004538d0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x461976
cmp edi, 0xfffffc19
jne 0x46198b
mov eax, dword [ebp - 0x118]
cmp dword [eax + 0xac], 0
jne 0x46198b
mov dword [eax + 0xac], ebx
test edi, edi
jne case.default.0x4542fb
mov ebx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x11c]
mov dword [ebx + 0x7c], eax
mov eax, 0xfffffc20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x140]
cmp esi, ecx
jne 0x4619f4
cmp edi, 0x9f
je 0x4619f4
cmp dword [ebx + 0xa4], 0
jne 0x4619f4
cmp dword [ebx + 0x5c], 0
jne case.default.0x455d5a
cmp dword [ebx + 0x60], 0
je 0x4619f4
mov eax, dword [ebx + 0x94]
add eax, dword [ebx + 0x74]
cmp ecx, eax
je case.default.0x455d5a
mov eax, dword [ebp - 0x138]
test edi, edi
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x8c], eax
mov eax, 0xfffffc19
cmove eax, dword [ebp - 0x15c]
mov dword [ebx + 0x7c], ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0062844a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
inc eax
pop edi
mov dword [ebx], eax
xor ecx, ebp
pop esi
mov eax, 0xfffffff8
pop ebx
call fcn.0062844a
mov esp, ebp
pop ebp
ret