Function at 0x45ee80
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1c], eax
lea ecx, [ecx]
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov edi, edi
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x4c]
mov dword [esp + 0x8c], edi
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, ecx
jb 0x45ef0e
mov esi, dword [esi]
test esi, esi
je 0x46cbb1
mov edi, 0xfffffff8
jmp 0x4687b9
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x45ef2a
mov esi, dword [esi]
test esi, esi
je 0x46cbbe
mov edi, 0xffffffeb
jmp 0x4687b9
cmp dword [ebp + 0x98], 2
jne 0x45ef61
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
jmp 0x45ef61
add dword [esi + 0xc], 3
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ebx
movzx edx, byte [eax]
mov dword [esi + 0x9c], edx
cmp edx, 0xa1
ja case.0x45ef94.98
movzx eax, byte [edx + 0x46cdcc]
jmp dword [eax*4 + 0x46cc80]
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x46c415
push 0x134
call dword [0x15e4d40]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46c40f
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x46c465
push 0x134
call dword [0x15e4d40]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46c45f
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x46c483
push 0x134
call dword [0x15e4d40]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46c47d
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x46c4a1
push 0x134
call dword [0x15e4d40]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46c49b
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x46c4b6
push 0x134
call dword [0x15e4d40]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46c4b0
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x45f0ee
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x50eef8]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x45ef61
mov edi, dword [esi + 4]
test edi, edi
jne 0x46c4d4
push 0x134
call dword [0x15e4d40]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46c4ce
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x46c4e9
push 0x134
call dword [0x15e4d40]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46c4e3
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x46c507
push 0x134
call dword [0x15e4d40]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46c501
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
jmp 0x469cf8
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [ebp + 0x14]
jge case.0x45ef94.129
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x10]
sub edx, dword [ebp + 0x74]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov dword [eax + ecx*4], edx
jmp 0x46885b
mov dword [esi + 0x54], ebx
jmp 0x45f9ff
mov dword [esi + 0x54], ebx
jmp 0x45fa23
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x76
jne 0x45f368
mov edi, dword [0x15e8d18]
test edi, edi
je 0x45f354
mov dword [esp + 0x10], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x45f30e
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x45f343
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687b9
jns 0x45f354
mov esi, dword [esi]
test esi, esi
je 0x468c9c
jmp 0x4687b9
movzx eax, byte [0x50ef6e]
add dword [esi + 0xc], eax
movzx eax, byte [0x50ef6e]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx]
mov dword [esp + 0x88], edx
lea eax, [edx - 0x8d]
cmp eax, 0x10
ja case.0x45f38e.146
movzx eax, byte [eax + 0x46ce88]
jmp dword [eax*4 + 0x46ce70]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x45f38e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x45f3c7
cmp edx, dword [edi + 4]
je 0x45f3c7
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x468af3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x468af3
cmp dword [ebp + 0xa4], ebx
je case.0x45f38e.145
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edi, byte [ecx + 1]
shl ebx, 8
shl edi, 8
or ebx, eax
movzx eax, byte [ecx + 2]
or edi, eax
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
test ebx, ebx
jle case.0x45f38e.145
lea esp, [esp]
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
dec ebx
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x58], ecx
test ecx, ecx
jne 0x468af3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x45f410
jmp 0x468af3
mov eax, dword [esi + 0xc]
movzx ecx, byte [ecx + 1]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x45f474
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x45f474
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x45f38e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x45f38e.145
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ecx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
jle 0x468af3
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x45f4c9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x45f4d8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x45f4a7
jmp 0x468af3
mov dword [esi + 0x58], 1
jmp 0x468af3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c51c
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c516
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x98]
cmp edx, dword [ebp + 0x14]
jl 0x45f574
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x45ef56
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jl 0x45ef56
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x45f5c3
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
jmp 0x45ef56
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x45f616
cmp edx, 0x9f
je 0x45f616
cmp dword [ebp + 0xa4], ebx
jne 0x45f616
cmp dword [ebp + 0x5c], ebx
jne 0x45f605
cmp dword [ebp + 0x60], ebx
je 0x45f616
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x45f616
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687b9
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov esi, dword [esi]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
test esi, esi
je 0x468c9c
jmp 0x4687b9
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45f66f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x468bed
mov dword [esi + 0x58], ebx
jmp 0x468bed
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45f69b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x468d3b
mov dword [esi + 0x58], ebx
jmp 0x468d3b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x45f702
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x45f6e8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x465ee6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45f6e4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45f6d8
test edx, edx
jg 0x45f6c0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x45ef56
mov dword [ebp + 0x84], eax
jmp 0x45ef56
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0xc]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jae 0x45f6e8
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687c0
mov edi, dword [0x15e8d18]
test edi, edi
je 0x45f80c
mov dword [esp + 0x44], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x45f7c6
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x44]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x45f7fb
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687b9
jns 0x45f80c
mov esi, dword [esi]
test esi, esi
je 0x468c9c
jmp 0x4687b9
add dword [esi + 0xc], 6
jmp 0x45ef5a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x70]
add eax, ecx
mov dword [esi + 0x20], eax
cmp eax, dword [ebp + 0x70]
jne 0x45f836
xor edx, edx
jmp 0x45f843
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x45f863
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x45f85d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x45f8c4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x45f850
mov dword [esi + 0x40], edx
lea ecx, [esi + 0x3c]
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 0xa4]
mov dword [ecx], eax
mov dword [ebp + 0xa4], ecx
add dword [esi + 0xc], 3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x48], eax
cmp eax, 0x1e
jg 0x45f8d8
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x468e24
mov esi, dword [esi]
test esi, esi
je 0x46cbe2
mov edi, 0xffffffe6
jmp 0x4687b9
shl eax, 2
push eax
call dword [0x15e4d38]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x45f89e
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x45f901
jmp 0x45ef61
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c557
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c551
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x45f960
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c575
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c56f
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x45f9b3
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45ef61
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x45f9ff
cmp eax, 0x8b
jne 0x45fa23
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [ebp + 0x14]
jl 0x45fa40
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
jmp 0x46990d
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4], edx
cmp dword [esi + 0x9c], 0x88
jb 0x45fabd
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46c907
push 0x134
call dword [0x15e4d40]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46c8fd
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x45fb18
cmp al, 0x81
je 0x45fb18
mov dword [esi + 0x38], ebx
jmp 0x45fb29
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x34]
mov al, byte [edx]
cmp al, 0x7d
jb 0x45fb36
cmp al, 0x80
jbe 0x45fb3a
cmp al, 0x82
jne 0x45fb66
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46cc16
mov edi, 1
jmp 0x4687b9
cmp al, 0x85
je 0x45fb7a
cmp al, 0x8a
je 0x45fb7a
cmp al, 0x86
je 0x45fb7a
cmp al, 0x8b
jne 0x45fc41
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x45fbb6
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x45fbb6
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x45fb4c
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x98]
cmp ecx, dword [ebp + 0x14]
jl 0x45fbe5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x45fc41
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x45fc05
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x45fc05
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x98]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x98]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x98]
cmp dword [esi + 0x14], eax
jg 0x45fc41
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x45fc77
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov esi, dword [esi]
test esi, esi
je 0x46cbef
mov edi, 0xfffffc1a
jmp 0x4687b9
cmp cl, 0x78
je 0x45fcf0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x45fcf0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x45fcbe
test ecx, ecx
jne 0x46c596
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c590
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test ecx, ecx
jne 0x46c5b7
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c5b1
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x468f57
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c5d5
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c5cf
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
cmp dword [ebp + 0x44], ebx
je case.0x45ef94.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x45ef94.1
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687b9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x45fe18
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687b9
cmp dword [ebp + 0x44], ebx
je 0x45fd8a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x45fd8a
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687b9
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x4607d4
cmp ecx, dword [ebp + 0x78]
je 0x45fdf0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x45fdc8
cmp ecx, edx
jbe 0x45fdf0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046ee40
add esp, 0x14
test eax, eax
jne 0x4607d4
jmp 0x45fdf0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x45fdf0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45fdf0
cmp edi, 1
je 0x4607d4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4607d4
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687b9
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x45fd55
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x45ef61
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45feda
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45fe55
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ecf0
add esp, 0x14
test eax, eax
jne 0x4607d4
jmp 0x45fe79
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45fe79
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45fe79
cmp edx, 1
je 0x4607d4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4607d4
cmp dword [ebp + 0x88], ebx
je case.0x465ee6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x465ee6.14
cmp dword [ebp + 0x18], ebx
jne case.0x465ee6.14
cmp dword [edi], 2
jne case.0x465ee6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x465ee6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x465ee6.14
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edi, 0xfffffff4
jmp 0x4687b9
cmp dword [ebp + 0x48], ebx
jne 0x45fd5b
cmp dword [ebp + 0x88], ebx
je 0x4607d4
cmp ecx, dword [ebp + 0x84]
jbe 0x4607d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4607d4
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edi, 0xfffffff4
jmp 0x4687b9
cmp dword [ebp + 0x48], ebx
jne 0x45fd5b
cmp dword [ebp + 0x58], ebx
je case.0x45ef94.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45fd5b
cmp dword [ebp + 0x88], ebx
je 0x45fe18
cmp eax, dword [ebp + 0x84]
jbe 0x45fe18
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45fe18
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edi, 0xfffffff4
jmp 0x4687b9
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45ffe5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45ffad
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ecf0
add esp, 0x14
test eax, eax
jne 0x45ffd5
jmp 0x45fe79
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45fe79
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45fe79
cmp edx, 1
je 0x45ffd5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x45fe79
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x45fe79
cmp dword [ebp + 0x88], ebx
je 0x4607d4
cmp ecx, dword [ebp + 0x84]
jbe 0x4607d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4607d4
jmp 0x45fec6
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4602e7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x460035
mov dword [esi + 0x5c], ebx
jmp 0x46016e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x46004a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x460040
cmp edx, dword [ebp + 0x84]
jae 0x460058
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x46010c
test bl, 0x20
jne 0x460080
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x46010c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46009a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x460102
and eax, 0x3f
test bl, 8
jne 0x4600b5
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x460102
test bl, 4
jne 0x4600d9
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x460102
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp dword [ebp + 0x54], 0
je 0x4601a7
cmp ebx, 0x5f
jne 0x460124
mov dword [esi + 0x5c], 1
jmp 0x46016e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x460146
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x4601b8
cmp eax, 3
je 0x4601b8
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4601bf
cmp dword [ebp + 0x88], 0
je 0x46019b
cmp edx, dword [ebp + 0x84]
jbe 0x46019b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
mov dword [esi + 0x54], 0
jmp 0x460425
cmp ebx, 0x100
jae 0x460169
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x460169
mov eax, 1
jmp 0x46016b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x460269
test bl, 0x20
jne 0x4601df
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x460261
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4601f9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x460261
and eax, 0x3f
test bl, 8
jne 0x460214
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x460261
test bl, 4
jne 0x460238
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 0x460261
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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x54], 0
je 0x4602cc
cmp ebx, 0x5f
jne 0x460280
mov dword [esi + 0x54], 1
jmp 0x460425
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4602a2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x4602dd
cmp eax, 3
je 0x4602dd
xor eax, eax
jmp 0x460422
cmp ebx, 0x100
jae 0x4602c5
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4602c5
mov eax, 1
jmp 0x460422
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4602f7
mov dword [esi + 0x5c], ebx
jmp 0x460392
cmp eax, dword [ebp + 0x84]
ja 0x460306
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x46037e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x460320
mov dword [esi + 0x5c], 1
jmp 0x460392
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ecx, 0x8000007f
jns 0x460342
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x460370
cmp eax, 3
je 0x460370
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x46038f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x46038f
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4603d3
cmp dword [ebp + 0x88], ebx
je 0x4603ce
cmp eax, dword [ebp + 0x84]
jbe 0x4603ce
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4603ce
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edi, 0xfffffff4
jmp 0x4687c0
mov dword [esi + 0x54], ebx
jmp 0x460425
cmp dword [ebp + 0x54], ebx
je 0x460412
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x4603e9
mov dword [esi + 0x54], 1
jmp 0x460425
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ecx, 0x8000007f
jns 0x46040b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x4602a4
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x460440
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x460448
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x45ef61
jmp 0x45fd5b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x46048d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x4604b8
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0046ecf0
add esp, 0x14
test eax, eax
jne 0x45fd5b
jmp 0x4604b8
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x4604b8
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4604b8
cmp edx, 1
je 0x45fd5b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45fd5b
cmp dword [ebp + 0x88], ebx
je case.0x45ef94.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x45ef94.13
cmp dword [ebp + 0x18], ebx
jne case.0x45ef94.13
cmp dword [ebp + 0x1c], 2
jne case.0x45ef94.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x45ef94.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x460516
cmp dword [ebp + 0x88], ebx
je case.0x465ee6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x465ee6.14
jmp 0x45feb2
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x45fe18
cmp eax, dword [ebp + 0x78]
jae 0x45fe18
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45fe18
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x460532
inc dword [esi + 0xc]
jmp 0x45ef61
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4604f9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45ef61
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x46058d
cmp dword [ebp + 0x88], ebx
je case.0x465ee6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x465ee6.14
jmp 0x45feb2
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460689
cmp ebx, 0xc0
jb 0x460689
test bl, 0x20
jne 0x4605ca
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460686
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4605f4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460689
mov edx, dword [esi + 8]
test bl, 8
jne 0x46061a
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x46067d
test bl, 4
jne 0x460649
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x46067d
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x4607d4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4607d4
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687c0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4607bb
cmp ebx, 0xc0
jb 0x4607bb
test bl, 0x20
jne 0x4606fc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4607b8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460726
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4607bb
mov edx, dword [esi + 8]
test bl, 8
jne 0x46074c
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4607af
test bl, 4
jne 0x46077b
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4607af
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x45f71d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x45f71d
inc dword [esi + 0xc]
jmp 0x45ef5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4608e4
cmp ebx, 0xc0
jb 0x4608e4
test bl, 0x20
jne 0x460825
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4608e1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46084f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4608e4
mov edx, dword [esi + 8]
test bl, 8
jne 0x460875
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4608d8
test bl, 4
jne 0x4608a4
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4608d8
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x4607d4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x46069c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460a04
cmp ebx, 0xc0
jb 0x460a04
test bl, 0x20
jne 0x460945
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460a01
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46096f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460a04
mov edx, dword [esi + 8]
test bl, 8
jne 0x460995
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4609f8
test bl, 4
jne 0x4609c4
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4609f8
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x45f71d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x45f71d
inc dword [esi + 0xc]
jmp 0x45ef5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460b2d
cmp ebx, 0xc0
jb 0x460b2d
test bl, 0x20
jne 0x460a6e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460b2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460a98
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460b2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x460abe
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x460b21
test bl, 4
jne 0x460aed
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x460b21
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x4607d4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x46069c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460c4d
cmp ebx, 0xc0
jb 0x460c4d
test bl, 0x20
jne 0x460b8e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460c4a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460bb8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460c4d
mov edx, dword [esi + 8]
test bl, 8
jne 0x460bde
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x460c41
test bl, 4
jne 0x460c0d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x460c41
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x45f71d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45f71d
inc dword [esi + 0xc]
jmp 0x45ef5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460d76
cmp ebx, 0xc0
jb 0x460d76
test bl, 0x20
jne 0x460cb7
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460d73
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460ce1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460d76
mov edx, dword [esi + 8]
test bl, 8
jne 0x460d07
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x460d6a
test bl, 4
jne 0x460d36
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x460d6a
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xd
ja 0x460def
je 0x460d91
cmp ebx, 0xa
je 0x4607d4
jbe 0x4606a2
cmp ebx, 0xc
jmp 0x460e09
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x460dda
cmp dword [ebp + 0x88], 0
je 0x4607d4
cmp eax, dword [ebp + 0x84]
jbe 0x4607d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4607d4
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edi, 0xfffffff4
jmp 0x4687c0
cmp byte [eax], 0xa
jne 0x4607d4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45ef5a
cmp ebx, 0x85
je 0x460e0f
cmp ebx, 0x2027
jbe 0x4606a2
cmp ebx, 0x2029
ja 0x4606a2
cmp dword [ebp + 0x68], 0
jmp 0x46069c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460f20
cmp ebx, 0xc0
jb 0x460f20
test bl, 0x20
jne 0x460e61
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460f1d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460e8b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460f20
mov edx, dword [esi + 8]
test bl, 8
jne 0x460eb1
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x460f14
test bl, 4
jne 0x460ee0
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x460f14
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x460f58
je 0x45f71d
cmp ebx, 0xa0
ja 0x460f4d
je 0x45f71d
cmp ebx, 9
je 0x45f71d
cmp ebx, 0x20
jmp 0x4607ce
cmp ebx, 0x1680
jmp 0x4607ce
cmp ebx, 0x205f
ja 0x460f89
je 0x45f71d
cmp ebx, 0x2000
jb 0x4607d4
cmp ebx, 0x200a
jbe 0x45f71d
cmp ebx, 0x202f
jmp 0x4607ce
cmp ebx, 0x3000
je 0x45f71d
inc dword [esi + 0xc]
jmp 0x45ef5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4610a5
cmp ebx, 0xc0
jb 0x4610a5
test bl, 0x20
jne 0x460fe6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4610a2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x461010
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4610a5
mov edx, dword [esi + 8]
test bl, 8
jne 0x461036
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x461099
test bl, 4
jne 0x461065
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x461099
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x4610dd
je 0x4607d4
cmp ebx, 0xa0
ja 0x4610d2
je 0x4607d4
cmp ebx, 9
je 0x4607d4
cmp ebx, 0x20
jmp 0x46069c
cmp ebx, 0x1680
jmp 0x46069c
cmp ebx, 0x205f
ja 0x46110e
je 0x4607d4
cmp ebx, 0x2000
jb 0x4606a2
cmp ebx, 0x200a
jbe 0x4607d4
cmp ebx, 0x202f
jmp 0x46069c
cmp ebx, 0x3000
jmp 0x46069c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x461221
cmp ebx, 0xc0
jb 0x461221
test bl, 0x20
jne 0x461162
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46121e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46118c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x461221
mov edx, dword [esi + 8]
test bl, 8
jne 0x4611b2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x461215
test bl, 4
jne 0x4611e1
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x461215
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x461249
je 0x4606a2
cmp ebx, 0xa
jb 0x4607d4
cmp ebx, 0xd
jbe 0x4606a2
inc dword [esi + 0xc]
jmp 0x45ef5a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4607d4
jmp 0x4606a2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x461365
cmp ebx, 0xc0
jb 0x461365
test bl, 0x20
jne 0x4612a6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x461362
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4612d0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x461365
mov edx, dword [esi + 8]
test bl, 8
jne 0x4612f6
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x461359
test bl, 4
jne 0x461325
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x461359
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x46138a
je 0x4607d4
cmp ebx, 0xa
jb 0x45f71d
cmp ebx, 0xd
jbe 0x4607d4
jmp 0x45f71d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x45f71d
inc dword [esi + 0xc]
jmp 0x45ef5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x46149d
cmp ebx, 0xc0
jb 0x46149d
test bl, 0x20
jne 0x4613e9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46149a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x461411
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46149d
mov edx, dword [esi + 8]
test bl, 8
jne 0x461437
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x46149a
test bl, 4
jne 0x461466
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x46149a
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x510880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4614c0
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
movzx edx, word [ecx*2 + 0x512a80]
cmp eax, 0xa
ja case.default.0x4614da
jmp dword [eax*4 + 0x46ce9c]
cmp dword [esi + 0x9c], 0xf
jne 0x45ef56
jmp 0x45fd5b
mov al, byte [edx*8 + 0x50f201]
cmp al, 9
je 0x46150a
cmp al, 5
je 0x46150a
cmp al, 8
je 0x46150a
xor ecx, ecx
jmp 0x46150f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x45ef56
jmp 0x45fd5b
movzx ecx, byte [edx*8 + 0x50f201]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x50f010]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x45ef56
jmp 0x45fd5b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50f201]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x45ef56
jmp 0x45fd5b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50f200]
jmp 0x46156b
movzx eax, byte [edx*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x46150a
cmp eax, 3
je 0x46150a
xor ecx, ecx
jmp 0x46150f
cmp ebx, 0x180e
ja 0x461603
je case.0x4614da.0
cmp ebx, 0x85
ja 0x4615ef
je case.0x4614da.0
cmp ebx, 9
jb case.0x461623.8203
cmp ebx, 0xd
jbe case.0x4614da.0
cmp ebx, 0x20
jmp 0x46163c
cmp ebx, 0xa0
je case.0x4614da.0
cmp ebx, 0x1680
jmp 0x46163c
cmp ebx, 0x202f
ja 0x46162a
je case.0x4614da.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x461623.8203
movzx eax, byte [ebx + 0x46ced0]
jmp dword [eax*4 + 0x46cec8]
cmp ebx, 0x205f
je case.0x4614da.0
cmp ebx, 0x3000
je case.0x4614da.0
movzx eax, byte [edx*8 + 0x50f201]
xor ecx, ecx
cmp dword [eax*4 + 0x50f010], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x461577
movzx eax, byte [edx*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x46150a
cmp eax, 3
je 0x46150a
cmp ebx, 0x5f
je 0x46150a
xor ecx, ecx
jmp 0x46150f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x50f0c0]
lea eax, [eax*4 + 0x50f0c0]
cmp ebx, ecx
jb 0x4616bd
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x4616cf
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x4616b0
cmp dword [esi + 0x9c], 0x10
jne 0x45ef56
jmp 0x45fd5b
cmp dword [esi + 0x9c], 0x10
je 0x45ef56
jmp 0x45fd5b
cmp ebx, 0x24
je 0x46150a
cmp ebx, 0x40
je 0x46150a
cmp ebx, 0x60
je 0x46150a
cmp ebx, 0xa0
jb 0x461710
cmp ebx, 0xd7ff
jbe 0x46150a
cmp ebx, 0xe000
jae 0x46150a
xor ecx, ecx
jmp 0x46150f
mov esi, dword [esi]
test esi, esi
je case.default.0x4687d4
mov edi, 0xfffffff2
jmp 0x4687b9
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x461842
cmp ebx, 0xc0
jb 0x461842
test bl, 0x20
jne 0x461780
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46183f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4617af
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x8c]
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x461842
mov edx, dword [esi + 8]
test bl, 8
jne 0x4617d5
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x461838
test bl, 4
jne 0x461804
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x461838
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x461864
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f202]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4619f6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x46198e
cmp ebx, 0xc0
jb 0x46198e
test bl, 0x20
jne 0x4618c5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x461986
test bl, 0x10
jne 0x4618ea
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x461986
test bl, 8
jne 0x461918
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x461986
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x461952
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x461986
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4619b0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx ecx, byte [eax*8 + 0x50f202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50f088], eax
je 0x4619f6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x461890
cmp dword [ebp + 0x88], 0
je 0x4607d4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4607d4
cmp eax, dword [ebp + 0x84]
jbe 0x4607d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4607d4
jmp 0x45fec6
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
movzx ebx, byte [ecx + 3]
movzx edx, byte [ecx + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
lea eax, [ecx + 5]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
jle 0x461b24
lea esp, [esp]
movzx ecx, byte [edx]
dec ebx
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [esi + 0x98], edi
cmp edi, dword [esi + 0x14]
jge 0x461ab4
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x461abd
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x461a90
jmp 0x461b24
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x461b24
xor eax, eax
cmp edx, 0x72
sete al
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov edx, dword [esi + 0x98]
cmp edx, dword [esi + 0x14]
jge 0x461b14
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x461b14
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x461b1e
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x461b3f
movzx eax, byte [eax + 0x46cf04]
jmp dword [eax*4 + 0x46cefc]
add ecx, 0xffffff9e
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x80], ebx
movsx eax, byte [ecx + 0x50e550]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50e55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x461bcd
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x461bcd
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x461bc9
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x45ef61
jns 0x461bf1
cmp dword [esi + 0x90], 0
je 0x45ef61
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x461c2f
mov edi, edi
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0046d400
add esp, 0x14
test eax, eax
js 0x461c61
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x461c00
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45ef61
cmp dword [esp + 0x80], 0
je 0x461c8a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x469072
cmp eax, 0xfffffffe
jne 0x461c6c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x465ee6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x465ee6.14
jmp 0x460505
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x461ca0
cmp edi, dword [esi + 0x8c]
jge 0x4690c1
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0046d400
add esp, 0x14
test eax, eax
js 0x461cd5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x461ca0
cmp eax, 0xfffffffe
jne 0x4690c1
cmp dword [ebp + 0x88], 0
je 0x4690c1
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4690c1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4690c1
jmp 0x45fec6
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0046d400
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x461d99
cmp eax, 0xfffffffe
jne 0x461d45
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x46969d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x46969d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x46969d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x46969d.14
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x4687c4
add dword [esi + 8], eax
jmp 0x45ef5a
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
add dword [esi + 0xc], 0x21
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x461dc7
movzx eax, byte [eax + 0x46cf14]
jmp dword [eax*4 + 0x46cf0c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x461dea
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x461df5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50e550]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50e55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x461e8c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x461e8c
xor ebx, ebx
cmp cl, 0x69
sete bl
xor eax, eax
cmp cl, 0x6d
mov dword [esp + 0x84], ebx
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x461e72
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x461e8c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x461fec
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x462041
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x461f9c
test bl, 0x20
jne 0x461eea
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x461f99
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x461f11
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x461f97
test bl, 8
jne 0x461f34
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x461f97
test bl, 4
jne 0x461f63
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x461f97
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x461fad
cmp dword [esi + 0x9c], 0x6e
jmp 0x461fc2
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x461eb0
jmp 0x462033
cmp dword [ebp + 0x88], 0
je case.0x465ee6.14
mov eax, dword [esi + 8]
jmp 0x460505
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x46203a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x461fd7
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 8], eax
and ecx, 7
mov eax, dword [esi + 0x28]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x462000
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45ef5a
test ebx, ebx
je 0x46206a
test edx, edx
jne 0x46c2d7
mov dword [esi + 0x84], eax
jmp 0x46915b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x462222
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x46220f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4621e7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x462196
test bl, 0x20
jne 0x4620db
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x462196
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x462103
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x46218c
and eax, 0x3f
test bl, 8
jne 0x462129
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x46218c
test bl, 4
jne 0x462158
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x46218c
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0xff
jbe 0x4621a7
cmp dword [esi + 0x9c], 0x6e
jmp 0x4621bc
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x46220f
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x462091
jmp 0x46220f
cmp dword [ebp + 0x88], 0
je 0x46220f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46220f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
je 0x46a11c
jmp 0x45ef5a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x46229a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x462272
movzx edi, byte [ebx]
mov edx, 1
mov eax, dword [esi + 0x28]
mov ecx, edi
and ecx, 7
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x46229a
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x462231
jmp 0x46229a
cmp dword [ebp + 0x88], 0
je 0x46229a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46229a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
je 0x46919b
jmp 0x45ef5a
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x4622e5
movzx eax, byte [eax + 0x46cf28]
jmp dword [eax*4 + 0x46cf20]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x462308
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x462313
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50e550]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50e55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4623aa
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x4623aa
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x84], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x462390
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x4623aa
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4624e5
jmp 0x4623c0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x4624ba
cmp edx, 0xc0
jb 0x4624ba
test dl, 0x20
jne 0x462408
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4624b7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x46242f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4624b5
test dl, 8
jne 0x462452
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x4624b5
test dl, 4
jne 0x462481
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x4624b5
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.0046e680
add esp, 0xc
test eax, eax
je case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4623c0
jmp 0x4624ec
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45ef61
cmp dword [esp + 0x84], 0
jne 0x46c2e8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x46267d
jmp 0x462530
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x462653
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x46261b
cmp edx, 0xc0
jb 0x46261b
test dl, 0x20
jne 0x46257c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x46261b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x46259b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x462611
and eax, 0x3f
test dl, 8
jne 0x4625bb
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x462611
test dl, 4
jne 0x4625e4
and edx, 3
mov ebx, 5
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x462611
and edx, ebx
mov ebx, 6
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.0046e680
add esp, 0xc
test eax, eax
je 0x46267d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x462530
jmp 0x46267d
cmp dword [ebp + 0x88], 0
je 0x462676
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x462676
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x45fec6
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x45ef61
jmp 0x469f31
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x462869
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x4627f0
test al, 0x20
jne 0x4626f0
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x4627f0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x46272a
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x4627f0
test al, 8
jne 0x462766
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x4627f0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4627ab
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x4627f0
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x462829
cmp dword [ebp + 0x88], ebx
je case.0x465ee6.14
cmp edx, edi
jb case.0x465ee6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x465ee6.14
jmp 0x45feb2
test ecx, ecx
jle 0x46285e
lea ecx, [ecx]
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.0x465ee6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x462830
dec dword [esi + 0x88]
jmp 0x45ef5a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x4628b6
cmp dword [ebp + 0x88], ebx
je 0x45f71d
cmp edi, dword [ebp + 0x84]
jbe 0x45f71d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f71d
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edi, 0xfffffff4
jmp 0x4687c0
mov eax, dword [esi + 0xc]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dl, cl
je 0x462bcb
jmp 0x45fd5b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460570
cmp dword [esp + 0x8c], ebx
je 0x462bac
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x462a3b
test al, 0x20
jne 0x46293b
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x462a3b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x462975
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x462a3b
test al, 8
jne 0x4629b1
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x462a3b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4629f6
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x462a3b
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [esi + 0x80]
mov eax, dword [esi + 8]
cmp edi, 0x80
jae 0x462a69
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x45fd5b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x45ef5a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x462b4b
test bl, 0x20
jne 0x462a99
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x462b48
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x462ac0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x462b46
test bl, 8
jne 0x462ae3
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x462b46
test bl, 4
jne 0x462b12
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x462b46
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edi, dword [esi + 0x80]
cmp edi, ebx
je 0x45ef5a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x510880]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x462b85
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x512a80]
mov eax, dword [eax*8 + 0x50f204]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x45ef61
jmp 0x45fd5b
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x38]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne 0x45fd5b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x45ef5a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x462cfd
mov dword [esp + 0x80], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x462c34
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x462c3f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x462cfd
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x462d04
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x462d04
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x462d04
mov ecx, dword [esi + 0xc]
cmp edx, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x84], eax
movsx eax, byte [edx + 0x50e550]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50e55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x462cfd
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x463178
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x462e4b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x462d61
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x462e4b
test bl, 0x10
jne 0x462d96
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 0xc]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x462e4b
mov ecx, dword [esi + 0xc]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x462dd4
and ebx, 7
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x462e4b
test bl, 4
jne 0x462e0d
and ebx, 3
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x462e4b
and ebx, 1
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
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
cmp dword [esi + 0x88], 1
jle 0x463187
cmp dword [esi + 0x9c], 0x2e
jb 0x462ebc
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x510880]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x462e93
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x512a80]
mov ecx, dword [eax*8 + 0x50f204]
add ecx, edi
cmp ecx, edi
je 0x462ebc
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0046e620
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x462ec3
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x462ff6
jmp 0x462ee0
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x90], ecx
cmp edi, eax
ja 0x462f64
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x462f18
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x462f21
add ecx, 4
add edx, 4
sub edi, 4
jae 0x462f07
cmp edi, 0xfffffffc
je 0x462fd8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x462f5a
cmp edi, 0xfffffffd
je 0x462fd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x462f5a
cmp edi, 0xfffffffe
je 0x462fd8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x462f5a
cmp edi, 0xffffffff
je 0x462fd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x462fd8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x461c6c
sub ecx, ebx
cmp edi, ecx
ja 0x461c6c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x462f96
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x462f9b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x462f85
cmp edi, 0xfffffffc
je 0x462fd8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x461c6c
cmp edi, 0xfffffffd
je 0x462fd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x461c6c
cmp edi, 0xfffffffe
je 0x462fd8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x461c6c
cmp edi, 0xffffffff
je 0x462fd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x461c6c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x462ee0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45ef61
cmp dword [esp + 0x84], 0
jne 0x46c2f9
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x463165
lea esp, [esp]
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x84], ecx
cmp edi, eax
ja 0x4630bc
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x463078
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x463081
add ecx, 4
add edx, 4
sub edi, 4
jae 0x463067
cmp edi, 0xfffffffc
je 0x463118
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4630b2
cmp edi, 0xfffffffd
je 0x463118
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4630b2
cmp edi, 0xfffffffe
je 0x463118
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4630b2
cmp edi, 0xffffffff
je 0x463118
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x463118
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x463138
sub ecx, ebx
cmp edi, ecx
ja 0x463138
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x4630e6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4630eb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4630d5
cmp edi, 0xfffffffc
je 0x463118
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x463138
cmp edi, 0xfffffffd
je 0x463118
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x463138
cmp edi, 0xfffffffe
je 0x463118
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x463138
cmp edi, 0xffffffff
je 0x463118
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x463138
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x463040
jmp 0x463165
cmp dword [ebp + 0x88], 0
je 0x463165
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x463165
cmp eax, dword [ebp + 0x84]
jbe 0x463165
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
je 0x46a2dc
jmp 0x45ef5a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x46327f
mov ecx, dword [ebp + 0x3c]
mov edx, 1
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x90], edx
jl 0x4631e4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x461fd7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4631d7
cmp dword [esi + 0x94], ecx
jne case.0x465ee6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x4631b4
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45ef5a
cmp dword [esp + 0x84], 0
je 0x46320b
mov dword [esi + 0x84], eax
jmp 0x46923b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x463272
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46324a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x46323b
cmp dword [esi + 0x94], ecx
jne 0x463272
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x463220
jmp 0x463272
cmp dword [ebp + 0x88], 0
je 0x463272
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x463272
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
test edi, edi
je 0x46927b
jmp 0x45ef5a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4632ba
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463290
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45ef61
cmp dword [esp + 0x84], 0
je 0x4632e8
mov dword [esi + 0x84], eax
jmp 0x469308
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x46334c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x463324
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x46334c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x463300
jmp 0x46334c
cmp dword [ebp + 0x88], 0
je 0x46334c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46334c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
je 0x469348
jmp 0x45ef61
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x463384
cmp dword [ebp + 0x88], ebx
je case.0x465ee6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x465ee6.14
jmp 0x45feb2
test edi, edi
je 0x4635fc
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 0xc], edx
cmp ebx, 0xc0
jb 0x463485
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x4633c2
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463482
test bl, 0x10
jne 0x4633e3
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x463482
test bl, 8
jne 0x46340e
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [edx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 0xc], 3
jmp 0x463485
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x463447
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x463482
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esp + 0x80], edx
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x463578
test dl, 0x20
jne 0x4634bf
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46356e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4634e6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x46356c
test dl, 8
jne 0x463509
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x46356c
test dl, 4
jne 0x463538
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x46356c
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esp + 0x80], edx
mov dword [esi + 8], eax
cmp dword [esi + 0x9c], 0x1f
jne 0x463595
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x45ef61
jmp 0x45fd5b
cmp ebx, 0x7f
jbe 0x4635d2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x510880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4635bd
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x512a80]
mov ecx, dword [eax*8 + 0x50f204]
add ecx, ebx
jmp 0x4635d9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x45fd5b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x45ef61
jmp 0x45fd5b
mov eax, dword [esi + 0xc]
movzx edi, byte [ecx]
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x465ee6.14
cmp dword [esi + 0x9c], 0x20
jne 0x462bcb
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x465ee6.14
add dword [esi + 0xc], 2
jmp 0x45ef5a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x463796
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x42
je 0x46369b
cmp al, 0x4f
je 0x46369b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x463796
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x463796
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x463796
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x463796
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x463796
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x463796
mov ecx, dword [esi + 0xc]
cmp edx, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x48
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x84], ebx
movsx eax, byte [edx + 0x50e550]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50e55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x463796
mov dword [esi + 0x8c], 0x7fffffff
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
mov edi, dword [esi + 0xc]
test edx, edx
je 0x4638f1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x4638f1
test al, 0x20
jne 0x4637e8
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x4638f1
test al, 0x10
jne 0x46381b
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x4638f1
test al, 8
jne 0x46385d
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x4638f1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4638a8
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 4
jmp 0x4638ea
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
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
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 5
mov edx, dword [esp + 0x8c]
cmp dword [esi + 0x9c], 0x48
jb 0x463d15
test edx, edx
je 0x46394c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x46394c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x510880]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x463930
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x512a80]
mov eax, dword [eax*8 + 0x50f204]
add eax, edi
jmp 0x463959
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x463aa0
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x463aeb
jmp 0x463980
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x463a79
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4639ba
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x463a76
test cl, 0x10
jne 0x4639db
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x463a76
test cl, 8
jne 0x463a05
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x463a76
test cl, 4
jne 0x463a3b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x463a76
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x465ee6.14
cmp dword [esi + 0x94], ecx
je case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463980
jmp 0x463ae4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x463ae4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x461fd7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x465ee6.14
cmp dword [esi + 0x94], ecx
je case.0x465ee6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x463ab0
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45ef5a
test ebx, ebx
je 0x463b14
test edx, edx
jne 0x46c30a
mov dword [esi + 0x84], eax
jmp 0x4693df
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x463c9d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x463c8a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x463c62
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x463c3e
test dl, 0x20
jne 0x463b72
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x463c3e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x463b9c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x463c3c
test dl, 8
jne 0x463bc8
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x463c3c
test dl, 4
jne 0x463c00
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x463c3c
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x463c8a
cmp dword [esi + 0x94], edx
je 0x463c8a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x463b34
jmp 0x463c8a
cmp dword [ebp + 0x88], 0
je 0x463c8a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x463c8a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
je 0x46a4bc
jmp 0x45ef5a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x463d02
jmp 0x463cb0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x463cda
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x463d02
cmp dword [esi + 0x94], ecx
je 0x463d02
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x463cb0
jmp 0x463d02
cmp dword [ebp + 0x88], 0
je 0x463d02
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x463d02
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
je 0x46941f
jmp 0x45ef5a
test edx, edx
je 0x463e37
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x463e75
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x463e1c
test dl, 0x20
jne 0x463d6a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x463e19
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x463d91
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x463e17
test dl, 8
jne 0x463db4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x463e17
test dl, 4
jne 0x463de3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x463e17
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463d30
jmp 0x463e6e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x463e75
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463e44
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45ef5a
cmp dword [esp + 0x84], 0
je 0x463ea4
test edx, edx
jne 0x46c31f
mov dword [esi + 0x84], eax
jmp 0x4694ac
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x464028
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x464015
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x463fed
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x463fd1
test dl, 0x20
jne 0x463f02
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x463fd1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x463f2c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x463fcf
test dl, 8
jne 0x463f5b
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x463fcf
test dl, 4
jne 0x463f93
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x463fcf
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x464015
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x463ec4
jmp 0x464015
cmp dword [ebp + 0x88], 0
je 0x464015
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x464015
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
je 0x46a680
jmp 0x45ef5a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x464082
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46405a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x464082
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x464036
jmp 0x464082
cmp dword [ebp + 0x88], 0
je 0x464082
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x464082
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
je 0x4694ec
jmp 0x45ef5a
mov eax, dword [esi + 0xc]
mov dword [esp + 0x84], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x4641d4
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x84], edx
mov dword [esi + 0xc], eax
jmp 0x4641d4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4641d4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4641d4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4641d4
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x4641d4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x50e4fb]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x50e507]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4641d4
mov dword [esi + 0x8c], 0x7fffffff
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x10
je 0x4641f6
cmp ecx, 0xf
je 0x4641f6
mov dword [esi + 0x60], 0xffffffff
jmp 0x464219
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x4661bb
mov eax, dword [esi + 0x60]
test eax, eax
js 0x464fc8
cmp eax, 0xa
ja case.default.0x4614da
jmp dword [eax*4 + 0x46cf34]
cmp dword [esi + 0x68], ebx
jne 0x45fd5b
mov edx, 1
cmp ecx, edx
jl 0x4661bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x46429f
cmp ecx, 0xc0
jb 0x46429f
test cl, 0x20
jne 0x46427b
inc eax
jmp 0x46429c
test cl, 0x10
jne 0x464285
add eax, 2
jmp 0x46429c
test cl, 8
jne 0x46428f
add eax, 3
jmp 0x46429c
test cl, 4
jne 0x464299
add eax, 4
jmp 0x46429c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x464258
jmp 0x4661bb
cmp dword [ebp + 0x88], ebx
je case.0x465ee6.14
mov eax, dword [esi + 8]
jmp 0x460505
mov edi, 1
cmp ecx, edi
jl 0x4661bb
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4643ca
cmp ebx, 0xc0
jb 0x4643ca
test bl, 0x20
jne 0x464318
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4643c7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46433f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4643c5
test bl, 8
jne 0x464362
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4643c5
test bl, 4
jne 0x464391
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4643c5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4643ec
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
cmp eax, 9
je 0x464411
cmp eax, 5
je 0x464411
cmp eax, 8
je 0x464411
xor eax, eax
jmp 0x464416
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4642d0
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661bb
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x464538
cmp ebx, 0xc0
jb 0x464538
test bl, 0x20
jne 0x464488
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x464535
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4644af
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x464535
test bl, 8
jne 0x4644d2
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x464535
test bl, 4
jne 0x464501
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x464535
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46455a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x464440
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661bb
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x46469b
cmp ebx, 0xc0
jb 0x46469b
test bl, 0x20
jne 0x4645eb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x464698
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x464612
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x464698
test bl, 8
jne 0x464635
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x464698
test bl, 4
jne 0x464664
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x464698
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4646bd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4645a3
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661bb
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4647f8
cmp ebx, 0xc0
jb 0x4647f8
test bl, 0x20
jne 0x464748
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4647f5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46476f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4647f5
test bl, 8
jne 0x464792
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4647f5
test bl, 4
jne 0x4647c1
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4647f5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46481a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f200]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x464700
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661bb
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x46495a
cmp ebx, 0xc0
jb 0x46495a
test bl, 0x20
jne 0x4648a8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x464957
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4648cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x464955
test bl, 8
jne 0x4648f2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x464955
test bl, 4
jne 0x464921
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x464955
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46497c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x4649a3
cmp eax, 3
je 0x4649a3
xor eax, eax
jmp 0x4649a8
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x464860
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661bb
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x464aca
cmp ebx, 0xc0
jb 0x464aca
test bl, 0x20
jne 0x464a18
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x464ac7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x464a3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x464ac5
test bl, 8
jne 0x464a62
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x464ac5
test bl, 4
jne 0x464a91
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x464ac5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x464b0d
je case.0x464b29.8192
cmp ebx, 0x85
ja 0x464af9
je case.0x464b29.8192
cmp ebx, 9
jb case.0x464b29.8203
cmp ebx, 0xd
jbe case.0x464b29.8192
cmp ebx, 0x20
jmp 0x464b3e
cmp ebx, 0xa0
je case.0x464b29.8192
cmp ebx, 0x1680
jmp 0x464b3e
cmp ebx, 0x202f
ja 0x464b30
je case.0x464b29.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x464b29.8203
movzx eax, byte [eax + 0x46cf68]
jmp dword [eax*4 + 0x46cf60]
cmp ebx, 0x205f
je case.0x464b29.8192
cmp ebx, 0x3000
je case.0x464b29.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x464b62
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
cmp dword [eax*4 + 0x50f010], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x465ee6.14
jmp 0x464b96
cmp dword [esi + 0x68], 0
jne case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4649d0
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661bb
jmp 0x464bc0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x464cb8
cmp ebx, 0xc0
jb 0x464cb8
test bl, 0x20
jne 0x464c08
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x464cb5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x464c2f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x464cb5
test bl, 8
jne 0x464c52
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x464cb5
test bl, 4
jne 0x464c81
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x464cb5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x510880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x464cdb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x464d07
cmp eax, 3
je 0x464d07
cmp ebx, 0x5f
je 0x464d07
xor eax, eax
jmp 0x464d0c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x465ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x464bc0
jmp 0x4661bb
mov ebx, 1
cmp ecx, ebx
jl 0x4661bb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x464e2c
cmp edx, 0xc0
jb 0x464e2c
test dl, 0x20
jne 0x464d7c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464e29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464da3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x464e29
test dl, 8
jne 0x464dc6
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x464e29
test dl, 4
jne 0x464df5
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x464e29
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
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
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x50f0c0]
lea eax, [eax*4 + 0x50f0c0]
cmp edx, ecx
jb 0x464e4e
lea eax, [eax + 4]
cmp edx, ecx
je 0x464e6a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x464e41
cmp dword [esi + 0x68], 0
je case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464d34
jmp 0x4661bb
cmp dword [esi + 0x68], 0
jne case.0x465ee6.14
jmp 0x464e58
mov ebx, 1
cmp ecx, ebx
jl 0x4661bb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x464f7d
cmp edx, 0xc0
jb 0x464f7d
test dl, 0x20
jne 0x464ecb
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464f7a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464ef2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464f78
test dl, 8
jne 0x464f15
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x464f78
test dl, 4
jne 0x464f44
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x464f78
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x24
je 0x464fa8
cmp edx, 0x40
je 0x464fa8
cmp edx, 0x60
je 0x464fa8
cmp edx, 0xa0
jb 0x464f9c
cmp edx, 0xd7ff
jbe 0x464fa8
cmp edx, 0xe000
jae 0x464fa8
xor eax, eax
jmp 0x464fad
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464e83
jmp 0x4661bb
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4652f3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x4661bb
jmp 0x464ff0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x461fd7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x4650f0
cmp ebx, 0xc0
jb 0x4650f0
test bl, 0x20
jne 0x465039
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4650ed
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x465060
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4650e6
test bl, 8
jne 0x465083
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4650e6
test bl, 4
jne 0x4650b2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4650e6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x465112
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f202]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4652ad
jmp 0x465140
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x46523e
cmp ebx, 0xc0
jb 0x46523e
test bl, 0x20
jne 0x465175
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x465236
test bl, 0x10
jne 0x46519a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x465236
test bl, 8
jne 0x4651c8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x465236
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x465202
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x465236
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x465260
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx ecx, byte [eax*8 + 0x50f202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50f088], eax
je 0x4652a6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x465140
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x4652da
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4652da
cmp eax, dword [ebp + 0x84]
jbe 0x4652da
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x464ff0
jmp 0x4661bb
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x465dbf
cmp eax, 0xf
ja case.0x468307.9
jmp dword [eax*4 + 0x46cf94]
mov ebx, 1
cmp ecx, ebx
jl 0x4661c2
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x461fd7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x465357
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ecf0
add esp, 0x14
test eax, eax
jne case.0x465ee6.14
jmp 0x46537b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x46537b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x46537b
cmp edx, 1
je case.0x465ee6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x465ee6.14
cmp dword [ebp + 0x88], 0
je 0x4653b6
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4653b6
cmp dword [ebp + 0x18], 0
jne 0x4653b6
cmp dword [edi], 2
jne 0x4653b6
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4653b6
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4653d2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4653d2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4653c1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x465322
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4642ad
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x465428
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x465428
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x465410
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4653f4
jmp 0x4661bb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x45fd5b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x4661bb
mov ebx, 1
cmp ecx, ebx
jl 0x4661c2
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46554c
test dl, 0x20
jne 0x46549a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x465549
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4654c1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x465547
test dl, 8
jne 0x4654e4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x465547
test dl, 4
jne 0x465513
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x465547
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0xd
ja 0x465570
je 0x46555d
cmp edx, 0xa
je 0x465591
lea eax, [edx - 0xb]
jmp 0x46557e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x465591
cmp byte [eax], 0xa
jne 0x465591
inc eax
mov dword [esi + 8], eax
jmp 0x465591
cmp edx, 0x85
je 0x465587
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x465ee6.14
cmp dword [ebp + 0x68], 0
jne case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x465460
jmp 0x4661bb
mov ebx, 1
cmp ecx, ebx
jl 0x4661c2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46569c
test dl, 0x20
jne 0x4655ea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x465699
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x465611
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x465697
test dl, 8
jne 0x465634
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x465697
test dl, 4
jne 0x465663
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x465697
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x4656ce
je case.0x465ee6.14
cmp edx, 0xa0
ja 0x4656c6
je case.0x465ee6.14
cmp edx, 9
je case.0x465ee6.14
cmp edx, 0x20
jmp 0x4656fe
cmp edx, 0x1680
jmp 0x4656fe
cmp edx, 0x205f
ja 0x4656f8
je case.0x465ee6.14
cmp edx, 0x2000
jb 0x465704
cmp edx, 0x200a
jbe case.0x465ee6.14
cmp edx, 0x202f
jmp 0x4656fe
cmp edx, 0x3000
je case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4655b0
jmp 0x4661bb
mov ebx, 1
cmp ecx, ebx
jl 0x4661c2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46580f
test dl, 0x20
jne 0x46575d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46580c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x465784
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x46580a
test dl, 8
jne 0x4657a7
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x46580a
test dl, 4
jne 0x4657d6
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x46580a
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x465835
je 0x465867
cmp edx, 0xa0
ja 0x46582d
je 0x465867
cmp edx, 9
je 0x465867
cmp edx, 0x20
jmp 0x465861
cmp edx, 0x1680
jmp 0x465861
cmp edx, 0x205f
ja 0x46585b
je 0x465867
cmp edx, 0x2000
jb case.0x465ee6.14
cmp edx, 0x200a
jbe 0x465867
cmp edx, 0x202f
jmp 0x465861
cmp edx, 0x3000
jne case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x465723
jmp 0x4661bb
mov ebx, 1
cmp ecx, ebx
jl 0x4661c2
jmp 0x465890
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46597c
test dl, 0x20
jne 0x4658ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x465979
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4658f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x465977
test dl, 8
jne 0x465914
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x465977
test dl, 4
jne 0x465943
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x465977
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x465994
je case.0x465ee6.14
cmp edx, 0xa
jb 0x4659a8
cmp edx, 0xd
jmp 0x4659a2
cmp edx, 0x2028
jb 0x4659a8
cmp edx, 0x2029
jbe case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x465890
jmp 0x4661bb
mov ebx, 1
cmp ecx, ebx
jl 0x4661c2
jmp 0x4659d0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x465abc
test dl, 0x20
jne 0x465a0a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x465ab9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x465a31
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x465ab7
test dl, 8
jne 0x465a54
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x465ab7
test dl, 4
jne 0x465a83
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x465ab7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x465ace
je 0x465add
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x465ad7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4659d0
jmp 0x4661bb
mov ebx, 1
cmp ecx, ebx
jl 0x4661c2
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x461fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x465bec
test dl, 0x20
jne 0x465b3a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x465be9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x465b61
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x465be7
test dl, 8
jne 0x465b84
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x465be7
test dl, 4
jne 0x465bb3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x465be7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x80
jae 0x465c01
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x465ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x465b00
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4642ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x465ee6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x465ee6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465c20
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4642ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x465c93
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x465ee6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x465cb8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x465cb8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x465ca0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x465c70
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4642ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x465ee6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x465ee6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465cd3
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4642ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x465d43
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x465ee6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x465d68
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x465d68
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x465d50
inc edi
cmp edi, dword [esi + 0x90]
jle 0x465d20
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4642ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x465ee6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x465ee6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465d83
jmp 0x4661bb
cmp eax, 0xf
ja case.0x468307.9
jmp dword [eax*4 + 0x46cfd4]
mov ebx, 1
cmp ecx, ebx
jl 0x4661c2
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x461fd7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x465e10
push 0
push edi
push eax
push edx
push ecx
call fcn.0046ecf0
add esp, 0x14
test eax, eax
jne case.0x465ee6.14
jmp 0x465e34
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x465e34
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x465e34
cmp edx, 1
je case.0x465ee6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x465ee6.14
cmp dword [ebp + 0x88], 0
je 0x465e6f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x465e6f
cmp dword [ebp + 0x18], 0
jne 0x465e6f
cmp dword [edi], 2
jne 0x465e6f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x465e6f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x465de0
jmp 0x4661bb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x465446
cmp dword [ebp + 0x88], ebx
je case.0x465ee6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x465ee6.14
jmp 0x45feb2
mov edx, 1
cmp ecx, edx
jl 0x4661bb
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4642ad
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x465ee6.14
movzx eax, byte [eax + 0x46d024]
jmp dword [eax*4 + 0x46d014]
cmp ecx, dword [ebp + 0x78]
jae case.0x465ee6.10
cmp byte [ecx], 0xa
jne case.0x465ee6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x465ee6.10
cmp dword [ebp + 0x68], ebx
jne case.0x465ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x465ec0
jmp 0x4661bb
mov edx, 1
cmp ecx, edx
jl 0x4661bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x465ee6.14
cmp ecx, 0x20
je case.0x465ee6.14
cmp ecx, 0xa0
je case.0x465ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x465f23
jmp 0x4661bb
mov edx, 1
cmp ecx, edx
jl 0x4661bb
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x465f99
cmp ecx, 0x20
je 0x465f99
cmp ecx, 0xa0
jne case.0x465ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x465f70
jmp 0x4661bb
mov edx, 1
cmp ecx, edx
jl 0x4661bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x465fe1
cmp ecx, 0xd
jle case.0x465ee6.14
cmp ecx, 0x85
je case.0x465ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x465fb4
jmp 0x4661bb
mov edx, 1
cmp ecx, edx
jl 0x4661bb
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x465ee6.14
cmp ecx, 0xd
jle 0x46602d
cmp ecx, 0x85
jne case.0x465ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x466000
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
jmp 0x466050
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x465ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x466050
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x465ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x466090
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x465ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4660d0
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x465ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x466110
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
jmp 0x466150
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x465ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x466150
jmp 0x4661bb
mov edi, 1
cmp ecx, edi
jl 0x4661c2
jmp 0x466190
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4642ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x465ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x466190
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x45ef5a
cmp dword [esp + 0x84], 0
je 0x466222
mov eax, dword [esi + 0x60]
test eax, eax
js 0x466205
cmp eax, 0xa
ja case.0x468307.9
jmp dword [eax*4 + 0x46d0a0]
mov esi, dword [esi]
test esi, esi
je case.default.0x4687d4
mov edi, 0xfffffff2
jmp 0x4687c0
cmp dword [esi + 0x7c], 0x16
je 0x46c3f3
test edx, edx
jne 0x46c3de
mov dword [esi + 0x84], ecx
jmp 0x469655
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x46725b
cmp eax, 0xa
ja case.0x468307.9
jmp dword [eax*4 + 0x46d0cc]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467248
mov ebx, dword [esp + 0x8c]
jmp 0x466260
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x4662cb
movzx ecx, byte [edx]
test ebx, ebx
je 0x4662ae
cmp ecx, 0xc0
jb 0x4662ae
test cl, 0x20
jne 0x466288
mov eax, 2
jmp 0x4662ae
test cl, 0x10
jne 0x466294
mov eax, 3
jmp 0x4662ae
test cl, 8
jne 0x4662a0
mov eax, 4
jmp 0x4662ae
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x467248
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x466260
jmp 0x467248
cmp dword [ebp + 0x88], 0
je 0x467248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x467248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x467248
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x4687c0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x467248
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46648e
movzx ebx, byte [edi]
test edx, edx
je 0x46640c
cmp ebx, 0xc0
jb 0x46640c
test bl, 0x20
jne 0x46636e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x466404
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46638d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x466404
and eax, 0x3f
test bl, 8
jne 0x4663ad
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x466404
test bl, 4
jne 0x4663d6
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
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 0x466404
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46642e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
cmp eax, 9
je 0x466453
cmp eax, 5
je 0x466453
cmp eax, 8
je 0x466453
xor eax, eax
jmp 0x466458
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x467248
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x466330
jmp 0x467248
cmp dword [ebp + 0x88], 0
je 0x467248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x467248
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x467248
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edi, 0xfffffff4
jmp 0x4687c0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x467248
jmp 0x4664f0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x466672
movzx ebx, byte [edi]
test edx, edx
je 0x4665f3
cmp ebx, 0xc0
jb 0x4665f3
test bl, 0x20
jne 0x46653a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4665eb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x466562
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4665eb
and eax, 0x3f
test bl, 8
jne 0x466588
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4665eb
test bl, 4
jne 0x4665b7
and ebx, 3
mov dword [esp + 0x84], 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 0x4665eb
and ebx, 1
mov dword [esp + 0x84], 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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x466615
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x467248
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x4664f0
jmp 0x467248
cmp dword [ebp + 0x88], 0
je 0x467248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x467248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x4664b3
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x467248
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x466672
movzx ebx, byte [edi]
test edx, edx
je 0x4667bf
cmp ebx, 0xc0
jb 0x4667bf
test bl, 0x20
jne 0x466706
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4667b7
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46672e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4667b7
and eax, 0x3f
test bl, 8
jne 0x466754
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4667b7
test bl, 4
jne 0x466783
and ebx, 3
mov dword [esp + 0x84], 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 0x4667b7
and ebx, 1
mov dword [esp + 0x84], 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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4667e1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x467248
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x4666c0
jmp 0x467248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x467248
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x466672
movzx ebx, byte [edi]
test edx, edx
je 0x466953
cmp ebx, 0xc0
jb 0x466953
test bl, 0x20
jne 0x46689a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x46694b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4668c2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x46694b
and eax, 0x3f
test bl, 8
jne 0x4668e8
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x46694b
test bl, 4
jne 0x466917
and ebx, 3
mov dword [esp + 0x84], 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 0x46694b
and ebx, 1
mov dword [esp + 0x84], 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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x466975
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f200]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x467248
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x466850
jmp 0x467248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x467248
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46648e
movzx ebx, byte [edi]
test edx, edx
je 0x466ac3
cmp ebx, 0xc0
jb 0x466ac3
test bl, 0x20
jne 0x466a22
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x466abb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x466a44
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x466abb
and eax, 0x3f
test bl, 8
jne 0x466a64
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x466abb
test bl, 4
jne 0x466a8d
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
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 0x466abb
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x466ae5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x466b0c
cmp eax, 3
je 0x466b0c
xor eax, eax
jmp 0x466b11
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x467248
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x4669e4
jmp 0x467248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x467248
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x466672
movzx ebx, byte [edi]
test edx, edx
je 0x466c6d
cmp ebx, 0xc0
jb 0x466c6d
test bl, 0x20
jne 0x466bb2
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x466c6d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x466bda
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x466c63
and eax, 0x3f
test bl, 8
jne 0x466c00
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x466c63
test bl, 4
jne 0x466c2f
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x466c63
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0x180e
ja 0x466cb0
je case.0x466cd0.8192
cmp ebx, 0x85
ja 0x466c9c
je case.0x466cd0.8192
cmp ebx, 9
jb case.0x466cd0.8203
cmp ebx, 0xd
jbe case.0x466cd0.8192
cmp ebx, 0x20
jmp 0x466ce5
cmp ebx, 0xa0
je case.0x466cd0.8192
cmp ebx, 0x1680
jmp 0x466ce5
cmp ebx, 0x202f
ja 0x466cd7
je case.0x466cd0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x466cd0.8203
movzx eax, byte [eax + 0x46d100]
jmp dword [eax*4 + 0x46d0f8]
cmp ebx, 0x205f
je case.0x466cd0.8192
cmp ebx, 0x3000
je case.0x466cd0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x466d09
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
cmp dword [eax*4 + 0x50f010], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x467248
mov edx, dword [esp + 0x8c]
jmp 0x466d44
cmp dword [esi + 0x68], 0
jne 0x467248
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x466b60
jmp 0x467248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x467248
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x466672
movzx ebx, byte [edi]
test edx, edx
je 0x466e93
cmp ebx, 0xc0
jb 0x466e93
test bl, 0x20
jne 0x466dda
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x466e8b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x466e02
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x466e8b
and eax, 0x3f
test bl, 8
jne 0x466e28
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x466e8b
test bl, 4
jne 0x466e57
and ebx, 3
mov dword [esp + 0x84], 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 0x466e8b
and ebx, 1
mov dword [esp + 0x84], 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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x510880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x466eb6
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x466ee2
cmp eax, 3
je 0x466ee2
cmp ebx, 0x5f
je 0x466ee2
xor eax, eax
jmp 0x466ee7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x467248
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x466d90
jmp 0x467248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x467248
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46707f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x467021
cmp edx, 0xc0
jb 0x467021
test dl, 0x20
jne 0x466f84
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x467019
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466fa3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x467019
and eax, 0x3f
test dl, 8
jne 0x466fc3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x467019
test dl, 4
jne 0x466fec
and edx, 3
mov ebx, 5
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 0x467019
and edx, ebx
mov ebx, 6
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, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x50f0c0]
lea eax, [eax*4 + 0x50f0c0]
cmp edx, ecx
jb 0x467043
lea eax, [eax + 4]
cmp edx, ecx
je 0x467073
mov ecx, dword [eax]
cmp edx, ecx
jae 0x467036
cmp dword [esi + 0x68], 0
je 0x467248
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x466f40
jmp 0x467248
cmp dword [esi + 0x68], 0
jne 0x467248
jmp 0x46704d
cmp dword [ebp + 0x88], 0
je 0x467248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x467248
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x467248
jmp 0x45fec6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x467248
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x467220
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4671d7
cmp edx, 0xc0
jb 0x4671d7
test dl, 0x20
jne 0x46710d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4671d7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x467137
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x4671d7
test dl, 8
jne 0x467163
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x4671d7
test dl, 4
jne 0x46719b
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
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
mov eax, 5
jmp 0x4671d7
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
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, 6
cmp edx, 0x24
je 0x467202
cmp edx, 0x40
je 0x467202
cmp edx, 0x60
je 0x467202
cmp edx, 0xa0
jb 0x4671f6
cmp edx, 0xd7ff
jbe 0x467202
cmp edx, 0xe000
jae 0x467202
xor ecx, ecx
jmp 0x467207
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x467248
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4670c1
jmp 0x467248
cmp dword [ebp + 0x88], 0
je 0x467248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x467248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
je 0x46b6fc
jmp 0x45ef5a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4675f7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x4675a8
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x467580
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x467380
cmp ebx, 0xc0
jb 0x467380
test bl, 0x20
jne 0x4672c9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x46737d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4672f0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x467376
test bl, 8
jne 0x467313
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x467376
test bl, 4
jne 0x467342
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x467376
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4673a2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f202]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46753d
jmp 0x4673d0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x4674ce
cmp ebx, 0xc0
jb 0x4674ce
test bl, 0x20
jne 0x467405
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4674c6
test bl, 0x10
jne 0x46742a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x4674c6
test bl, 8
jne 0x467458
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x4674c6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x467492
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x4674c6
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4674f0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx ecx, byte [eax*8 + 0x50f202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50f088], eax
je 0x467536
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x4673d0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x46756a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x46756a
cmp eax, dword [ebp + 0x84]
jbe 0x46756a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x467280
jmp 0x4675a8
cmp dword [ebp + 0x88], 0
je 0x4675a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4675a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
cmp dword [esp + 0x80], 0
jne 0x45ef5a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46cb25
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cb1b
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
add eax, 0xfffffffa
test edx, edx
je 0x4682fe
cmp eax, 0xf
ja case.0x468307.9
jmp dword [eax*4 + 0x46d12c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4676e6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x467659
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ecf0
add esp, 0x14
test eax, eax
jne 0x4682eb
jmp 0x46767d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x46767d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x46767d
cmp edx, 1
je 0x4682eb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4682eb
cmp dword [ebp + 0x88], 0
je 0x4676b8
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4676b8
cmp dword [ebp + 0x18], 0
jne 0x4676b8
cmp dword [edi], 2
jne 0x4676b8
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4676b8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4676d4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4676d4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4676c3
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x467624
jmp 0x4682eb
cmp dword [ebp + 0x88], 0
je 0x4682eb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4682eb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4682eb
jmp 0x45fec6
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x467778
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4682eb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4676e6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x46776a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46776a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x467752
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x467740
jmp 0x4682eb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4682eb
cmp eax, dword [ebp + 0x84]
jbe 0x4682eb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4682eb
jmp 0x4664b9
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x4677ff
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4682eb
cmp edx, dword [ebp + 0x84]
jbe 0x4682eb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4682eb
jmp 0x45fec6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4682eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4676e6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x46792a
test dl, 0x20
jne 0x46785e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x46792a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x467888
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x467928
test dl, 8
jne 0x4678b4
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x467928
test dl, 4
jne 0x4678ec
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x467928
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp edx, 0xd
jne 0x467946
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4682eb
cmp byte [eax], 0xa
jne 0x467980
inc eax
jmp 0x46797d
cmp edx, 0xa
je 0x46797b
cmp dword [ebp + 0x68], 0
jne 0x4682eb
cmp edx, 0xb
je 0x46797b
cmp edx, 0xc
je 0x46797b
cmp edx, 0x85
je 0x46797b
cmp edx, 0x2028
je 0x46797b
cmp edx, 0x2029
jne 0x4682eb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x467820
jmp 0x4682eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x467afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467a78
test dl, 0x20
jne 0x4679da
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x467a70
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4679f9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x467a70
and eax, 0x3f
test dl, 8
jne 0x467a19
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x467a70
test dl, 4
jne 0x467a42
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x467a70
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x180e
ja 0x467a9e
je 0x467acc
cmp edx, 0xa0
ja 0x467a96
je 0x467acc
cmp edx, 9
je 0x467acc
cmp edx, 0x20
jmp 0x467ac6
cmp edx, 0x1680
jmp 0x467ac6
cmp edx, 0x205f
ja 0x467ac0
je 0x467acc
cmp edx, 0x2000
jb 0x467ac8
cmp edx, 0x200a
jbe 0x467acc
cmp edx, 0x202f
jmp 0x467ac6
cmp edx, 0x3000
je 0x467acc
xor edx, edx
jmp 0x467ad1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x4682eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4679a4
jmp 0x4682eb
cmp dword [ebp + 0x88], 0
je 0x4682eb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4682eb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4682eb
jmp 0x45fec6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x467afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467c10
test dl, 0x20
jne 0x467b72
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x467c08
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x467b91
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x467c08
and eax, 0x3f
test dl, 8
jne 0x467bb1
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x467c08
test dl, 4
jne 0x467bda
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x467c08
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x85
ja 0x467c4f
je 0x467c5a
cmp edx, 0xa
jb 0x467c24
cmp edx, 0xd
jbe 0x467c5a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x4682eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x467b40
jmp 0x4682eb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x467c24
mov edx, 1
jmp 0x467c26
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x467afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467d47
test dl, 0x20
jne 0x467ca9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x467d3f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x467cc8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x467d3f
and eax, 0x3f
test dl, 8
jne 0x467ce8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x467d3f
test dl, 4
jne 0x467d11
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x467d3f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x467d5c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4682eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x467c73
jmp 0x4682eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
jmp 0x467d90
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x467afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467e64
test dl, 0x20
jne 0x467dc6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x467e5c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x467de5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x467e5c
and eax, 0x3f
test dl, 8
jne 0x467e05
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x467e5c
test dl, 4
jne 0x467e2e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x467e5c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x4682eb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4682eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x467d90
jmp 0x4682eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
jmp 0x467eb0
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x467afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467f84
test dl, 0x20
jne 0x467ee6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x467f7c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x467f05
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x467f7c
and eax, 0x3f
test dl, 8
jne 0x467f25
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x467f7c
test dl, 4
jne 0x467f4e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x467f7c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x467f99
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4682eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x467eb0
jmp 0x4682eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x467afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x468097
test dl, 0x20
jne 0x467ff9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46808f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x468018
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46808f
and eax, 0x3f
test dl, 8
jne 0x468038
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46808f
test dl, 4
jne 0x468061
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x46808f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x4682eb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4682eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x467fc3
jmp 0x4682eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x467afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4681b4
test dl, 0x20
jne 0x468116
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4681ac
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x468135
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4681ac
and eax, 0x3f
test dl, 8
jne 0x468155
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4681ac
test dl, 4
jne 0x46817e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x4681ac
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x4681c9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4682eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4680e0
jmp 0x4682eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4682eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x467afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4682c7
test dl, 0x20
jne 0x468229
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4682bf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x468248
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4682bf
and eax, 0x3f
test dl, 8
jne 0x468268
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4682bf
test dl, 4
jne 0x468291
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
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 0x4682bf
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
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
cmp edx, 0x100
jae 0x4682eb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4682eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4681f3
cmp dword [esp + 0x80], 0
je 0x46abb8
jmp 0x45ef5a
cmp eax, 0xf
ja case.0x468307.9
jmp dword [eax*4 + 0x46d16c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x468797
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4683c4
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x468350
push 0
push edi
push eax
push edx
push ecx
call fcn.0046ecf0
add esp, 0x14
test eax, eax
jne 0x468797
jmp 0x468374
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x468374
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x468374
cmp edx, 1
je 0x468797
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x468797
cmp dword [ebp + 0x88], 0
je 0x4683af
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4683af
cmp dword [ebp + 0x18], 0
jne 0x4683af
cmp dword [edi], 2
jne 0x4683af
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4683af
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x468320
jmp 0x468797
cmp dword [ebp + 0x88], 0
je 0x468797
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x468797
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x468797
jmp 0x45fec6
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x468448
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x468797
cmp edx, dword [ebp + 0x84]
jbe 0x468797
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x468797
jmp 0x45fec6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x468797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x468797
jmp 0x468470
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4683c4
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x46849b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x468797
cmp byte [eax], 0xa
jne 0x4684c5
inc eax
jmp 0x4684c2
cmp eax, 0xa
je 0x4684bf
cmp dword [ebp + 0x68], 0
jne 0x468797
cmp eax, 0xb
je 0x4684bf
cmp eax, 0xc
je 0x4684bf
cmp eax, 0x85
jne 0x468797
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x468470
jmp 0x468797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x468797
jmp 0x4684f0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4683c4
mov al, byte [ecx]
cmp al, 9
je 0x468797
cmp al, 0x20
je 0x468797
cmp al, 0xa0
je 0x468797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4684f0
jmp 0x468797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x468797
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4683c4
mov al, byte [ecx]
cmp al, 9
je 0x46855e
cmp al, 0x20
je 0x46855e
cmp al, 0xa0
jne 0x468797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x468540
jmp 0x468797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x468797
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4683c4
mov al, byte [ecx]
cmp al, 0xa
jb 0x4685a6
cmp al, 0xd
jbe 0x468797
cmp al, 0x85
je 0x468797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x468584
jmp 0x468797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x468797
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4683c4
mov al, byte [ecx]
cmp al, 0xa
jb 0x468797
cmp al, 0xd
jbe 0x4685f2
cmp al, 0x85
jne 0x468797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4685d0
jmp 0x468797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x468797
jmp 0x468620
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4683c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x468797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x468620
jmp 0x468797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x468797
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4683c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x468797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x468662
jmp 0x468797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x468797
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4683c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x468797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4686a4
jmp 0x468797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x468797
jmp 0x4686f0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4683c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x468797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4686f0
jmp 0x468797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x468797
jmp 0x468730
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4683c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x468797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x468730
jmp 0x468797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x468797
jmp 0x468770
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4683c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x468797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x468770
cmp dword [esp + 0x80], 0
je 0x4697fa
jmp 0x45ef5a
mov esi, dword [esi]
test esi, esi
je 0x46cc71
mov edi, 0xfffffffb
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x4687d4
jmp dword [eax*4 + 0x46d1ac]
cmp edi, 0xfffffc1b
je 0x4688a6
cmp edi, 0xfffffc20
jne 0x468823
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4687d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x46881f
cmp byte [ecx], 0x77
jne case.0x4687d4.49
xor edi, edi
jmp 0x46882b
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4688a6
cmp dword [esi + 0x9c], 0x88
jb 0x468871
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46c5fa
push 0x134
call dword [0x15e4d40]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46c5f0
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov esi, dword [esi]
test esi, esi
je 0x468c9c
mov edx, dword [esp + 0x8c]
jmp 0x4687c4
cmp edi, 0xfffffc20
jne 0x468963
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x4689b1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x46892e
cmp byte [ecx], 0x77
jne 0x4689b1
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4689c7
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687c4
test edi, edi
je 0x46892e
cmp edi, 0xfffffc1b
jne 0x4689b1
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x4689a3
cmp al, 0x77
jne 0x468994
lea esp, [esp]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x468980
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov esi, dword [esi]
test esi, esi
je 0x468c9c
mov edx, dword [esp + 0x8c]
jmp 0x4687c4
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x468a19
cmp eax, 0x81
je 0x468a19
cmp dword [ebp + 0x6c], 0
jne 0x468a23
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x77
je 0x468a23
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x50eef8]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x45eee0
mov dword [ebp + 0x98], 2
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov edx, dword [esi + 4]
test edx, edx
jne 0x46c61c
push 0x134
call dword [0x15e4d40]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46c612
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
cmp edi, 1
jne 0x468ae3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x468a80
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x468a93
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x468ac9
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], edx
cmp byte [eax], 0x77
je 0x468ab0
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x50eef8]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x45f38e.145
test edi, edi
je 0x468af3
cmp edi, 0xfffffc20
jne case.0x4687d4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x468b09
movzx eax, byte [edx + 0x50eef8]
jmp 0x468b0c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x468b29
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x45ef61
cmp dword [esi + 0x9c], 0x8c
jne 0x45eee0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c63e
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c634
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
cmp edi, 1
je 0x468c22
cmp edi, 0xfffffc19
je 0x468c22
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x468bca
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4687d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x468bd2
cmp byte [ecx], 0x77
jmp 0x468bcc
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x468c28
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c657
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c64d
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x468c41
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687c4
cmp dword [esi + 0x58], 0
je 0x46c27e
mov esi, dword [esi]
test esi, esi
je 0x46cc16
mov edi, 1
jmp 0x4687c4
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x468d0d
je 0x468ca6
cmp edi, 0xfffffc19
je 0x469543
cmp edi, 0xfffffc1b
jle case.0x4687d4.49
cmp edi, 0xfffffc1f
jle 0x468cce
mov esi, dword [esi]
test esi, esi
jne 0x4687c4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x468cce
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x468d20
cmp byte [ecx], 0x77
je 0x468d20
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x468cd1
cmp dword [esi + 0x58], 0
je 0x468f57
mov esi, dword [esi]
test esi, esi
je 0x46cc16
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x4687c4
mov eax, edi
sub eax, 0
je 0x468d20
dec eax
je 0x469543
jmp case.0x4687d4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
jne 0x468ce8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c66d
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c663
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x46c2ac
cmp edi, 0xfffffc19
je 0x46c2ac
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x468dd9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45fd5b
push ecx
call dword [0x15e4d3c]
add esp, 4
jmp 0x45fd5b
test edi, edi
je 0x468e03
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x468df4
push ecx
call dword [0x15e4d3c]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x468c9c
jmp 0x4687b9
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x468e69
cmp dword [esi + 0x58], 0
je 0x468e34
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46c6b3
push 0x134
call dword [0x15e4d40]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46c6a9
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x468db9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x468ec3
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c701
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c6f7
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4687c4
cmp al, 0x88
jb 0x46c404
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c723
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c719
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4687c4
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x46cc23
mov edi, 0xfffffc1b
jmp 0x4687c4
test edi, edi
jne case.0x4687d4.49
mov edx, dword [esi + 0x2c]
jmp 0x468f40
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x468f40
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45ef5a
test edi, edi
je 0x4607d4
jmp case.0x4687d4.49
test edi, edi
je 0x468f0f
jmp case.0x4687d4.49
cmp edi, 0xfffffc1b
jne 0x468f8b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x468f8d
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x469d7b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c745
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c73b
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4687c4
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469000
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0046d400
add esp, 0x14
test eax, eax
jns 0x469067
cmp eax, 0xfffffffe
jne 0x469029
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x46ab41
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x46ab41
cmp eax, dword [ebp + 0x84]
jbe 0x46ab41
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x461d7e
jmp 0x46ab41
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c76a
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c760
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x4687c4
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x465ee6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c783
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c779
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469127
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46ac26
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
mov edi, ecx
mov edx, dword [esi + 0x28]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
je 0x46ab41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c79c
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c792
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x45fd5b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c7b5
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c7ab
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469201
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46ac26
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x469231
cmp dword [esi + 0x94], ecx
je 0x469231
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687c4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c7ce
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c7c4
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
dec dword [esi + 8]
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c7e7
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c7dd
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4692e1
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46ac26
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x46ab41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c800
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c7f6
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
dec dword [esi + 8]
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c819
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c80f
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4693ae
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46ac26
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x469543
cmp dword [esi + 0x94], ecx
je 0x469543
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c832
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c828
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c84b
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c841
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469485
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46ac26
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x46ab41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c861
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c857
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c877
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c86d
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469554
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687c4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x46959b
cmp dword [ebp + 0x88], 0
je 0x469583
cmp ecx, dword [ebp + 0x84]
jbe 0x469583
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x461d7e
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4687c4
cmp dword [esi + 0x7c], 0xc
jne 0x4695c2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4695e4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046ecf0
add esp, 0x14
test eax, eax
jne 0x469601
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x4695dd.15
jmp dword [eax*4 + 0x46d2b8]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4695c2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4695c2
cmp edi, 1
je 0x469601
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4695c2
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4687c4
cmp dword [ebp + 0x88], 0
je case.0x4695dd.13
cmp edx, dword [ebp + 0x78]
jb case.0x4695dd.13
cmp dword [ebp + 0x18], 0
jne case.0x4695dd.13
cmp dword [ebp + 0x1c], 2
jne case.0x4695dd.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4695dd.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x461d7e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c88d
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c883
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46969d.14
movzx eax, byte [ecx + 0x46d308]
jmp dword [eax*4 + 0x46d2f8]
cmp edx, dword [ebp + 0x78]
jae case.0x4695dd.13
cmp byte [edx], 0xa
jne case.0x4695dd.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4695dd.13
cmp dword [ebp + 0x68], 0
je case.0x4695dd.13
jmp case.0x46969d.14
cmp ecx, 9
je case.0x46969d.14
cmp ecx, 0x20
je case.0x46969d.14
cmp ecx, 0xa0
jmp 0x46979a
cmp ecx, 9
je case.0x4695dd.13
cmp ecx, 0x20
je case.0x4695dd.13
cmp ecx, 0xa0
je case.0x4695dd.13
jmp case.0x46969d.14
cmp ecx, 0xa
jb case.0x4695dd.13
cmp ecx, 0xd
jbe case.0x46969d.14
cmp ecx, 0x85
jmp 0x46979a
cmp ecx, 0xa
jb case.0x46969d.14
cmp ecx, 0xd
jbe case.0x4695dd.13
cmp ecx, 0x85
je case.0x4695dd.13
jmp case.0x46969d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4695dd.13
jmp case.0x46969d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x46979a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4695dd.13
jmp case.0x46969d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x46979a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4695dd.13
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4687c4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4695dd.13
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4687c4
mov esi, dword [esi]
test esi, esi
je case.default.0x4687d4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4687c4
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x4697fa
cmp eax, dword [esi + 0x30]
jbe 0x4697fa
cmp byte [eax], 0xa
jne 0x4697fa
cmp byte [eax - 1], 0xd
jne 0x4697fa
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c8a3
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c899
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
cmp edi, 0xfffffc1a
jne 0x469891
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x469889
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x469870
jmp 0x4698e8
mov dword [esi + 8], eax
jmp 0x46990d
cmp edi, 0xfffffc20
jne 0x4698c5
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4687d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4698cd
cmp byte [ecx], 0x77
jmp 0x4698c7
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
je 0x469901
cmp dword [esi + 0x5c], 0
jne 0x468f57
cmp dword [esi + 0x54], 0
jne 0x468f57
jmp 0x46ab41
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x469923
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46c8e5
push 0x134
call dword [0x15e4d40]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46c8db
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
mov esi, dword [esi]
test edi, edi
jne 0x468c94
test esi, esi
je 0x46cc3d
mov edi, 0xfffffc1c
jmp 0x4687c4
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46cc57
mov edi, 0xfffffc1e
jmp 0x4687c4
cmp edi, 1
je 0x4699a3
cmp edi, 0xfffffc19
jne 0x4699bd
cmp dword [ebp + 0xac], 0
jne 0x4699bd
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x4689b1
cmp edi, 0xfffffc1f
jne 0x4689b1
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4699f2
test dl, dl
je 0x4699ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4699f2
add eax, 2
add ecx, 2
test dl, dl
jne 0x4699d2
xor eax, eax
jmp 0x4699f7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4689b1
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46cc57
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x4687c4
cmp edi, 1
je 0x469a2d
cmp edi, 0xfffffc19
jne case.0x4687d4.51
cmp dword [ebp + 0xac], 0
jne case.0x4687d4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x468c94
test esi, esi
je 0x46cc30
mov edi, 0xfffffc1d
jmp 0x4687c4
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46cc64
mov edi, 0xfffffc1f
jmp 0x4687c4
cmp edi, 1
je 0x469a90
cmp edi, 0xfffffc19
jne case.0x4687d4.54
cmp dword [ebp + 0xac], 0
jne case.0x4687d4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46cc4a
mov edi, 0xfffffc20
jmp 0x4687c4
cmp edi, 0xfffffc1a
jne 0x469b31
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x469b29
mov edx, dword [esi + 0xc]
jmp 0x469b10
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x469b10
jmp 0x469b98
mov dword [esi + 8], eax
jmp 0x45fa92
cmp edi, 0xfffffc20
jne 0x469b65
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4687d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x469b6d
cmp byte [ecx], 0x77
jmp 0x469b67
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45fa92
cmp dword [esi + 0x5c], 0
jne 0x469bd8
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
cmp dword [esi + 0x54], 0
jne 0x45ef56
cmp dword [esi + 0x5c], 0
jne 0x45ef56
jmp 0x46ab41
cmp edi, 1
jne 0x469c94
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x469c11
cmp al, 0x77
jne 0x46ab41
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x469c11
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov eax, dword [esi + 0xc]
mov al, byte [eax]
cmp al, 0x78
je 0x45ef56
cmp ecx, dword [esi + 0x38]
je 0x45ef56
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x469d2d
test ecx, ecx
jne 0x46c94e
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c944
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4687c4
cmp edi, 0xfffffc20
jne 0x469cc8
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4687d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x469cd0
cmp byte [ecx], 0x77
jmp 0x469cca
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x469c00
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c929
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c91f
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test ecx, ecx
jne 0x46c973
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c969
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4687c4
test edi, edi
je 0x46c404
jmp case.0x4687d4.49
test edi, edi
jne case.0x4687d4.49
add dword [esi + 0xc], 3
jmp 0x45eee0
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469da9
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x469eaa
cmp ebx, 0xc0
jb 0x469eaa
test bl, 0x20
jne 0x469deb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469ea7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469e15
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x469eaa
mov edx, dword [esi + 8]
test bl, 8
jne 0x469e3b
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x469e9e
test bl, 4
jne 0x469e6a
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x469e9e
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
push edx
push dword [esi + 0x28]
push ebx
call fcn.0046e680
add esp, 0xc
test eax, eax
je 0x45fd5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c995
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c98b
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x46ab41
cmp dword [esp + 0x8c], edi
je 0x469f31
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x469f31
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x469f25
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c9ae
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c9a4
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469f8b
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x46a080
test bl, 0x20
jne 0x469fc5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a07d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469fef
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46a080
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a018
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x46a07b
test bl, 4
jne 0x46a047
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x46a07b
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x46a096
cmp dword [esi + 0x9c], 0x6e
jne 0x46a0b3
jmp 0x45fd5b
mov edx, dword [esi + 0x28]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
je 0x45fd5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c9c7
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c9bd
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x45fd5b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x46a11c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x46a110
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c9e0
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c9d6
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a176
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x46a1e5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x46a1a5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46a1aa
add ecx, 4
add edx, 4
sub edi, 4
jae 0x46a194
cmp edi, 0xfffffffc
je 0x46a1d7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x46a1e2
cmp edi, 0xfffffffd
je 0x46a1d7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x46a1e2
cmp edi, 0xfffffffe
je 0x46a1d7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x46a1e2
cmp edi, 0xffffffff
je 0x46a1d7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x46a1e2
mov eax, dword [esi + 0x88]
jmp 0x46a250
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x46a290
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x46a290
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x46a217
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46a21c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x46a206
cmp edi, 0xfffffffc
je 0x46a24d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x46a290
cmp edi, 0xfffffffd
je 0x46a24d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x46a290
cmp edi, 0xfffffffe
je 0x46a24d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x46a290
cmp edi, 0xffffffff
je 0x46a24d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x46a290
mov eax, dword [esi + 0x6c]
add eax, ebx
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46c9f9
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46c9ef
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
cmp dword [ebp + 0x88], 0
je case.0x465ee6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x465ee6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x465ee6.14
jmp 0x45feb2
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46a2dc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46a2d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ca12
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ca08
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a342
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46a442
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x46a37c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46a43f
test dl, 0x10
jne 0x46a39e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 8], 2
jmp 0x46a442
mov ecx, dword [esi + 8]
test dl, 8
jne 0x46a3ce
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x46a43f
test dl, 4
jne 0x46a404
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x46a43f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je 0x469601
cmp dword [esi + 0x94], edx
je 0x469601
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a489
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x469095
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x46c8ad
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46a4bc
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46a4b0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ca2b
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ca21
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a522
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x46a617
test bl, 0x20
jne 0x46a55c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a614
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a586
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46a617
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a5af
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x46a612
test bl, 4
jne 0x46a5de
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x46a612
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ebx
je 0x45fd5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ca44
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ca3a
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46a680
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46a674
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ca5d
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ca53
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a6e6
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x46a722
cmp dword [ebp + 0x88], 0
je 0x46ab41
cmp ecx, dword [ebp + 0x84]
jbe 0x46ab41
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x461d7e
jmp 0x46ab41
cmp dword [esi + 0x7c], 0xc
jne 0x46a774
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x46a74f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046ecf0
add esp, 0x14
test eax, eax
jne 0x46ab41
jmp 0x46a774
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x46a774
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x46a774
cmp edi, 1
je 0x46ab41
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x46ab41
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46a85c
test dl, 0x20
jne 0x46a7a7
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46a859
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x46a7ce
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x46a857
test dl, 8
jne 0x46a7f4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x46a857
test dl, 4
jne 0x46a823
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x46a857
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x46a86b.15
jmp dword [eax*4 + 0x46d384]
cmp dword [ebp + 0x88], 0
je case.0x46a86b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x46a86b.13
cmp dword [ebp + 0x18], 0
jne case.0x46a86b.13
cmp dword [ebp + 0x1c], 2
jne case.0x46a86b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x46a86b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x46a86b.13
jmp 0x461d7e
cmp edx, 0xd
ja 0x46a8ee
je 0x46a8db
cmp edx, 0xa
je case.0x46a86b.13
jbe 0x46ab41
cmp edx, 0xc
jmp 0x46a908
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x46a86b.13
cmp byte [eax], 0xa
jne case.0x46a86b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x46a86b.13
cmp edx, 0x85
je 0x46a90e
cmp edx, 0x2027
jbe 0x46ab41
cmp edx, 0x2029
ja 0x46ab41
cmp dword [ebp + 0x68], 0
je case.0x46a86b.13
jmp 0x46ab41
cmp edx, 0x180e
ja 0x46a98d
je 0x46ab41
cmp edx, 0xa0
ja 0x46a985
je 0x46ab41
cmp edx, 9
je 0x46ab41
cmp edx, 0x20
je 0x46ab41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a976
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x469095
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x46c8ad
cmp edx, 0x1680
jmp 0x46a941
cmp edx, 0x205f
ja 0x46a9b7
je 0x46ab41
cmp edx, 0x2000
jb case.0x46a86b.13
cmp edx, 0x200a
jbe 0x46ab41
cmp edx, 0x202f
jmp 0x46a941
cmp edx, 0x3000
jmp 0x46ab3b
cmp edx, 0x180e
ja 0x46a9f4
je case.0x46a86b.13
cmp edx, 0xa0
ja 0x46a9ec
je case.0x46a86b.13
cmp edx, 9
je case.0x46a86b.13
cmp edx, 0x20
jmp 0x46aa28
cmp edx, 0x1680
jmp 0x46aa28
cmp edx, 0x205f
ja 0x46aa22
je case.0x46a86b.13
cmp edx, 0x2000
jb 0x46ab41
cmp edx, 0x200a
jbe case.0x46a86b.13
cmp edx, 0x202f
jmp 0x46aa28
cmp edx, 0x3000
je case.0x46a86b.13
jmp 0x46ab41
cmp edx, 0x85
ja 0x46aa58
je 0x46ab41
cmp edx, 0xa
jb case.0x46a86b.13
cmp edx, 0xd
jbe 0x46ab41
jmp case.0x46a86b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x46a86b.13
jmp 0x46ab41
cmp edx, 0x85
ja 0x46aa88
je case.0x46a86b.13
cmp edx, 0xa
jb 0x46ab41
cmp edx, 0xd
jmp 0x46aa91
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x46a86b.13
jmp 0x46ab41
cmp edx, 0x100
jae case.0x46a86b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x46a86b.13
jmp 0x46ab41
cmp edx, 0x100
jae 0x46ab41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x46ab3b
cmp edx, 0x100
jae case.0x46a86b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x46a86b.13
jmp 0x46ab41
cmp edx, 0x100
jae 0x46ab41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x46ab3b
cmp edx, 0x100
jae case.0x46a86b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x46a86b.13
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4687c4
cmp edx, 0x100
jae 0x46ab41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x46a86b.13
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4687c4
mov esi, dword [esi]
test esi, esi
je case.default.0x4687d4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4687c4
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46ab9c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46ab90
cmp dword [esi + 0x7c], 0x11
jne 0x46abb8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x46abb8
cmp byte [eax], 0xa
jne 0x46abb8
dec eax
cmp byte [eax], 0xd
jne 0x46abb8
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ca76
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ca6c
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46ac1e
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x46ac3e
cmp dword [ebp + 0x88], 0
je 0x469543
cmp eax, dword [ebp + 0x84]
jmp 0x46b399
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x46ac7d
cmp ecx, 0xc0
jb 0x46ac7d
test cl, 0x20
jne 0x46ac59
inc eax
jmp 0x46ac7a
test cl, 0x10
jne 0x46ac63
add eax, 2
jmp 0x46ac7a
test cl, 8
jne 0x46ac6d
add eax, 3
jmp 0x46ac7a
test cl, 4
jne 0x46ac77
add eax, 4
jmp 0x46ac7a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x46ac94
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
xor edi, edi
jmp 0x4687c4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46acc3
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x469095
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x46c8ad
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46acf7
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46adf1
cmp ebx, 0xc0
jb 0x46adf1
test bl, 0x20
jne 0x46ad39
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46adee
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46ad63
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46adf1
mov edx, dword [esi + 8]
test bl, 8
jne 0x46ad89
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x46adec
test bl, 4
jne 0x46adb8
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x46adec
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46ae13
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
cmp eax, 9
je 0x46ae38
cmp eax, 5
je 0x46ae38
cmp eax, 8
je 0x46ae38
xor eax, eax
jmp 0x46ae3d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45fd5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ca8f
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ca85
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46aea6
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46af9c
cmp ebx, 0xc0
jb 0x46af9c
test bl, 0x20
jne 0x46aee8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46af99
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46af10
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46af9c
mov edx, dword [esi + 8]
test bl, 8
jne 0x46af36
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x46af99
test bl, 4
jne 0x46af65
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x46af99
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46afbe
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45fd5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46caa8
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ca9e
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46b048
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46b13e
cmp ebx, 0xc0
jb 0x46b13e
test bl, 0x20
jne 0x46b08a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46b13b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46b0b2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46b13e
mov edx, dword [esi + 8]
test bl, 8
jne 0x46b0d8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x46b13b
test bl, 4
jne 0x46b107
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x46b13b
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46b160
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45fd5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46cac1
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cab7
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46b1e3
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46b2d9
cmp ebx, 0xc0
jb 0x46b2d9
test bl, 0x20
jne 0x46b225
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46b2d6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46b24d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46b2d9
mov edx, dword [esi + 8]
test bl, 8
jne 0x46b273
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x46b2d6
test bl, 4
jne 0x46b2a2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x46b2d6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46b2fb
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f200]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45fd5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46cada
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cad0
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46b37e
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x46b3c7
cmp dword [ebp + 0x88], 0
je 0x469543
cmp edi, dword [ebp + 0x84]
jbe 0x469543
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x469543
mov esi, dword [esi]
test esi, esi
je 0x46cbfc
mov edi, 0xfffffff4
jmp 0x4687c4
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46b4b5
cmp ebx, 0xc0
jb 0x46b4b5
test bl, 0x20
jne 0x46b3fd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46b4b2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46b427
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46b4b5
mov edx, dword [esi + 8]
test bl, 8
jne 0x46b44d
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x46b4b0
test bl, 4
jne 0x46b47c
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x46b4b0
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46b4d7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f202]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46b668
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x46b607
cmp ebx, 0xc0
jb 0x46b607
test bl, 0x20
jne 0x46b53b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x46b5ff
test bl, 0x10
jne 0x46b560
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x46b5ff
test bl, 8
jne 0x46b591
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x46b5ff
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x46b5cb
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x46b5ff
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46b629
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx ecx, byte [eax*8 + 0x50f202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50f088], eax
je 0x46b668
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x46b500
cmp dword [ebp + 0x88], 0
je 0x46b695
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x46b695
cmp eax, dword [ebp + 0x84]
jbe 0x46b695
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45fec6
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46caf3
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cae9
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x46b6fc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46b6fc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46b6f0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45eee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46cb0c
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cb02
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x46b757
movzx ebx, byte [ecx]
jmp 0x46b845
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46b76c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46b760
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x46b845
test bl, 0x20
jne 0x46b78f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x46b83d
test bl, 0x10
jne 0x46b7af
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x46b83d
test bl, 8
jne 0x46b7d8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x46b83d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x46b80d
and ebx, 3
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x46b83d
and ebx, 1
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46b867
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f202]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x45eee0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x46b89f
movzx ebx, byte [edi]
jmp 0x46b95e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x46b8b1
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x46b8a7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x46b95e
test bl, 0x20
jne 0x46b8d1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x46b956
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46b8ee
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x46b956
and eax, 0x3f
test bl, 8
jne 0x46b909
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x46b956
test bl, 4
jne 0x46b92d
and ebx, 3
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 0x46b956
and ebx, 1
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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46b980
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx edx, byte [eax*8 + 0x50f202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50f088], eax
je 0x4675b6
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x46b880
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46b9e1
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46badb
cmp ebx, 0xc0
jb 0x46badb
test bl, 0x20
jne 0x46ba23
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46bad8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46ba4d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46badb
mov edx, dword [esi + 8]
test bl, 8
jne 0x46ba73
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x46bad6
test bl, 4
jne 0x46baa2
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x46bad6
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46bafd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x46bb24
cmp eax, 3
je 0x46bb24
xor eax, eax
jmp 0x46bb29
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45fd5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46cb3e
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cb34
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46bb92
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46bc93
cmp ebx, 0xc0
jb 0x46bc93
test bl, 0x20
jne 0x46bbd4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46bc90
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46bbfe
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46bc93
mov edx, dword [esi + 8]
test bl, 8
jne 0x46bc24
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x46bc87
test bl, 4
jne 0x46bc53
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x46bc87
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x24
je 0x46bcbe
cmp ebx, 0x40
je 0x46bcbe
cmp ebx, 0x60
je 0x46bcbe
cmp ebx, 0xa0
jb 0x46bcb2
cmp ebx, 0xd7ff
jbe 0x46bcbe
cmp ebx, 0xe000
jae 0x46bcbe
xor eax, eax
jmp 0x46bcc3
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4606a2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46cb57
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cb4d
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46bd2c
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46be2d
cmp ebx, 0xc0
jb 0x46be2d
test bl, 0x20
jne 0x46bd6e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46be2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46bd98
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46be2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x46bdbe
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x46be21
test bl, 4
jne 0x46bded
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x46be21
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x46be70
je case.0x46be90.8192
cmp ebx, 0x85
ja 0x46be5c
je case.0x46be90.8192
cmp ebx, 9
jb case.0x46be90.8203
cmp ebx, 0xd
jbe case.0x46be90.8192
cmp ebx, 0x20
jmp 0x46bea5
cmp ebx, 0xa0
je case.0x46be90.8192
cmp ebx, 0x1680
jmp 0x46bea5
cmp ebx, 0x202f
ja 0x46be97
je case.0x46be90.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x46be90.8203
movzx eax, byte [eax + 0x46d3cc]
jmp dword [eax*4 + 0x46d3c4]
cmp ebx, 0x205f
je case.0x46be90.8192
cmp ebx, 0x3000
je case.0x46be90.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x510880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46bec9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
cmp dword [eax*4 + 0x50f010], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x46befc
jmp 0x45fd5b
cmp dword [esi + 0x68], 0
jne 0x4606a2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46cb70
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cb66
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46bf5c
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46c052
cmp ebx, 0xc0
jb 0x46c052
test bl, 0x20
jne 0x46bf9e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46c04f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46bfc6
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46c052
mov edx, dword [esi + 8]
test bl, 8
jne 0x46bfec
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x46c04f
test bl, 4
jne 0x46c01b
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x46c04f
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x510880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x46c075
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x512a80]
movzx eax, byte [eax*8 + 0x50f201]
mov eax, dword [eax*4 + 0x50f010]
cmp eax, 1
je 0x46c0a1
cmp eax, 3
je 0x46c0a1
cmp ebx, 0x5f
je 0x46c0a1
xor eax, eax
jmp 0x46c0a6
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45fd5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46cb89
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cb7f
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
test edi, edi
jne case.0x4687d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46c10f
mov esi, dword [esi]
test esi, esi
je 0x46cbd8
jmp 0x4687c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46b386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46c20c
cmp ebx, 0xc0
jb 0x46c20c
test bl, 0x20
jne 0x46c151
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46c209
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46c179
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46c20c
mov edx, dword [esi + 8]
test bl, 8
jne 0x46c19f
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x46c202
test bl, 4
jne 0x46c1ce
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x46c202
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
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
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x50f0c0]
lea eax, [eax*4 + 0x50f0c0]
cmp ebx, ecx
jb 0x46c22e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x46c273
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x46c221
cmp dword [esi + 0x68], 0
je 0x4606a2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46cba2
push 0x134
call dword [0x15e4d40]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46cb98
mov esi, dword [esi]
test esi, esi
je 0x46cbcb
lea edi, [eax - 6]
jmp 0x4687b9
cmp dword [esi + 0x68], 0
je 0x46c238
jmp 0x4606a2
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x46c281
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x45ef5a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x46c2c3
push ecx
call dword [0x15e4d3c]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x45ef5a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a0b9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469ec5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a25b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x46a460
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a629
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x46ac9a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46ae4c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46afee
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46b189
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46b324
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46bb38
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46bf02
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46c0b5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46c23e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46bcd2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x46a94d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46b69b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x45eee0
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x50eef8]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x45eed0
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x34
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x46c6c6
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x33
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x46c6c6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x46c41f
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x35
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x46c6c6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x46c41f
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x36
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x46c6c6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x46c41f
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], ebx
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x45eed0
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xa
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
jmp 0x46c8b6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xb
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
add eax, 3
jmp 0x46c8b6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 7
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x46c8b6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xd
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x46c8b6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xc
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x46c8b6
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 1
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x46c6c6
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 2
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x46c6c6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x46c677
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 5
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x45eed0
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 6
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x20]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x50eef8]
add eax, ecx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edx + 0x1c], eax
mov dword [edx], esi
mov esi, edx
jmp 0x45eed0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x46c8b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x32
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x46c8b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 9
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x46c8b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2f
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x45eed0
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x30
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x46c6c6
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x3f
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x46c6c6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x40
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x46c8b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x41
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x46c8b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x42
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x46c8b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x46c8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x46c8ad
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x68
ret