Function at 0x45de80
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 0x45df0e
mov esi, dword [esi]
test esi, esi
je 0x46bbb1
mov edi, 0xfffffff8
jmp 0x4677b9
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x45df2a
mov esi, dword [esi]
test esi, esi
je 0x46bbbe
mov edi, 0xffffffeb
jmp 0x4677b9
cmp dword [ebp + 0x98], 2
jne 0x45df61
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 0x45df61
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.0x45df94.98
movzx eax, byte [edx + 0x46bdcc]
jmp dword [eax*4 + 0x46bc80]
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 0x46b415
push 0x134
call dword [0x15e3bec]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46b40f
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b465
push 0x134
call dword [0x15e3bec]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b45f
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b483
push 0x134
call dword [0x15e3bec]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b47d
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x46b4a1
push 0x134
call dword [0x15e3bec]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46b49b
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b4b6
push 0x134
call dword [0x15e3bec]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b4b0
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x45e0ee
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x50def8]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x45df61
mov edi, dword [esi + 4]
test edi, edi
jne 0x46b4d4
push 0x134
call dword [0x15e3bec]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46b4ce
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b4e9
push 0x134
call dword [0x15e3bec]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b4e3
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x46b507
push 0x134
call dword [0x15e3bec]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46b501
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x468cf8
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.0x45df94.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 0x46785b
mov dword [esi + 0x54], ebx
jmp 0x45e9ff
mov dword [esi + 0x54], ebx
jmp 0x45ea23
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 0x45e368
mov edi, dword [0x15e7bc0]
test edi, edi
je 0x45e354
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 0x45e30e
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 0x45e343
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677b9
jns 0x45e354
mov esi, dword [esi]
test esi, esi
je 0x467c9c
jmp 0x4677b9
movzx eax, byte [0x50df6e]
add dword [esi + 0xc], eax
movzx eax, byte [0x50df6e]
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.0x45e38e.146
movzx eax, byte [eax + 0x46be88]
jmp dword [eax*4 + 0x46be70]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x45e38e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x45e3c7
cmp edx, dword [edi + 4]
je 0x45e3c7
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x467af3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x467af3
cmp dword [ebp + 0xa4], ebx
je case.0x45e38e.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.0x45e38e.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 0x467af3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x45e410
jmp 0x467af3
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 0x45e474
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x45e474
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x45e38e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x45e38e.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 0x467af3
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 0x45e4c9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x45e4d8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x45e4a7
jmp 0x467af3
mov dword [esi + 0x58], 1
jmp 0x467af3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b51c
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b516
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x45e574
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x45df56
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 0x45df56
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x45e5c3
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 0x45df56
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x45e616
cmp edx, 0x9f
je 0x45e616
cmp dword [ebp + 0xa4], ebx
jne 0x45e616
cmp dword [ebp + 0x5c], ebx
jne 0x45e605
cmp dword [ebp + 0x60], ebx
je 0x45e616
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x45e616
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677b9
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 0x467c9c
jmp 0x4677b9
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45e66f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x467bed
mov dword [esi + 0x58], ebx
jmp 0x467bed
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45e69b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x467d3b
mov dword [esi + 0x58], ebx
jmp 0x467d3b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x45e702
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x45e6e8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x464ee6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45e6e4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45e6d8
test edx, edx
jg 0x45e6c0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x45df56
mov dword [ebp + 0x84], eax
jmp 0x45df56
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 0x45e6e8
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677c0
mov edi, dword [0x15e7bc0]
test edi, edi
je 0x45e80c
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 0x45e7c6
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 0x45e7fb
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677b9
jns 0x45e80c
mov esi, dword [esi]
test esi, esi
je 0x467c9c
jmp 0x4677b9
add dword [esi + 0xc], 6
jmp 0x45df5a
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 0x45e836
xor edx, edx
jmp 0x45e843
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 0x45e863
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x45e85d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x45e8c4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x45e850
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 0x45e8d8
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 0x467e24
mov esi, dword [esi]
test esi, esi
je 0x46bbe2
mov edi, 0xffffffe6
jmp 0x4677b9
shl eax, 2
push eax
call dword [0x15e3be4]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x45e89e
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x45e901
jmp 0x45df61
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b557
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b551
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x45e960
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b575
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b56f
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x45e9b3
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45df61
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 0x45e9ff
cmp eax, 0x8b
jne 0x45ea23
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 0x45ea40
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 0x46890d
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 0x45eabd
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b907
push 0x134
call dword [0x15e3bec]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b8fd
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x45eb18
cmp al, 0x81
je 0x45eb18
mov dword [esi + 0x38], ebx
jmp 0x45eb29
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 0x45eb36
cmp al, 0x80
jbe 0x45eb3a
cmp al, 0x82
jne 0x45eb66
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 0x46bc16
mov edi, 1
jmp 0x4677b9
cmp al, 0x85
je 0x45eb7a
cmp al, 0x8a
je 0x45eb7a
cmp al, 0x86
je 0x45eb7a
cmp al, 0x8b
jne 0x45ec41
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 0x45ebb6
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x45ebb6
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x45eb4c
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 0x45ebe5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x45ec41
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x45ec05
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x45ec05
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 0x45ec41
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x45ec77
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 0x46bbef
mov edi, 0xfffffc1a
jmp 0x4677b9
cmp cl, 0x78
je 0x45ecf0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x45ecf0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x45ecbe
test ecx, ecx
jne 0x46b596
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b590
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test ecx, ecx
jne 0x46b5b7
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b5b1
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x467f57
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b5d5
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b5cf
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
cmp dword [ebp + 0x44], ebx
je case.0x45df94.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x45df94.1
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677b9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x45ee18
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677b9
cmp dword [ebp + 0x44], ebx
je 0x45ed8a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x45ed8a
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677b9
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x45f7d4
cmp ecx, dword [ebp + 0x78]
je 0x45edf0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x45edc8
cmp ecx, edx
jbe 0x45edf0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046de40
add esp, 0x14
test eax, eax
jne 0x45f7d4
jmp 0x45edf0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x45edf0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45edf0
cmp edi, 1
je 0x45f7d4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45f7d4
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677b9
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x45ed55
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x45df61
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45eeda
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45ee55
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046dcf0
add esp, 0x14
test eax, eax
jne 0x45f7d4
jmp 0x45ee79
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45ee79
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45ee79
cmp edx, 1
je 0x45f7d4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45f7d4
cmp dword [ebp + 0x88], ebx
je case.0x464ee6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x464ee6.14
cmp dword [ebp + 0x18], ebx
jne case.0x464ee6.14
cmp dword [edi], 2
jne case.0x464ee6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x464ee6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x464ee6.14
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edi, 0xfffffff4
jmp 0x4677b9
cmp dword [ebp + 0x48], ebx
jne 0x45ed5b
cmp dword [ebp + 0x88], ebx
je 0x45f7d4
cmp ecx, dword [ebp + 0x84]
jbe 0x45f7d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f7d4
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edi, 0xfffffff4
jmp 0x4677b9
cmp dword [ebp + 0x48], ebx
jne 0x45ed5b
cmp dword [ebp + 0x58], ebx
je case.0x45df94.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45ed5b
cmp dword [ebp + 0x88], ebx
je 0x45ee18
cmp eax, dword [ebp + 0x84]
jbe 0x45ee18
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45ee18
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edi, 0xfffffff4
jmp 0x4677b9
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45efe5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45efad
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046dcf0
add esp, 0x14
test eax, eax
jne 0x45efd5
jmp 0x45ee79
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45ee79
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45ee79
cmp edx, 1
je 0x45efd5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x45ee79
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x45ee79
cmp dword [ebp + 0x88], ebx
je 0x45f7d4
cmp ecx, dword [ebp + 0x84]
jbe 0x45f7d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f7d4
jmp 0x45eec6
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x45f2e7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x45f035
mov dword [esi + 0x5c], ebx
jmp 0x45f16e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x45f04a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x45f040
cmp edx, dword [ebp + 0x84]
jae 0x45f058
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x45f10c
test bl, 0x20
jne 0x45f080
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x45f10c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45f09a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x45f102
and eax, 0x3f
test bl, 8
jne 0x45f0b5
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x45f102
test bl, 4
jne 0x45f0d9
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 0x45f102
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 0x45f1a7
cmp ebx, 0x5f
jne 0x45f124
mov dword [esi + 0x5c], 1
jmp 0x45f16e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f146
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x45f1b8
cmp eax, 3
je 0x45f1b8
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x45f1bf
cmp dword [ebp + 0x88], 0
je 0x45f19b
cmp edx, dword [ebp + 0x84]
jbe 0x45f19b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
mov dword [esi + 0x54], 0
jmp 0x45f425
cmp ebx, 0x100
jae 0x45f169
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45f169
mov eax, 1
jmp 0x45f16b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x45f269
test bl, 0x20
jne 0x45f1df
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x45f261
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45f1f9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x45f261
and eax, 0x3f
test bl, 8
jne 0x45f214
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x45f261
test bl, 4
jne 0x45f238
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 0x45f261
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 0x45f2cc
cmp ebx, 0x5f
jne 0x45f280
mov dword [esi + 0x54], 1
jmp 0x45f425
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f2a2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x45f2dd
cmp eax, 3
je 0x45f2dd
xor eax, eax
jmp 0x45f422
cmp ebx, 0x100
jae 0x45f2c5
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45f2c5
mov eax, 1
jmp 0x45f422
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x45f2f7
mov dword [esi + 0x5c], ebx
jmp 0x45f392
cmp eax, dword [ebp + 0x84]
ja 0x45f306
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x45f37e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x45f320
mov dword [esi + 0x5c], 1
jmp 0x45f392
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f880]
shl eax, 7
and ecx, 0x8000007f
jns 0x45f342
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x45f370
cmp eax, 3
je 0x45f370
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x45f38f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x45f38f
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 0x45f3d3
cmp dword [ebp + 0x88], ebx
je 0x45f3ce
cmp eax, dword [ebp + 0x84]
jbe 0x45f3ce
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f3ce
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edi, 0xfffffff4
jmp 0x4677c0
mov dword [esi + 0x54], ebx
jmp 0x45f425
cmp dword [ebp + 0x54], ebx
je 0x45f412
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x45f3e9
mov dword [esi + 0x54], 1
jmp 0x45f425
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f880]
shl eax, 7
and ecx, 0x8000007f
jns 0x45f40b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x45f2a4
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 0x45f440
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x45f448
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x45df61
jmp 0x45ed5b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x45f48d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x45f4b8
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0046dcf0
add esp, 0x14
test eax, eax
jne 0x45ed5b
jmp 0x45f4b8
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x45f4b8
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45f4b8
cmp edx, 1
je 0x45ed5b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45ed5b
cmp dword [ebp + 0x88], ebx
je case.0x45df94.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x45df94.13
cmp dword [ebp + 0x18], ebx
jne case.0x45df94.13
cmp dword [ebp + 0x1c], 2
jne case.0x45df94.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x45df94.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45f516
cmp dword [ebp + 0x88], ebx
je case.0x464ee6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x464ee6.14
jmp 0x45eeb2
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x45ee18
cmp eax, dword [ebp + 0x78]
jae 0x45ee18
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45ee18
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x45f532
inc dword [esi + 0xc]
jmp 0x45df61
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45f4f9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45df61
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45f58d
cmp dword [ebp + 0x88], ebx
je case.0x464ee6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x464ee6.14
jmp 0x45eeb2
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45f689
cmp ebx, 0xc0
jb 0x45f689
test bl, 0x20
jne 0x45f5ca
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f686
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f5f4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f689
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f61a
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 0x45f67d
test bl, 4
jne 0x45f649
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 0x45f67d
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 0x45f7d4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x45f7d4
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677c0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45f7bb
cmp ebx, 0xc0
jb 0x45f7bb
test bl, 0x20
jne 0x45f6fc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f7b8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f726
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f7bb
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f74c
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 0x45f7af
test bl, 4
jne 0x45f77b
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 0x45f7af
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 0x45e71d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x45e71d
inc dword [esi + 0xc]
jmp 0x45df5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45f8e4
cmp ebx, 0xc0
jb 0x45f8e4
test bl, 0x20
jne 0x45f825
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f8e1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f84f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f8e4
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f875
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 0x45f8d8
test bl, 4
jne 0x45f8a4
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 0x45f8d8
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 0x45f7d4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x45f69c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45fa04
cmp ebx, 0xc0
jb 0x45fa04
test bl, 0x20
jne 0x45f945
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fa01
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f96f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fa04
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f995
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 0x45f9f8
test bl, 4
jne 0x45f9c4
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 0x45f9f8
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 0x45e71d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x45e71d
inc dword [esi + 0xc]
jmp 0x45df5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45fb2d
cmp ebx, 0xc0
jb 0x45fb2d
test bl, 0x20
jne 0x45fa6e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fb2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fa98
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fb2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fabe
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 0x45fb21
test bl, 4
jne 0x45faed
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 0x45fb21
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 0x45f7d4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x45f69c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45fc4d
cmp ebx, 0xc0
jb 0x45fc4d
test bl, 0x20
jne 0x45fb8e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fc4a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fbb8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fc4d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fbde
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 0x45fc41
test bl, 4
jne 0x45fc0d
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 0x45fc41
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 0x45e71d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45e71d
inc dword [esi + 0xc]
jmp 0x45df5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45fd76
cmp ebx, 0xc0
jb 0x45fd76
test bl, 0x20
jne 0x45fcb7
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fd73
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fce1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fd76
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fd07
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 0x45fd6a
test bl, 4
jne 0x45fd36
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 0x45fd6a
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 0x45fdef
je 0x45fd91
cmp ebx, 0xa
je 0x45f7d4
jbe 0x45f6a2
cmp ebx, 0xc
jmp 0x45fe09
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45fdda
cmp dword [ebp + 0x88], 0
je 0x45f7d4
cmp eax, dword [ebp + 0x84]
jbe 0x45f7d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f7d4
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edi, 0xfffffff4
jmp 0x4677c0
cmp byte [eax], 0xa
jne 0x45f7d4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45df5a
cmp ebx, 0x85
je 0x45fe0f
cmp ebx, 0x2027
jbe 0x45f6a2
cmp ebx, 0x2029
ja 0x45f6a2
cmp dword [ebp + 0x68], 0
jmp 0x45f69c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45ff20
cmp ebx, 0xc0
jb 0x45ff20
test bl, 0x20
jne 0x45fe61
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45ff1d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fe8b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45ff20
mov edx, dword [esi + 8]
test bl, 8
jne 0x45feb1
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 0x45ff14
test bl, 4
jne 0x45fee0
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 0x45ff14
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 0x45ff58
je 0x45e71d
cmp ebx, 0xa0
ja 0x45ff4d
je 0x45e71d
cmp ebx, 9
je 0x45e71d
cmp ebx, 0x20
jmp 0x45f7ce
cmp ebx, 0x1680
jmp 0x45f7ce
cmp ebx, 0x205f
ja 0x45ff89
je 0x45e71d
cmp ebx, 0x2000
jb 0x45f7d4
cmp ebx, 0x200a
jbe 0x45e71d
cmp ebx, 0x202f
jmp 0x45f7ce
cmp ebx, 0x3000
je 0x45e71d
inc dword [esi + 0xc]
jmp 0x45df5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4600a5
cmp ebx, 0xc0
jb 0x4600a5
test bl, 0x20
jne 0x45ffe6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4600a2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460010
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4600a5
mov edx, dword [esi + 8]
test bl, 8
jne 0x460036
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 0x460099
test bl, 4
jne 0x460065
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 0x460099
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 0x4600dd
je 0x45f7d4
cmp ebx, 0xa0
ja 0x4600d2
je 0x45f7d4
cmp ebx, 9
je 0x45f7d4
cmp ebx, 0x20
jmp 0x45f69c
cmp ebx, 0x1680
jmp 0x45f69c
cmp ebx, 0x205f
ja 0x46010e
je 0x45f7d4
cmp ebx, 0x2000
jb 0x45f6a2
cmp ebx, 0x200a
jbe 0x45f7d4
cmp ebx, 0x202f
jmp 0x45f69c
cmp ebx, 0x3000
jmp 0x45f69c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460221
cmp ebx, 0xc0
jb 0x460221
test bl, 0x20
jne 0x460162
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46021e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46018c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460221
mov edx, dword [esi + 8]
test bl, 8
jne 0x4601b2
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 0x460215
test bl, 4
jne 0x4601e1
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 0x460215
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 0x460249
je 0x45f6a2
cmp ebx, 0xa
jb 0x45f7d4
cmp ebx, 0xd
jbe 0x45f6a2
inc dword [esi + 0xc]
jmp 0x45df5a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x45f7d4
jmp 0x45f6a2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460365
cmp ebx, 0xc0
jb 0x460365
test bl, 0x20
jne 0x4602a6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460362
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4602d0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460365
mov edx, dword [esi + 8]
test bl, 8
jne 0x4602f6
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 0x460359
test bl, 4
jne 0x460325
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 0x460359
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 0x46038a
je 0x45f7d4
cmp ebx, 0xa
jb 0x45e71d
cmp ebx, 0xd
jbe 0x45f7d4
jmp 0x45e71d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x45e71d
inc dword [esi + 0xc]
jmp 0x45df5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x46049d
cmp ebx, 0xc0
jb 0x46049d
test bl, 0x20
jne 0x4603e9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46049a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460411
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46049d
mov edx, dword [esi + 8]
test bl, 8
jne 0x460437
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 0x46049a
test bl, 4
jne 0x460466
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 0x46049a
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 + 0x50f880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4604c0
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 + 0x511a80]
cmp eax, 0xa
ja case.default.0x4604da
jmp dword [eax*4 + 0x46be9c]
cmp dword [esi + 0x9c], 0xf
jne 0x45df56
jmp 0x45ed5b
mov al, byte [edx*8 + 0x50e201]
cmp al, 9
je 0x46050a
cmp al, 5
je 0x46050a
cmp al, 8
je 0x46050a
xor ecx, ecx
jmp 0x46050f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x45df56
jmp 0x45ed5b
movzx ecx, byte [edx*8 + 0x50e201]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x50e010]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x45df56
jmp 0x45ed5b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50e201]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x45df56
jmp 0x45ed5b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50e200]
jmp 0x46056b
movzx eax, byte [edx*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x46050a
cmp eax, 3
je 0x46050a
xor ecx, ecx
jmp 0x46050f
cmp ebx, 0x180e
ja 0x460603
je case.0x4604da.0
cmp ebx, 0x85
ja 0x4605ef
je case.0x4604da.0
cmp ebx, 9
jb case.0x460623.8203
cmp ebx, 0xd
jbe case.0x4604da.0
cmp ebx, 0x20
jmp 0x46063c
cmp ebx, 0xa0
je case.0x4604da.0
cmp ebx, 0x1680
jmp 0x46063c
cmp ebx, 0x202f
ja 0x46062a
je case.0x4604da.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x460623.8203
movzx eax, byte [ebx + 0x46bed0]
jmp dword [eax*4 + 0x46bec8]
cmp ebx, 0x205f
je case.0x4604da.0
cmp ebx, 0x3000
je case.0x4604da.0
movzx eax, byte [edx*8 + 0x50e201]
xor ecx, ecx
cmp dword [eax*4 + 0x50e010], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x460577
movzx eax, byte [edx*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x46050a
cmp eax, 3
je 0x46050a
cmp ebx, 0x5f
je 0x46050a
xor ecx, ecx
jmp 0x46050f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x50e0c0]
lea eax, [eax*4 + 0x50e0c0]
cmp ebx, ecx
jb 0x4606bd
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x4606cf
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x4606b0
cmp dword [esi + 0x9c], 0x10
jne 0x45df56
jmp 0x45ed5b
cmp dword [esi + 0x9c], 0x10
je 0x45df56
jmp 0x45ed5b
cmp ebx, 0x24
je 0x46050a
cmp ebx, 0x40
je 0x46050a
cmp ebx, 0x60
je 0x46050a
cmp ebx, 0xa0
jb 0x460710
cmp ebx, 0xd7ff
jbe 0x46050a
cmp ebx, 0xe000
jae 0x46050a
xor ecx, ecx
jmp 0x46050f
mov esi, dword [esi]
test esi, esi
je case.default.0x4677d4
mov edi, 0xfffffff2
jmp 0x4677b9
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x460842
cmp ebx, 0xc0
jb 0x460842
test bl, 0x20
jne 0x460780
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46083f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4607af
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 0x460842
mov edx, dword [esi + 8]
test bl, 8
jne 0x4607d5
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 0x460838
test bl, 4
jne 0x460804
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 0x460838
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x460864
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e202]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4609f6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x46098e
cmp ebx, 0xc0
jb 0x46098e
test bl, 0x20
jne 0x4608c5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x460986
test bl, 0x10
jne 0x4608ea
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 0x460986
test bl, 8
jne 0x460918
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 0x460986
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x460952
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 0x460986
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4609b0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx ecx, byte [eax*8 + 0x50e202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e088], eax
je 0x4609f6
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 0x460890
cmp dword [ebp + 0x88], 0
je 0x45f7d4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45f7d4
cmp eax, dword [ebp + 0x84]
jbe 0x45f7d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f7d4
jmp 0x45eec6
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 0x460b24
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 0x460ab4
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x460abd
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x460a90
jmp 0x460b24
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x460b24
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 0x460b14
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x460b14
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x460b1e
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.0x460b3f
movzx eax, byte [eax + 0x46bf04]
jmp dword [eax*4 + 0x46befc]
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 + 0x50d550]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50d55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x460bcd
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x460bcd
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 0x460bc9
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x45df61
jns 0x460bf1
cmp dword [esi + 0x90], 0
je 0x45df61
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x460c2f
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.0046c400
add esp, 0x14
test eax, eax
js 0x460c61
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x460c00
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45df61
cmp dword [esp + 0x80], 0
je 0x460c8a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x468072
cmp eax, 0xfffffffe
jne 0x460c6c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x464ee6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x464ee6.14
jmp 0x45f505
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x460ca0
cmp edi, dword [esi + 0x8c]
jge 0x4680c1
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0046c400
add esp, 0x14
test eax, eax
js 0x460cd5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x460ca0
cmp eax, 0xfffffffe
jne 0x4680c1
cmp dword [ebp + 0x88], 0
je 0x4680c1
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4680c1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4680c1
jmp 0x45eec6
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0046c400
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x460d99
cmp eax, 0xfffffffe
jne 0x460d45
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x46869d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x46869d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x46869d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x46869d.14
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x4677c4
add dword [esi + 8], eax
jmp 0x45df5a
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.0x460dc7
movzx eax, byte [eax + 0x46bf14]
jmp dword [eax*4 + 0x46bf0c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x460dea
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x460df5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50d550]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50d55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x460e8c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x460e8c
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 0x460e72
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x460e8c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x460fec
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x461041
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x460f9c
test bl, 0x20
jne 0x460eea
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x460f99
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460f11
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x460f97
test bl, 8
jne 0x460f34
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 0x460f97
test bl, 4
jne 0x460f63
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 0x460f97
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 0x460fad
cmp dword [esi + 0x9c], 0x6e
jmp 0x460fc2
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.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x460eb0
jmp 0x461033
cmp dword [ebp + 0x88], 0
je case.0x464ee6.14
mov eax, dword [esi + 8]
jmp 0x45f505
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x46103a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x460fd7
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.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x461000
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45df5a
test ebx, ebx
je 0x46106a
test edx, edx
jne 0x46b2d7
mov dword [esi + 0x84], eax
jmp 0x46815b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x461222
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x46120f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4611e7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x461196
test bl, 0x20
jne 0x4610db
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x461196
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x461103
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x46118c
and eax, 0x3f
test bl, 8
jne 0x461129
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 0x46118c
test bl, 4
jne 0x461158
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 0x46118c
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 0x4611a7
cmp dword [esi + 0x9c], 0x6e
jmp 0x4611bc
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 0x46120f
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 0x461091
jmp 0x46120f
cmp dword [ebp + 0x88], 0
je 0x46120f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46120f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
je 0x46911c
jmp 0x45df5a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x46129a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x461272
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 0x46129a
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 0x461231
jmp 0x46129a
cmp dword [ebp + 0x88], 0
je 0x46129a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46129a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
je 0x46819b
jmp 0x45df5a
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.0x4612e5
movzx eax, byte [eax + 0x46bf28]
jmp dword [eax*4 + 0x46bf20]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x461308
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x461313
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50d550]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50d55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4613aa
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x4613aa
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 0x461390
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x4613aa
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4614e5
jmp 0x4613c0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x4614ba
cmp edx, 0xc0
jb 0x4614ba
test dl, 0x20
jne 0x461408
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4614b7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x46142f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4614b5
test dl, 8
jne 0x461452
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 0x4614b5
test dl, 4
jne 0x461481
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 0x4614b5
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.0046d680
add esp, 0xc
test eax, eax
je case.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4613c0
jmp 0x4614ec
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45df61
cmp dword [esp + 0x84], 0
jne 0x46b2e8
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 0x46167d
jmp 0x461530
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x461653
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x46161b
cmp edx, 0xc0
jb 0x46161b
test dl, 0x20
jne 0x46157c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x46161b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x46159b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x461611
and eax, 0x3f
test dl, 8
jne 0x4615bb
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x461611
test dl, 4
jne 0x4615e4
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 0x461611
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.0046d680
add esp, 0xc
test eax, eax
je 0x46167d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x461530
jmp 0x46167d
cmp dword [ebp + 0x88], 0
je 0x461676
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x461676
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x45eec6
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x45df61
jmp 0x468f31
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x461869
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 0x4617f0
test al, 0x20
jne 0x4616f0
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 0x4617f0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x46172a
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 0x4617f0
test al, 8
jne 0x461766
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 0x4617f0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4617ab
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 0x4617f0
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 0x461829
cmp dword [ebp + 0x88], ebx
je case.0x464ee6.14
cmp edx, edi
jb case.0x464ee6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x464ee6.14
jmp 0x45eeb2
test ecx, ecx
jle 0x46185e
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.0x464ee6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x461830
dec dword [esi + 0x88]
jmp 0x45df5a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x4618b6
cmp dword [ebp + 0x88], ebx
je 0x45e71d
cmp edi, dword [ebp + 0x84]
jbe 0x45e71d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45e71d
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edi, 0xfffffff4
jmp 0x4677c0
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 0x461bcb
jmp 0x45ed5b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f570
cmp dword [esp + 0x8c], ebx
je 0x461bac
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 0x461a3b
test al, 0x20
jne 0x46193b
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 0x461a3b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x461975
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 0x461a3b
test al, 8
jne 0x4619b1
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 0x461a3b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4619f6
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 0x461a3b
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 0x461a69
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x45ed5b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x45df5a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x461b4b
test bl, 0x20
jne 0x461a99
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x461b48
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x461ac0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x461b46
test bl, 8
jne 0x461ae3
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 0x461b46
test bl, 4
jne 0x461b12
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 0x461b46
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 0x45df5a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50f880]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x461b85
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511a80]
mov eax, dword [eax*8 + 0x50e204]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x45df61
jmp 0x45ed5b
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 0x45ed5b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x45df5a
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 0x461cfd
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 0x461c34
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x461c3f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x461cfd
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x461d04
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x461d04
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x461d04
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 + 0x50d550]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50d55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x461cfd
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x462178
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 0x461e4b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x461d61
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 0x461e4b
test bl, 0x10
jne 0x461d96
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 0x461e4b
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 0x461dd4
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 0x461e4b
test bl, 4
jne 0x461e0d
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 0x461e4b
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 0x462187
cmp dword [esi + 0x9c], 0x2e
jb 0x461ebc
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50f880]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x461e93
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511a80]
mov ecx, dword [eax*8 + 0x50e204]
add ecx, edi
cmp ecx, edi
je 0x461ebc
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0046d620
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x461ec3
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x461ff6
jmp 0x461ee0
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 0x461f64
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x461f18
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x461f21
add ecx, 4
add edx, 4
sub edi, 4
jae 0x461f07
cmp edi, 0xfffffffc
je 0x461fd8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x461f5a
cmp edi, 0xfffffffd
je 0x461fd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x461f5a
cmp edi, 0xfffffffe
je 0x461fd8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x461f5a
cmp edi, 0xffffffff
je 0x461fd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x461fd8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x460c6c
sub ecx, ebx
cmp edi, ecx
ja 0x460c6c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x461f96
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x461f9b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x461f85
cmp edi, 0xfffffffc
je 0x461fd8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x460c6c
cmp edi, 0xfffffffd
je 0x461fd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x460c6c
cmp edi, 0xfffffffe
je 0x461fd8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x460c6c
cmp edi, 0xffffffff
je 0x461fd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x460c6c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x461ee0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45df61
cmp dword [esp + 0x84], 0
jne 0x46b2f9
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 0x462165
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 0x4620bc
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x462078
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x462081
add ecx, 4
add edx, 4
sub edi, 4
jae 0x462067
cmp edi, 0xfffffffc
je 0x462118
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4620b2
cmp edi, 0xfffffffd
je 0x462118
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4620b2
cmp edi, 0xfffffffe
je 0x462118
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4620b2
cmp edi, 0xffffffff
je 0x462118
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x462118
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x462138
sub ecx, ebx
cmp edi, ecx
ja 0x462138
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x4620e6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4620eb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4620d5
cmp edi, 0xfffffffc
je 0x462118
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x462138
cmp edi, 0xfffffffd
je 0x462118
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x462138
cmp edi, 0xfffffffe
je 0x462118
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x462138
cmp edi, 0xffffffff
je 0x462118
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x462138
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x462040
jmp 0x462165
cmp dword [ebp + 0x88], 0
je 0x462165
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x462165
cmp eax, dword [ebp + 0x84]
jbe 0x462165
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
je 0x4692dc
jmp 0x45df5a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x46227f
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 0x4621e4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x460fd7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4621d7
cmp dword [esi + 0x94], ecx
jne case.0x464ee6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x4621b4
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45df5a
cmp dword [esp + 0x84], 0
je 0x46220b
mov dword [esi + 0x84], eax
jmp 0x46823b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x462272
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46224a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x46223b
cmp dword [esi + 0x94], ecx
jne 0x462272
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x462220
jmp 0x462272
cmp dword [ebp + 0x88], 0
je 0x462272
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x462272
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
test edi, edi
je 0x46827b
jmp 0x45df5a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4622ba
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462290
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45df61
cmp dword [esp + 0x84], 0
je 0x4622e8
mov dword [esi + 0x84], eax
jmp 0x468308
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x46234c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x462324
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x46234c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x462300
jmp 0x46234c
cmp dword [ebp + 0x88], 0
je 0x46234c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46234c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
je 0x468348
jmp 0x45df61
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x462384
cmp dword [ebp + 0x88], ebx
je case.0x464ee6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x464ee6.14
jmp 0x45eeb2
test edi, edi
je 0x4625fc
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 0x462485
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x4623c2
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x462482
test bl, 0x10
jne 0x4623e3
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 0x462482
test bl, 8
jne 0x46240e
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 0x462485
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x462447
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 0x462482
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 0x462578
test dl, 0x20
jne 0x4624bf
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46256e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4624e6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x46256c
test dl, 8
jne 0x462509
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 0x46256c
test dl, 4
jne 0x462538
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 0x46256c
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 0x462595
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x45df61
jmp 0x45ed5b
cmp ebx, 0x7f
jbe 0x4625d2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50f880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4625bd
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511a80]
mov ecx, dword [eax*8 + 0x50e204]
add ecx, ebx
jmp 0x4625d9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x45ed5b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x45df61
jmp 0x45ed5b
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.0x464ee6.14
cmp dword [esi + 0x9c], 0x20
jne 0x461bcb
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x464ee6.14
add dword [esi + 0xc], 2
jmp 0x45df5a
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 0x462796
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 0x46269b
cmp al, 0x4f
je 0x46269b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x462796
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x462796
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x462796
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x462796
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x462796
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 0x462796
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 + 0x50d550]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50d55c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x462796
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 0x4628f1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x4628f1
test al, 0x20
jne 0x4627e8
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 0x4628f1
test al, 0x10
jne 0x46281b
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 0x4628f1
test al, 8
jne 0x46285d
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 0x4628f1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4628a8
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 0x4628ea
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 0x462d15
test edx, edx
je 0x46294c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x46294c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50f880]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x462930
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x511a80]
mov eax, dword [eax*8 + 0x50e204]
add eax, edi
jmp 0x462959
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x462aa0
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x462aeb
jmp 0x462980
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x462a79
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4629ba
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x462a76
test cl, 0x10
jne 0x4629db
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 0x462a76
test cl, 8
jne 0x462a05
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 0x462a76
test cl, 4
jne 0x462a3b
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 0x462a76
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.0x464ee6.14
cmp dword [esi + 0x94], ecx
je case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462980
jmp 0x462ae4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x462ae4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x460fd7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x464ee6.14
cmp dword [esi + 0x94], ecx
je case.0x464ee6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x462ab0
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45df5a
test ebx, ebx
je 0x462b14
test edx, edx
jne 0x46b30a
mov dword [esi + 0x84], eax
jmp 0x4683df
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x462c9d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x462c8a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x462c62
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x462c3e
test dl, 0x20
jne 0x462b72
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x462c3e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x462b9c
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 0x462c3c
test dl, 8
jne 0x462bc8
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 0x462c3c
test dl, 4
jne 0x462c00
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 0x462c3c
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 0x462c8a
cmp dword [esi + 0x94], edx
je 0x462c8a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x462b34
jmp 0x462c8a
cmp dword [ebp + 0x88], 0
je 0x462c8a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x462c8a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
je 0x4694bc
jmp 0x45df5a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x462d02
jmp 0x462cb0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462cda
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x462d02
cmp dword [esi + 0x94], ecx
je 0x462d02
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x462cb0
jmp 0x462d02
cmp dword [ebp + 0x88], 0
je 0x462d02
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x462d02
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
je 0x46841f
jmp 0x45df5a
test edx, edx
je 0x462e37
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x462e75
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x462e1c
test dl, 0x20
jne 0x462d6a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x462e19
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x462d91
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x462e17
test dl, 8
jne 0x462db4
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 0x462e17
test dl, 4
jne 0x462de3
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 0x462e17
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.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x462d30
jmp 0x462e6e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x462e75
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462e44
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45df5a
cmp dword [esp + 0x84], 0
je 0x462ea4
test edx, edx
jne 0x46b31f
mov dword [esi + 0x84], eax
jmp 0x4684ac
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x463028
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x463015
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x462fed
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x462fd1
test dl, 0x20
jne 0x462f02
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x462fd1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x462f2c
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 0x462fcf
test dl, 8
jne 0x462f5b
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 0x462fcf
test dl, 4
jne 0x462f93
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 0x462fcf
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 0x463015
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x462ec4
jmp 0x463015
cmp dword [ebp + 0x88], 0
je 0x463015
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x463015
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
je 0x469680
jmp 0x45df5a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x463082
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46305a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x463082
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x463036
jmp 0x463082
cmp dword [ebp + 0x88], 0
je 0x463082
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x463082
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
je 0x4684ec
jmp 0x45df5a
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 0x4631d4
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 0x4631d4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4631d4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4631d4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4631d4
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 0x4631d4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x50d4fb]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x50d507]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4631d4
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 0x4631f6
cmp ecx, 0xf
je 0x4631f6
mov dword [esi + 0x60], 0xffffffff
jmp 0x463219
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 0x4651bb
mov eax, dword [esi + 0x60]
test eax, eax
js 0x463fc8
cmp eax, 0xa
ja case.default.0x4604da
jmp dword [eax*4 + 0x46bf34]
cmp dword [esi + 0x68], ebx
jne 0x45ed5b
mov edx, 1
cmp ecx, edx
jl 0x4651bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x46329f
cmp ecx, 0xc0
jb 0x46329f
test cl, 0x20
jne 0x46327b
inc eax
jmp 0x46329c
test cl, 0x10
jne 0x463285
add eax, 2
jmp 0x46329c
test cl, 8
jne 0x46328f
add eax, 3
jmp 0x46329c
test cl, 4
jne 0x463299
add eax, 4
jmp 0x46329c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x463258
jmp 0x4651bb
cmp dword [ebp + 0x88], ebx
je case.0x464ee6.14
mov eax, dword [esi + 8]
jmp 0x45f505
mov edi, 1
cmp ecx, edi
jl 0x4651bb
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4633ca
cmp ebx, 0xc0
jb 0x4633ca
test bl, 0x20
jne 0x463318
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4633c7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46333f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4633c5
test bl, 8
jne 0x463362
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 0x4633c5
test bl, 4
jne 0x463391
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 0x4633c5
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4633ec
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
cmp eax, 9
je 0x463411
cmp eax, 5
je 0x463411
cmp eax, 8
je 0x463411
xor eax, eax
jmp 0x463416
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4632d0
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651bb
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x463538
cmp ebx, 0xc0
jb 0x463538
test bl, 0x20
jne 0x463488
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463535
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4634af
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x463535
test bl, 8
jne 0x4634d2
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 0x463535
test bl, 4
jne 0x463501
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 0x463535
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46355a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463440
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651bb
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x46369b
cmp ebx, 0xc0
jb 0x46369b
test bl, 0x20
jne 0x4635eb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463698
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463612
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x463698
test bl, 8
jne 0x463635
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 0x463698
test bl, 4
jne 0x463664
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 0x463698
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4636bd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4635a3
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651bb
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4637f8
cmp ebx, 0xc0
jb 0x4637f8
test bl, 0x20
jne 0x463748
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4637f5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46376f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4637f5
test bl, 8
jne 0x463792
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 0x4637f5
test bl, 4
jne 0x4637c1
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 0x4637f5
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46381a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e200]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463700
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651bb
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x46395a
cmp ebx, 0xc0
jb 0x46395a
test bl, 0x20
jne 0x4638a8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463957
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4638cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x463955
test bl, 8
jne 0x4638f2
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 0x463955
test bl, 4
jne 0x463921
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 0x463955
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46397c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x4639a3
cmp eax, 3
je 0x4639a3
xor eax, eax
jmp 0x4639a8
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463860
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651bb
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x463aca
cmp ebx, 0xc0
jb 0x463aca
test bl, 0x20
jne 0x463a18
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463ac7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463a3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x463ac5
test bl, 8
jne 0x463a62
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 0x463ac5
test bl, 4
jne 0x463a91
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 0x463ac5
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 0x463b0d
je case.0x463b29.8192
cmp ebx, 0x85
ja 0x463af9
je case.0x463b29.8192
cmp ebx, 9
jb case.0x463b29.8203
cmp ebx, 0xd
jbe case.0x463b29.8192
cmp ebx, 0x20
jmp 0x463b3e
cmp ebx, 0xa0
je case.0x463b29.8192
cmp ebx, 0x1680
jmp 0x463b3e
cmp ebx, 0x202f
ja 0x463b30
je case.0x463b29.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x463b29.8203
movzx eax, byte [eax + 0x46bf68]
jmp dword [eax*4 + 0x46bf60]
cmp ebx, 0x205f
je case.0x463b29.8192
cmp ebx, 0x3000
je case.0x463b29.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x463b62
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
cmp dword [eax*4 + 0x50e010], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x464ee6.14
jmp 0x463b96
cmp dword [esi + 0x68], 0
jne case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4639d0
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651bb
jmp 0x463bc0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x463cb8
cmp ebx, 0xc0
jb 0x463cb8
test bl, 0x20
jne 0x463c08
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463cb5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463c2f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x463cb5
test bl, 8
jne 0x463c52
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 0x463cb5
test bl, 4
jne 0x463c81
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 0x463cb5
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 + 0x50f880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x463cdb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x463d07
cmp eax, 3
je 0x463d07
cmp ebx, 0x5f
je 0x463d07
xor eax, eax
jmp 0x463d0c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x464ee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463bc0
jmp 0x4651bb
mov ebx, 1
cmp ecx, ebx
jl 0x4651bb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x463e2c
cmp edx, 0xc0
jb 0x463e2c
test dl, 0x20
jne 0x463d7c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x463e29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x463da3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x463e29
test dl, 8
jne 0x463dc6
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 0x463e29
test dl, 4
jne 0x463df5
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 0x463e29
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 + 0x50e0c0]
lea eax, [eax*4 + 0x50e0c0]
cmp edx, ecx
jb 0x463e4e
lea eax, [eax + 4]
cmp edx, ecx
je 0x463e6a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x463e41
cmp dword [esi + 0x68], 0
je case.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463d34
jmp 0x4651bb
cmp dword [esi + 0x68], 0
jne case.0x464ee6.14
jmp 0x463e58
mov ebx, 1
cmp ecx, ebx
jl 0x4651bb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x463f7d
cmp edx, 0xc0
jb 0x463f7d
test dl, 0x20
jne 0x463ecb
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x463f7a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x463ef2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x463f78
test dl, 8
jne 0x463f15
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 0x463f78
test dl, 4
jne 0x463f44
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 0x463f78
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 0x463fa8
cmp edx, 0x40
je 0x463fa8
cmp edx, 0x60
je 0x463fa8
cmp edx, 0xa0
jb 0x463f9c
cmp edx, 0xd7ff
jbe 0x463fa8
cmp edx, 0xe000
jae 0x463fa8
xor eax, eax
jmp 0x463fad
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463e83
jmp 0x4651bb
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4642f3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x4651bb
jmp 0x463ff0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x460fd7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x4640f0
cmp ebx, 0xc0
jb 0x4640f0
test bl, 0x20
jne 0x464039
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4640ed
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x464060
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4640e6
test bl, 8
jne 0x464083
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 0x4640e6
test bl, 4
jne 0x4640b2
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 0x4640e6
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x464112
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e202]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4642ad
jmp 0x464140
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x46423e
cmp ebx, 0xc0
jb 0x46423e
test bl, 0x20
jne 0x464175
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x464236
test bl, 0x10
jne 0x46419a
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 0x464236
test bl, 8
jne 0x4641c8
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 0x464236
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x464202
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 0x464236
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x464260
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx ecx, byte [eax*8 + 0x50e202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e088], eax
je 0x4642a6
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 0x464140
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x4642da
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4642da
cmp eax, dword [ebp + 0x84]
jbe 0x4642da
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x463ff0
jmp 0x4651bb
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x464dbf
cmp eax, 0xf
ja case.0x467307.9
jmp dword [eax*4 + 0x46bf94]
mov ebx, 1
cmp ecx, ebx
jl 0x4651c2
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x460fd7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x464357
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046dcf0
add esp, 0x14
test eax, eax
jne case.0x464ee6.14
jmp 0x46437b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x46437b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x46437b
cmp edx, 1
je case.0x464ee6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x464ee6.14
cmp dword [ebp + 0x88], 0
je 0x4643b6
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4643b6
cmp dword [ebp + 0x18], 0
jne 0x4643b6
cmp dword [edi], 2
jne 0x4643b6
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4643b6
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4643d2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4643d2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4643c1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464322
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4632ad
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x464428
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x464428
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x464410
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4643f4
jmp 0x4651bb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x45ed5b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x4651bb
mov ebx, 1
cmp ecx, ebx
jl 0x4651c2
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46454c
test dl, 0x20
jne 0x46449a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464549
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4644c1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464547
test dl, 8
jne 0x4644e4
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 0x464547
test dl, 4
jne 0x464513
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 0x464547
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 0x464570
je 0x46455d
cmp edx, 0xa
je 0x464591
lea eax, [edx - 0xb]
jmp 0x46457e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x464591
cmp byte [eax], 0xa
jne 0x464591
inc eax
mov dword [esi + 8], eax
jmp 0x464591
cmp edx, 0x85
je 0x464587
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x464ee6.14
cmp dword [ebp + 0x68], 0
jne case.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464460
jmp 0x4651bb
mov ebx, 1
cmp ecx, ebx
jl 0x4651c2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46469c
test dl, 0x20
jne 0x4645ea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464699
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464611
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464697
test dl, 8
jne 0x464634
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 0x464697
test dl, 4
jne 0x464663
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 0x464697
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 0x4646ce
je case.0x464ee6.14
cmp edx, 0xa0
ja 0x4646c6
je case.0x464ee6.14
cmp edx, 9
je case.0x464ee6.14
cmp edx, 0x20
jmp 0x4646fe
cmp edx, 0x1680
jmp 0x4646fe
cmp edx, 0x205f
ja 0x4646f8
je case.0x464ee6.14
cmp edx, 0x2000
jb 0x464704
cmp edx, 0x200a
jbe case.0x464ee6.14
cmp edx, 0x202f
jmp 0x4646fe
cmp edx, 0x3000
je case.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4645b0
jmp 0x4651bb
mov ebx, 1
cmp ecx, ebx
jl 0x4651c2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46480f
test dl, 0x20
jne 0x46475d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46480c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464784
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x46480a
test dl, 8
jne 0x4647a7
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 0x46480a
test dl, 4
jne 0x4647d6
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 0x46480a
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 0x464835
je 0x464867
cmp edx, 0xa0
ja 0x46482d
je 0x464867
cmp edx, 9
je 0x464867
cmp edx, 0x20
jmp 0x464861
cmp edx, 0x1680
jmp 0x464861
cmp edx, 0x205f
ja 0x46485b
je 0x464867
cmp edx, 0x2000
jb case.0x464ee6.14
cmp edx, 0x200a
jbe 0x464867
cmp edx, 0x202f
jmp 0x464861
cmp edx, 0x3000
jne case.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464723
jmp 0x4651bb
mov ebx, 1
cmp ecx, ebx
jl 0x4651c2
jmp 0x464890
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46497c
test dl, 0x20
jne 0x4648ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464979
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4648f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464977
test dl, 8
jne 0x464914
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 0x464977
test dl, 4
jne 0x464943
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 0x464977
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 0x464994
je case.0x464ee6.14
cmp edx, 0xa
jb 0x4649a8
cmp edx, 0xd
jmp 0x4649a2
cmp edx, 0x2028
jb 0x4649a8
cmp edx, 0x2029
jbe case.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464890
jmp 0x4651bb
mov ebx, 1
cmp ecx, ebx
jl 0x4651c2
jmp 0x4649d0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x464abc
test dl, 0x20
jne 0x464a0a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464ab9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464a31
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464ab7
test dl, 8
jne 0x464a54
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 0x464ab7
test dl, 4
jne 0x464a83
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 0x464ab7
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 0x464ace
je 0x464add
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x464ad7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4649d0
jmp 0x4651bb
mov ebx, 1
cmp ecx, ebx
jl 0x4651c2
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x460fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x464bec
test dl, 0x20
jne 0x464b3a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464be9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464b61
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464be7
test dl, 8
jne 0x464b84
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 0x464be7
test dl, 4
jne 0x464bb3
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 0x464be7
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 0x464c01
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x464ee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464b00
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4632ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x464ee6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x464ee6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464c20
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4632ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x464c93
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x464ee6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x464cb8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x464cb8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x464ca0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x464c70
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4632ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x464ee6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x464ee6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464cd3
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4632ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x464d43
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x464ee6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x464d68
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x464d68
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x464d50
inc edi
cmp edi, dword [esi + 0x90]
jle 0x464d20
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4632ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x464ee6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x464ee6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464d83
jmp 0x4651bb
cmp eax, 0xf
ja case.0x467307.9
jmp dword [eax*4 + 0x46bfd4]
mov ebx, 1
cmp ecx, ebx
jl 0x4651c2
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x460fd7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x464e10
push 0
push edi
push eax
push edx
push ecx
call fcn.0046dcf0
add esp, 0x14
test eax, eax
jne case.0x464ee6.14
jmp 0x464e34
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x464e34
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x464e34
cmp edx, 1
je case.0x464ee6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x464ee6.14
cmp dword [ebp + 0x88], 0
je 0x464e6f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x464e6f
cmp dword [ebp + 0x18], 0
jne 0x464e6f
cmp dword [edi], 2
jne 0x464e6f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x464e6f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464de0
jmp 0x4651bb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x464446
cmp dword [ebp + 0x88], ebx
je case.0x464ee6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x464ee6.14
jmp 0x45eeb2
mov edx, 1
cmp ecx, edx
jl 0x4651bb
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4632ad
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x464ee6.14
movzx eax, byte [eax + 0x46c024]
jmp dword [eax*4 + 0x46c014]
cmp ecx, dword [ebp + 0x78]
jae case.0x464ee6.10
cmp byte [ecx], 0xa
jne case.0x464ee6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x464ee6.10
cmp dword [ebp + 0x68], ebx
jne case.0x464ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x464ec0
jmp 0x4651bb
mov edx, 1
cmp ecx, edx
jl 0x4651bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x464ee6.14
cmp ecx, 0x20
je case.0x464ee6.14
cmp ecx, 0xa0
je case.0x464ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x464f23
jmp 0x4651bb
mov edx, 1
cmp ecx, edx
jl 0x4651bb
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x464f99
cmp ecx, 0x20
je 0x464f99
cmp ecx, 0xa0
jne case.0x464ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x464f70
jmp 0x4651bb
mov edx, 1
cmp ecx, edx
jl 0x4651bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x464fe1
cmp ecx, 0xd
jle case.0x464ee6.14
cmp ecx, 0x85
je case.0x464ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x464fb4
jmp 0x4651bb
mov edx, 1
cmp ecx, edx
jl 0x4651bb
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x464ee6.14
cmp ecx, 0xd
jle 0x46502d
cmp ecx, 0x85
jne case.0x464ee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x465000
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
jmp 0x465050
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x464ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465050
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x464ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465090
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x464ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4650d0
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x464ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465110
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
jmp 0x465150
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x464ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465150
jmp 0x4651bb
mov edi, 1
cmp ecx, edi
jl 0x4651c2
jmp 0x465190
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4632ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x464ee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465190
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x45df5a
cmp dword [esp + 0x84], 0
je 0x465222
mov eax, dword [esi + 0x60]
test eax, eax
js 0x465205
cmp eax, 0xa
ja case.0x467307.9
jmp dword [eax*4 + 0x46c0a0]
mov esi, dword [esi]
test esi, esi
je case.default.0x4677d4
mov edi, 0xfffffff2
jmp 0x4677c0
cmp dword [esi + 0x7c], 0x16
je 0x46b3f3
test edx, edx
jne 0x46b3de
mov dword [esi + 0x84], ecx
jmp 0x468655
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x46625b
cmp eax, 0xa
ja case.0x467307.9
jmp dword [eax*4 + 0x46c0cc]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x466248
mov ebx, dword [esp + 0x8c]
jmp 0x465260
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x4652cb
movzx ecx, byte [edx]
test ebx, ebx
je 0x4652ae
cmp ecx, 0xc0
jb 0x4652ae
test cl, 0x20
jne 0x465288
mov eax, 2
jmp 0x4652ae
test cl, 0x10
jne 0x465294
mov eax, 3
jmp 0x4652ae
test cl, 8
jne 0x4652a0
mov eax, 4
jmp 0x4652ae
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x466248
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x465260
jmp 0x466248
cmp dword [ebp + 0x88], 0
je 0x466248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x466248
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x4677c0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x466248
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46548e
movzx ebx, byte [edi]
test edx, edx
je 0x46540c
cmp ebx, 0xc0
jb 0x46540c
test bl, 0x20
jne 0x46536e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x465404
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46538d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x465404
and eax, 0x3f
test bl, 8
jne 0x4653ad
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x465404
test bl, 4
jne 0x4653d6
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 0x465404
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46542e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
cmp eax, 9
je 0x465453
cmp eax, 5
je 0x465453
cmp eax, 8
je 0x465453
xor eax, eax
jmp 0x465458
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x466248
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 0x465330
jmp 0x466248
cmp dword [ebp + 0x88], 0
je 0x466248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466248
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x466248
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edi, 0xfffffff4
jmp 0x4677c0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466248
jmp 0x4654f0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465672
movzx ebx, byte [edi]
test edx, edx
je 0x4655f3
cmp ebx, 0xc0
jb 0x4655f3
test bl, 0x20
jne 0x46553a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4655eb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x465562
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4655eb
and eax, 0x3f
test bl, 8
jne 0x465588
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 0x4655eb
test bl, 4
jne 0x4655b7
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 0x4655eb
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x465615
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x466248
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 0x4654f0
jmp 0x466248
cmp dword [ebp + 0x88], 0
je 0x466248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x4654b3
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466248
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465672
movzx ebx, byte [edi]
test edx, edx
je 0x4657bf
cmp ebx, 0xc0
jb 0x4657bf
test bl, 0x20
jne 0x465706
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4657b7
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46572e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4657b7
and eax, 0x3f
test bl, 8
jne 0x465754
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 0x4657b7
test bl, 4
jne 0x465783
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 0x4657b7
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4657e1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x466248
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 0x4656c0
jmp 0x466248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466248
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465672
movzx ebx, byte [edi]
test edx, edx
je 0x465953
cmp ebx, 0xc0
jb 0x465953
test bl, 0x20
jne 0x46589a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x46594b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4658c2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x46594b
and eax, 0x3f
test bl, 8
jne 0x4658e8
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 0x46594b
test bl, 4
jne 0x465917
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 0x46594b
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x465975
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e200]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x466248
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 0x465850
jmp 0x466248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x466248
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46548e
movzx ebx, byte [edi]
test edx, edx
je 0x465ac3
cmp ebx, 0xc0
jb 0x465ac3
test bl, 0x20
jne 0x465a22
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x465abb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x465a44
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x465abb
and eax, 0x3f
test bl, 8
jne 0x465a64
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x465abb
test bl, 4
jne 0x465a8d
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 0x465abb
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x465ae5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x465b0c
cmp eax, 3
je 0x465b0c
xor eax, eax
jmp 0x465b11
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x466248
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 0x4659e4
jmp 0x466248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466248
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465672
movzx ebx, byte [edi]
test edx, edx
je 0x465c6d
cmp ebx, 0xc0
jb 0x465c6d
test bl, 0x20
jne 0x465bb2
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x465c6d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x465bda
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x465c63
and eax, 0x3f
test bl, 8
jne 0x465c00
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 0x465c63
test bl, 4
jne 0x465c2f
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 0x465c63
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 0x465cb0
je case.0x465cd0.8192
cmp ebx, 0x85
ja 0x465c9c
je case.0x465cd0.8192
cmp ebx, 9
jb case.0x465cd0.8203
cmp ebx, 0xd
jbe case.0x465cd0.8192
cmp ebx, 0x20
jmp 0x465ce5
cmp ebx, 0xa0
je case.0x465cd0.8192
cmp ebx, 0x1680
jmp 0x465ce5
cmp ebx, 0x202f
ja 0x465cd7
je case.0x465cd0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x465cd0.8203
movzx eax, byte [eax + 0x46c100]
jmp dword [eax*4 + 0x46c0f8]
cmp ebx, 0x205f
je case.0x465cd0.8192
cmp ebx, 0x3000
je case.0x465cd0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x465d09
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
cmp dword [eax*4 + 0x50e010], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x466248
mov edx, dword [esp + 0x8c]
jmp 0x465d44
cmp dword [esi + 0x68], 0
jne 0x466248
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 0x465b60
jmp 0x466248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466248
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465672
movzx ebx, byte [edi]
test edx, edx
je 0x465e93
cmp ebx, 0xc0
jb 0x465e93
test bl, 0x20
jne 0x465dda
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x465e8b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x465e02
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x465e8b
and eax, 0x3f
test bl, 8
jne 0x465e28
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 0x465e8b
test bl, 4
jne 0x465e57
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 0x465e8b
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 + 0x50f880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x465eb6
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x465ee2
cmp eax, 3
je 0x465ee2
cmp ebx, 0x5f
je 0x465ee2
xor eax, eax
jmp 0x465ee7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x466248
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 0x465d90
jmp 0x466248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x466248
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46607f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x466021
cmp edx, 0xc0
jb 0x466021
test dl, 0x20
jne 0x465f84
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x466019
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x465fa3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x466019
and eax, 0x3f
test dl, 8
jne 0x465fc3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x466019
test dl, 4
jne 0x465fec
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 0x466019
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 + 0x50e0c0]
lea eax, [eax*4 + 0x50e0c0]
cmp edx, ecx
jb 0x466043
lea eax, [eax + 4]
cmp edx, ecx
je 0x466073
mov ecx, dword [eax]
cmp edx, ecx
jae 0x466036
cmp dword [esi + 0x68], 0
je 0x466248
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 0x465f40
jmp 0x466248
cmp dword [esi + 0x68], 0
jne 0x466248
jmp 0x46604d
cmp dword [ebp + 0x88], 0
je 0x466248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466248
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x466248
jmp 0x45eec6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x466248
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x466220
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4661d7
cmp edx, 0xc0
jb 0x4661d7
test dl, 0x20
jne 0x46610d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4661d7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x466137
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 0x4661d7
test dl, 8
jne 0x466163
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 0x4661d7
test dl, 4
jne 0x46619b
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 0x4661d7
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 0x466202
cmp edx, 0x40
je 0x466202
cmp edx, 0x60
je 0x466202
cmp edx, 0xa0
jb 0x4661f6
cmp edx, 0xd7ff
jbe 0x466202
cmp edx, 0xe000
jae 0x466202
xor ecx, ecx
jmp 0x466207
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x466248
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4660c1
jmp 0x466248
cmp dword [ebp + 0x88], 0
je 0x466248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
je 0x46a6fc
jmp 0x45df5a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4665f7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x4665a8
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x466580
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x466380
cmp ebx, 0xc0
jb 0x466380
test bl, 0x20
jne 0x4662c9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x46637d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4662f0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x466376
test bl, 8
jne 0x466313
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 0x466376
test bl, 4
jne 0x466342
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 0x466376
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4663a2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e202]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46653d
jmp 0x4663d0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x4664ce
cmp ebx, 0xc0
jb 0x4664ce
test bl, 0x20
jne 0x466405
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4664c6
test bl, 0x10
jne 0x46642a
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 0x4664c6
test bl, 8
jne 0x466458
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 0x4664c6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x466492
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 0x4664c6
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4664f0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx ecx, byte [eax*8 + 0x50e202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e088], eax
je 0x466536
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 0x4663d0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x46656a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x46656a
cmp eax, dword [ebp + 0x84]
jbe 0x46656a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x466280
jmp 0x4665a8
cmp dword [ebp + 0x88], 0
je 0x4665a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4665a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
cmp dword [esp + 0x80], 0
jne 0x45df5a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bb25
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb1b
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
add eax, 0xfffffffa
test edx, edx
je 0x4672fe
cmp eax, 0xf
ja case.0x467307.9
jmp dword [eax*4 + 0x46c12c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4666e6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x466659
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046dcf0
add esp, 0x14
test eax, eax
jne 0x4672eb
jmp 0x46667d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x46667d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x46667d
cmp edx, 1
je 0x4672eb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4672eb
cmp dword [ebp + 0x88], 0
je 0x4666b8
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4666b8
cmp dword [ebp + 0x18], 0
jne 0x4666b8
cmp dword [edi], 2
jne 0x4666b8
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4666b8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4666d4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4666d4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4666c3
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x466624
jmp 0x4672eb
cmp dword [ebp + 0x88], 0
je 0x4672eb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4672eb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4672eb
jmp 0x45eec6
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x466778
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4672eb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4666e6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x46676a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46676a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x466752
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x466740
jmp 0x4672eb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4672eb
cmp eax, dword [ebp + 0x84]
jbe 0x4672eb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4672eb
jmp 0x4654b9
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 0x4667ff
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4672eb
cmp edx, dword [ebp + 0x84]
jbe 0x4672eb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4672eb
jmp 0x45eec6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4672eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4666e6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x46692a
test dl, 0x20
jne 0x46685e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x46692a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x466888
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 0x466928
test dl, 8
jne 0x4668b4
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 0x466928
test dl, 4
jne 0x4668ec
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 0x466928
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 0x466946
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4672eb
cmp byte [eax], 0xa
jne 0x466980
inc eax
jmp 0x46697d
cmp edx, 0xa
je 0x46697b
cmp dword [ebp + 0x68], 0
jne 0x4672eb
cmp edx, 0xb
je 0x46697b
cmp edx, 0xc
je 0x46697b
cmp edx, 0x85
je 0x46697b
cmp edx, 0x2028
je 0x46697b
cmp edx, 0x2029
jne 0x4672eb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x466820
jmp 0x4672eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466a78
test dl, 0x20
jne 0x4669da
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x466a70
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4669f9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x466a70
and eax, 0x3f
test dl, 8
jne 0x466a19
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x466a70
test dl, 4
jne 0x466a42
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 0x466a70
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 0x466a9e
je 0x466acc
cmp edx, 0xa0
ja 0x466a96
je 0x466acc
cmp edx, 9
je 0x466acc
cmp edx, 0x20
jmp 0x466ac6
cmp edx, 0x1680
jmp 0x466ac6
cmp edx, 0x205f
ja 0x466ac0
je 0x466acc
cmp edx, 0x2000
jb 0x466ac8
cmp edx, 0x200a
jbe 0x466acc
cmp edx, 0x202f
jmp 0x466ac6
cmp edx, 0x3000
je 0x466acc
xor edx, edx
jmp 0x466ad1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x4672eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4669a4
jmp 0x4672eb
cmp dword [ebp + 0x88], 0
je 0x4672eb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4672eb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4672eb
jmp 0x45eec6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466c10
test dl, 0x20
jne 0x466b72
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x466c08
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466b91
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x466c08
and eax, 0x3f
test dl, 8
jne 0x466bb1
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x466c08
test dl, 4
jne 0x466bda
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 0x466c08
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 0x466c4f
je 0x466c5a
cmp edx, 0xa
jb 0x466c24
cmp edx, 0xd
jbe 0x466c5a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x4672eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466b40
jmp 0x4672eb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x466c24
mov edx, 1
jmp 0x466c26
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466d47
test dl, 0x20
jne 0x466ca9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x466d3f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466cc8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x466d3f
and eax, 0x3f
test dl, 8
jne 0x466ce8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x466d3f
test dl, 4
jne 0x466d11
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 0x466d3f
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 0x466d5c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4672eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466c73
jmp 0x4672eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
jmp 0x466d90
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466e64
test dl, 0x20
jne 0x466dc6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x466e5c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466de5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x466e5c
and eax, 0x3f
test dl, 8
jne 0x466e05
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x466e5c
test dl, 4
jne 0x466e2e
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 0x466e5c
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 0x4672eb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4672eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466d90
jmp 0x4672eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
jmp 0x466eb0
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466f84
test dl, 0x20
jne 0x466ee6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x466f7c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466f05
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x466f7c
and eax, 0x3f
test dl, 8
jne 0x466f25
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x466f7c
test dl, 4
jne 0x466f4e
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 0x466f7c
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 0x466f99
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4672eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466eb0
jmp 0x4672eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467097
test dl, 0x20
jne 0x466ff9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46708f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x467018
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46708f
and eax, 0x3f
test dl, 8
jne 0x467038
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46708f
test dl, 4
jne 0x467061
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 0x46708f
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 0x4672eb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4672eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466fc3
jmp 0x4672eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4671b4
test dl, 0x20
jne 0x467116
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4671ac
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x467135
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4671ac
and eax, 0x3f
test dl, 8
jne 0x467155
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4671ac
test dl, 4
jne 0x46717e
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 0x4671ac
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 0x4671c9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4672eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4670e0
jmp 0x4672eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4672eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466afa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4672c7
test dl, 0x20
jne 0x467229
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4672bf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x467248
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4672bf
and eax, 0x3f
test dl, 8
jne 0x467268
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4672bf
test dl, 4
jne 0x467291
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 0x4672bf
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 0x4672eb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4672eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4671f3
cmp dword [esp + 0x80], 0
je 0x469bb8
jmp 0x45df5a
cmp eax, 0xf
ja case.0x467307.9
jmp dword [eax*4 + 0x46c16c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x467797
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4673c4
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x467350
push 0
push edi
push eax
push edx
push ecx
call fcn.0046dcf0
add esp, 0x14
test eax, eax
jne 0x467797
jmp 0x467374
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x467374
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x467374
cmp edx, 1
je 0x467797
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x467797
cmp dword [ebp + 0x88], 0
je 0x4673af
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4673af
cmp dword [ebp + 0x18], 0
jne 0x4673af
cmp dword [edi], 2
jne 0x4673af
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4673af
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x467320
jmp 0x467797
cmp dword [ebp + 0x88], 0
je 0x467797
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x467797
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x467797
jmp 0x45eec6
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 0x467448
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x467797
cmp edx, dword [ebp + 0x84]
jbe 0x467797
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x467797
jmp 0x45eec6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x467797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467797
jmp 0x467470
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4673c4
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x46749b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x467797
cmp byte [eax], 0xa
jne 0x4674c5
inc eax
jmp 0x4674c2
cmp eax, 0xa
je 0x4674bf
cmp dword [ebp + 0x68], 0
jne 0x467797
cmp eax, 0xb
je 0x4674bf
cmp eax, 0xc
je 0x4674bf
cmp eax, 0x85
jne 0x467797
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x467470
jmp 0x467797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467797
jmp 0x4674f0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4673c4
mov al, byte [ecx]
cmp al, 9
je 0x467797
cmp al, 0x20
je 0x467797
cmp al, 0xa0
je 0x467797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4674f0
jmp 0x467797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467797
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4673c4
mov al, byte [ecx]
cmp al, 9
je 0x46755e
cmp al, 0x20
je 0x46755e
cmp al, 0xa0
jne 0x467797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x467540
jmp 0x467797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467797
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4673c4
mov al, byte [ecx]
cmp al, 0xa
jb 0x4675a6
cmp al, 0xd
jbe 0x467797
cmp al, 0x85
je 0x467797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x467584
jmp 0x467797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467797
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4673c4
mov al, byte [ecx]
cmp al, 0xa
jb 0x467797
cmp al, 0xd
jbe 0x4675f2
cmp al, 0x85
jne 0x467797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4675d0
jmp 0x467797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467797
jmp 0x467620
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4673c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x467797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x467620
jmp 0x467797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467797
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4673c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x467797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x467662
jmp 0x467797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467797
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4673c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x467797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4676a4
jmp 0x467797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467797
jmp 0x4676f0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4673c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x467797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4676f0
jmp 0x467797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467797
jmp 0x467730
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4673c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x467797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x467730
jmp 0x467797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467797
jmp 0x467770
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4673c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x467797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x467770
cmp dword [esp + 0x80], 0
je 0x4687fa
jmp 0x45df5a
mov esi, dword [esi]
test esi, esi
je 0x46bc71
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.0x4677d4
jmp dword [eax*4 + 0x46c1ac]
cmp edi, 0xfffffc1b
je 0x4678a6
cmp edi, 0xfffffc20
jne 0x467823
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.0x4677d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x46781f
cmp byte [ecx], 0x77
jne case.0x4677d4.49
xor edi, edi
jmp 0x46782b
test edi, edi
jne case.0x4677d4.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 0x4678a6
cmp dword [esi + 0x9c], 0x88
jb 0x467871
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b5fa
push 0x134
call dword [0x15e3bec]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b5f0
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x467c9c
mov edx, dword [esp + 0x8c]
jmp 0x4677c4
cmp edi, 0xfffffc20
jne 0x467963
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 0x4679b1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x46792e
cmp byte [ecx], 0x77
jne 0x4679b1
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 0x4679c7
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677c4
test edi, edi
je 0x46792e
cmp edi, 0xfffffc1b
jne 0x4679b1
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x4679a3
cmp al, 0x77
jne 0x467994
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 0x467980
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 0x467c9c
mov edx, dword [esp + 0x8c]
jmp 0x4677c4
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x467a19
cmp eax, 0x81
je 0x467a19
cmp dword [ebp + 0x6c], 0
jne 0x467a23
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 0x467a23
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x50def8]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x45dee0
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 0x46b61c
push 0x134
call dword [0x15e3bec]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b612
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
cmp edi, 1
jne 0x467ae3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x467a80
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x467a93
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 0x467ac9
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 0x467ab0
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x50def8]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x45e38e.145
test edi, edi
je 0x467af3
cmp edi, 0xfffffc20
jne case.0x4677d4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x467b09
movzx eax, byte [edx + 0x50def8]
jmp 0x467b0c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x467b29
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x45df61
cmp dword [esi + 0x9c], 0x8c
jne 0x45dee0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b63e
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b634
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
cmp edi, 1
je 0x467c22
cmp edi, 0xfffffc19
je 0x467c22
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x467bca
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.0x4677d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x467bd2
cmp byte [ecx], 0x77
jmp 0x467bcc
test edi, edi
jne case.0x4677d4.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 0x467c28
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b657
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b64d
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x467c41
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677c4
cmp dword [esi + 0x58], 0
je 0x46b27e
mov esi, dword [esi]
test esi, esi
je 0x46bc16
mov edi, 1
jmp 0x4677c4
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x467d0d
je 0x467ca6
cmp edi, 0xfffffc19
je 0x468543
cmp edi, 0xfffffc1b
jle case.0x4677d4.49
cmp edi, 0xfffffc1f
jle 0x467cce
mov esi, dword [esi]
test esi, esi
jne 0x4677c4
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 0x467cce
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x467d20
cmp byte [ecx], 0x77
je 0x467d20
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 0x467cd1
cmp dword [esi + 0x58], 0
je 0x467f57
mov esi, dword [esi]
test esi, esi
je 0x46bc16
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x4677c4
mov eax, edi
sub eax, 0
je 0x467d20
dec eax
je 0x468543
jmp case.0x4677d4.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 0x467ce8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b66d
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b663
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
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 0x46b2ac
cmp edi, 0xfffffc19
je 0x46b2ac
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x467dd9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45ed5b
push ecx
call dword [0x15e3be8]
add esp, 4
jmp 0x45ed5b
test edi, edi
je 0x467e03
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x467df4
push ecx
call dword [0x15e3be8]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x467c9c
jmp 0x4677b9
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 0x467e69
cmp dword [esi + 0x58], 0
je 0x467e34
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b6b3
push 0x134
call dword [0x15e3bec]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b6a9
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x467db9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x467ec3
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b701
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b6f7
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4677c4
cmp al, 0x88
jb 0x46b404
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b723
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b719
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4677c4
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x46bc23
mov edi, 0xfffffc1b
jmp 0x4677c4
test edi, edi
jne case.0x4677d4.49
mov edx, dword [esi + 0x2c]
jmp 0x467f40
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 0x467f40
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45df5a
test edi, edi
je 0x45f7d4
jmp case.0x4677d4.49
test edi, edi
je 0x467f0f
jmp case.0x4677d4.49
cmp edi, 0xfffffc1b
jne 0x467f8b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x467f8d
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x468d7b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b745
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b73b
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4677c4
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468000
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0046c400
add esp, 0x14
test eax, eax
jns 0x468067
cmp eax, 0xfffffffe
jne 0x468029
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x469b41
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x469b41
cmp eax, dword [ebp + 0x84]
jbe 0x469b41
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x460d7e
jmp 0x469b41
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b76a
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b760
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x4677c4
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x464ee6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b783
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b779
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468127
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469c26
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 0x469b41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b79c
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b792
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x45ed5b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b7b5
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b7ab
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468201
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469c26
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x468231
cmp dword [esi + 0x94], ecx
je 0x468231
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677c4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b7ce
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b7c4
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
dec dword [esi + 8]
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b7e7
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b7dd
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4682e1
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469c26
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x469b41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b800
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b7f6
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
dec dword [esi + 8]
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b819
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b80f
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4683ae
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469c26
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x468543
cmp dword [esi + 0x94], ecx
je 0x468543
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b832
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b828
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b84b
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b841
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468485
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469c26
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x469b41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b861
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b857
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b877
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b86d
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468554
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677c4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x46859b
cmp dword [ebp + 0x88], 0
je 0x468583
cmp ecx, dword [ebp + 0x84]
jbe 0x468583
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x460d7e
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4677c4
cmp dword [esi + 0x7c], 0xc
jne 0x4685c2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4685e4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046dcf0
add esp, 0x14
test eax, eax
jne 0x468601
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.0x4685dd.15
jmp dword [eax*4 + 0x46c2b8]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4685c2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4685c2
cmp edi, 1
je 0x468601
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4685c2
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4677c4
cmp dword [ebp + 0x88], 0
je case.0x4685dd.13
cmp edx, dword [ebp + 0x78]
jb case.0x4685dd.13
cmp dword [ebp + 0x18], 0
jne case.0x4685dd.13
cmp dword [ebp + 0x1c], 2
jne case.0x4685dd.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4685dd.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x460d7e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b88d
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b883
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46869d.14
movzx eax, byte [ecx + 0x46c308]
jmp dword [eax*4 + 0x46c2f8]
cmp edx, dword [ebp + 0x78]
jae case.0x4685dd.13
cmp byte [edx], 0xa
jne case.0x4685dd.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4685dd.13
cmp dword [ebp + 0x68], 0
je case.0x4685dd.13
jmp case.0x46869d.14
cmp ecx, 9
je case.0x46869d.14
cmp ecx, 0x20
je case.0x46869d.14
cmp ecx, 0xa0
jmp 0x46879a
cmp ecx, 9
je case.0x4685dd.13
cmp ecx, 0x20
je case.0x4685dd.13
cmp ecx, 0xa0
je case.0x4685dd.13
jmp case.0x46869d.14
cmp ecx, 0xa
jb case.0x4685dd.13
cmp ecx, 0xd
jbe case.0x46869d.14
cmp ecx, 0x85
jmp 0x46879a
cmp ecx, 0xa
jb case.0x46869d.14
cmp ecx, 0xd
jbe case.0x4685dd.13
cmp ecx, 0x85
je case.0x4685dd.13
jmp case.0x46869d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4685dd.13
jmp case.0x46869d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x46879a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4685dd.13
jmp case.0x46869d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x46879a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4685dd.13
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4677c4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4685dd.13
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4677c4
mov esi, dword [esi]
test esi, esi
je case.default.0x4677d4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4677c4
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x4687fa
cmp eax, dword [esi + 0x30]
jbe 0x4687fa
cmp byte [eax], 0xa
jne 0x4687fa
cmp byte [eax - 1], 0xd
jne 0x4687fa
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b8a3
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b899
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
cmp edi, 0xfffffc1a
jne 0x468891
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 0x468889
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 0x468870
jmp 0x4688e8
mov dword [esi + 8], eax
jmp 0x46890d
cmp edi, 0xfffffc20
jne 0x4688c5
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.0x4677d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4688cd
cmp byte [ecx], 0x77
jmp 0x4688c7
test edi, edi
jne case.0x4677d4.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 0x468901
cmp dword [esi + 0x5c], 0
jne 0x467f57
cmp dword [esi + 0x54], 0
jne 0x467f57
jmp 0x469b41
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x468923
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b8e5
push 0x134
call dword [0x15e3bec]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b8db
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
mov esi, dword [esi]
test edi, edi
jne 0x467c94
test esi, esi
je 0x46bc3d
mov edi, 0xfffffc1c
jmp 0x4677c4
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46bc57
mov edi, 0xfffffc1e
jmp 0x4677c4
cmp edi, 1
je 0x4689a3
cmp edi, 0xfffffc19
jne 0x4689bd
cmp dword [ebp + 0xac], 0
jne 0x4689bd
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x4679b1
cmp edi, 0xfffffc1f
jne 0x4679b1
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4689f2
test dl, dl
je 0x4689ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4689f2
add eax, 2
add ecx, 2
test dl, dl
jne 0x4689d2
xor eax, eax
jmp 0x4689f7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4679b1
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46bc57
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x4677c4
cmp edi, 1
je 0x468a2d
cmp edi, 0xfffffc19
jne case.0x4677d4.51
cmp dword [ebp + 0xac], 0
jne case.0x4677d4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x467c94
test esi, esi
je 0x46bc30
mov edi, 0xfffffc1d
jmp 0x4677c4
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46bc64
mov edi, 0xfffffc1f
jmp 0x4677c4
cmp edi, 1
je 0x468a90
cmp edi, 0xfffffc19
jne case.0x4677d4.54
cmp dword [ebp + 0xac], 0
jne case.0x4677d4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46bc4a
mov edi, 0xfffffc20
jmp 0x4677c4
cmp edi, 0xfffffc1a
jne 0x468b31
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 0x468b29
mov edx, dword [esi + 0xc]
jmp 0x468b10
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 0x468b10
jmp 0x468b98
mov dword [esi + 8], eax
jmp 0x45ea92
cmp edi, 0xfffffc20
jne 0x468b65
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.0x4677d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x468b6d
cmp byte [ecx], 0x77
jmp 0x468b67
test edi, edi
jne case.0x4677d4.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 0x45ea92
cmp dword [esi + 0x5c], 0
jne 0x468bd8
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 0x45df56
cmp dword [esi + 0x5c], 0
jne 0x45df56
jmp 0x469b41
cmp edi, 1
jne 0x468c94
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x468c11
cmp al, 0x77
jne 0x469b41
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 0x468c11
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 0x45df56
cmp ecx, dword [esi + 0x38]
je 0x45df56
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x468d2d
test ecx, ecx
jne 0x46b94e
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b944
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4677c4
cmp edi, 0xfffffc20
jne 0x468cc8
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.0x4677d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x468cd0
cmp byte [ecx], 0x77
jmp 0x468cca
test edi, edi
jne case.0x4677d4.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 0x468c00
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b929
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b91f
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test ecx, ecx
jne 0x46b973
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b969
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4677c4
test edi, edi
je 0x46b404
jmp case.0x4677d4.49
test edi, edi
jne case.0x4677d4.49
add dword [esi + 0xc], 3
jmp 0x45dee0
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468da9
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x468eaa
cmp ebx, 0xc0
jb 0x468eaa
test bl, 0x20
jne 0x468deb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x468ea7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x468e15
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x468eaa
mov edx, dword [esi + 8]
test bl, 8
jne 0x468e3b
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 0x468e9e
test bl, 4
jne 0x468e6a
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 0x468e9e
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.0046d680
add esp, 0xc
test eax, eax
je 0x45ed5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b995
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b98b
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x469b41
cmp dword [esp + 0x8c], edi
je 0x468f31
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x468f31
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x468f25
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b9ae
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b9a4
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468f8b
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x469080
test bl, 0x20
jne 0x468fc5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46907d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x468fef
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x469080
mov edx, dword [esi + 8]
test bl, 8
jne 0x469018
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 0x46907b
test bl, 4
jne 0x469047
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 0x46907b
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 0x469096
cmp dword [esi + 0x9c], 0x6e
jne 0x4690b3
jmp 0x45ed5b
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 0x45ed5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b9c7
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b9bd
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x45ed5b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x46911c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x469110
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b9e0
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b9d6
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469176
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
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 0x4691e5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4691a5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4691aa
add ecx, 4
add edx, 4
sub edi, 4
jae 0x469194
cmp edi, 0xfffffffc
je 0x4691d7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4691e2
cmp edi, 0xfffffffd
je 0x4691d7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4691e2
cmp edi, 0xfffffffe
je 0x4691d7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4691e2
cmp edi, 0xffffffff
je 0x4691d7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4691e2
mov eax, dword [esi + 0x88]
jmp 0x469250
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x469290
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x469290
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x469217
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46921c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x469206
cmp edi, 0xfffffffc
je 0x46924d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x469290
cmp edi, 0xfffffffd
je 0x46924d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x469290
cmp edi, 0xfffffffe
je 0x46924d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x469290
cmp edi, 0xffffffff
je 0x46924d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x469290
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 0x46b9f9
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b9ef
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
cmp dword [ebp + 0x88], 0
je case.0x464ee6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x464ee6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x464ee6.14
jmp 0x45eeb2
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4692dc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4692d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba12
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba08
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469342
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x469442
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x46937c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46943f
test dl, 0x10
jne 0x46939e
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 0x469442
mov ecx, dword [esi + 8]
test dl, 8
jne 0x4693ce
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 0x46943f
test dl, 4
jne 0x469404
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 0x46943f
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 0x468601
cmp dword [esi + 0x94], edx
je 0x468601
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x469489
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x468095
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x46b8ad
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4694bc
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4694b0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba2b
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba21
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469522
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x469617
test bl, 0x20
jne 0x46955c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469614
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469586
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x469617
mov edx, dword [esi + 8]
test bl, 8
jne 0x4695af
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 0x469612
test bl, 4
jne 0x4695de
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 0x469612
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 0x45ed5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba44
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba3a
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x469680
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x469674
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba5d
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba53
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4696e6
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x469722
cmp dword [ebp + 0x88], 0
je 0x469b41
cmp ecx, dword [ebp + 0x84]
jbe 0x469b41
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x460d7e
jmp 0x469b41
cmp dword [esi + 0x7c], 0xc
jne 0x469774
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x46974f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046dcf0
add esp, 0x14
test eax, eax
jne 0x469b41
jmp 0x469774
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x469774
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x469774
cmp edi, 1
je 0x469b41
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x469b41
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46985c
test dl, 0x20
jne 0x4697a7
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x469859
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4697ce
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x469857
test dl, 8
jne 0x4697f4
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 0x469857
test dl, 4
jne 0x469823
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 0x469857
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.0x46986b.15
jmp dword [eax*4 + 0x46c384]
cmp dword [ebp + 0x88], 0
je case.0x46986b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x46986b.13
cmp dword [ebp + 0x18], 0
jne case.0x46986b.13
cmp dword [ebp + 0x1c], 2
jne case.0x46986b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x46986b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x46986b.13
jmp 0x460d7e
cmp edx, 0xd
ja 0x4698ee
je 0x4698db
cmp edx, 0xa
je case.0x46986b.13
jbe 0x469b41
cmp edx, 0xc
jmp 0x469908
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x46986b.13
cmp byte [eax], 0xa
jne case.0x46986b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x46986b.13
cmp edx, 0x85
je 0x46990e
cmp edx, 0x2027
jbe 0x469b41
cmp edx, 0x2029
ja 0x469b41
cmp dword [ebp + 0x68], 0
je case.0x46986b.13
jmp 0x469b41
cmp edx, 0x180e
ja 0x46998d
je 0x469b41
cmp edx, 0xa0
ja 0x469985
je 0x469b41
cmp edx, 9
je 0x469b41
cmp edx, 0x20
je 0x469b41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x469976
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x468095
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x46b8ad
cmp edx, 0x1680
jmp 0x469941
cmp edx, 0x205f
ja 0x4699b7
je 0x469b41
cmp edx, 0x2000
jb case.0x46986b.13
cmp edx, 0x200a
jbe 0x469b41
cmp edx, 0x202f
jmp 0x469941
cmp edx, 0x3000
jmp 0x469b3b
cmp edx, 0x180e
ja 0x4699f4
je case.0x46986b.13
cmp edx, 0xa0
ja 0x4699ec
je case.0x46986b.13
cmp edx, 9
je case.0x46986b.13
cmp edx, 0x20
jmp 0x469a28
cmp edx, 0x1680
jmp 0x469a28
cmp edx, 0x205f
ja 0x469a22
je case.0x46986b.13
cmp edx, 0x2000
jb 0x469b41
cmp edx, 0x200a
jbe case.0x46986b.13
cmp edx, 0x202f
jmp 0x469a28
cmp edx, 0x3000
je case.0x46986b.13
jmp 0x469b41
cmp edx, 0x85
ja 0x469a58
je 0x469b41
cmp edx, 0xa
jb case.0x46986b.13
cmp edx, 0xd
jbe 0x469b41
jmp case.0x46986b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x46986b.13
jmp 0x469b41
cmp edx, 0x85
ja 0x469a88
je case.0x46986b.13
cmp edx, 0xa
jb 0x469b41
cmp edx, 0xd
jmp 0x469a91
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x46986b.13
jmp 0x469b41
cmp edx, 0x100
jae case.0x46986b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x46986b.13
jmp 0x469b41
cmp edx, 0x100
jae 0x469b41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x469b3b
cmp edx, 0x100
jae case.0x46986b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x46986b.13
jmp 0x469b41
cmp edx, 0x100
jae 0x469b41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x469b3b
cmp edx, 0x100
jae case.0x46986b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x46986b.13
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4677c4
cmp edx, 0x100
jae 0x469b41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x46986b.13
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4677c4
mov esi, dword [esi]
test esi, esi
je case.default.0x4677d4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4677c4
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x469b9c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x469b90
cmp dword [esi + 0x7c], 0x11
jne 0x469bb8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x469bb8
cmp byte [eax], 0xa
jne 0x469bb8
dec eax
cmp byte [eax], 0xd
jne 0x469bb8
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba76
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba6c
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469c1e
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x469c3e
cmp dword [ebp + 0x88], 0
je 0x468543
cmp eax, dword [ebp + 0x84]
jmp 0x46a399
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x469c7d
cmp ecx, 0xc0
jb 0x469c7d
test cl, 0x20
jne 0x469c59
inc eax
jmp 0x469c7a
test cl, 0x10
jne 0x469c63
add eax, 2
jmp 0x469c7a
test cl, 8
jne 0x469c6d
add eax, 3
jmp 0x469c7a
test cl, 4
jne 0x469c77
add eax, 4
jmp 0x469c7a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x469c94
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
xor edi, edi
jmp 0x4677c4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x469cc3
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x468095
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x46b8ad
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469cf7
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x469df1
cmp ebx, 0xc0
jb 0x469df1
test bl, 0x20
jne 0x469d39
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469dee
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469d63
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x469df1
mov edx, dword [esi + 8]
test bl, 8
jne 0x469d89
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 0x469dec
test bl, 4
jne 0x469db8
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 0x469dec
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x469e13
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
cmp eax, 9
je 0x469e38
cmp eax, 5
je 0x469e38
cmp eax, 8
je 0x469e38
xor eax, eax
jmp 0x469e3d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45ed5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba8f
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba85
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469ea6
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x469f9c
cmp ebx, 0xc0
jb 0x469f9c
test bl, 0x20
jne 0x469ee8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469f99
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469f10
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x469f9c
mov edx, dword [esi + 8]
test bl, 8
jne 0x469f36
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 0x469f99
test bl, 4
jne 0x469f65
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 0x469f99
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x469fbe
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45ed5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46baa8
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba9e
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a048
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a13e
cmp ebx, 0xc0
jb 0x46a13e
test bl, 0x20
jne 0x46a08a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a13b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a0b2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46a13e
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a0d8
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 0x46a13b
test bl, 4
jne 0x46a107
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 0x46a13b
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a160
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45ed5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bac1
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bab7
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a1e3
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a2d9
cmp ebx, 0xc0
jb 0x46a2d9
test bl, 0x20
jne 0x46a225
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a2d6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a24d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46a2d9
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a273
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 0x46a2d6
test bl, 4
jne 0x46a2a2
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 0x46a2d6
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a2fb
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e200]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45ed5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bada
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bad0
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a37e
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x46a3c7
cmp dword [ebp + 0x88], 0
je 0x468543
cmp edi, dword [ebp + 0x84]
jbe 0x468543
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x468543
mov esi, dword [esi]
test esi, esi
je 0x46bbfc
mov edi, 0xfffffff4
jmp 0x4677c4
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a4b5
cmp ebx, 0xc0
jb 0x46a4b5
test bl, 0x20
jne 0x46a3fd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a4b2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a427
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46a4b5
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a44d
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 0x46a4b0
test bl, 4
jne 0x46a47c
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 0x46a4b0
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a4d7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e202]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46a668
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x46a607
cmp ebx, 0xc0
jb 0x46a607
test bl, 0x20
jne 0x46a53b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x46a5ff
test bl, 0x10
jne 0x46a560
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 0x46a5ff
test bl, 8
jne 0x46a591
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 0x46a5ff
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x46a5cb
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 0x46a5ff
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a629
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx ecx, byte [eax*8 + 0x50e202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e088], eax
je 0x46a668
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x46a500
cmp dword [ebp + 0x88], 0
je 0x46a695
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x46a695
cmp eax, dword [ebp + 0x84]
jbe 0x46a695
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45eec6
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46baf3
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bae9
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x46a6fc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46a6fc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46a6f0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45dee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bb0c
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb02
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x46a757
movzx ebx, byte [ecx]
jmp 0x46a845
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46a76c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46a760
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x46a845
test bl, 0x20
jne 0x46a78f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x46a83d
test bl, 0x10
jne 0x46a7af
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 0x46a83d
test bl, 8
jne 0x46a7d8
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 0x46a83d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x46a80d
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 0x46a83d
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a867
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e202]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x45dee0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x46a89f
movzx ebx, byte [edi]
jmp 0x46a95e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x46a8b1
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x46a8a7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x46a95e
test bl, 0x20
jne 0x46a8d1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x46a956
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46a8ee
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x46a956
and eax, 0x3f
test bl, 8
jne 0x46a909
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x46a956
test bl, 4
jne 0x46a92d
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 0x46a956
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a980
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx edx, byte [eax*8 + 0x50e202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e088], eax
je 0x4665b6
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x46a880
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a9e1
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46aadb
cmp ebx, 0xc0
jb 0x46aadb
test bl, 0x20
jne 0x46aa23
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46aad8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46aa4d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46aadb
mov edx, dword [esi + 8]
test bl, 8
jne 0x46aa73
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 0x46aad6
test bl, 4
jne 0x46aaa2
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 0x46aad6
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 + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46aafd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x46ab24
cmp eax, 3
je 0x46ab24
xor eax, eax
jmp 0x46ab29
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45ed5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bb3e
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb34
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46ab92
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46ac93
cmp ebx, 0xc0
jb 0x46ac93
test bl, 0x20
jne 0x46abd4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46ac90
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46abfe
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46ac93
mov edx, dword [esi + 8]
test bl, 8
jne 0x46ac24
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 0x46ac87
test bl, 4
jne 0x46ac53
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 0x46ac87
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 0x46acbe
cmp ebx, 0x40
je 0x46acbe
cmp ebx, 0x60
je 0x46acbe
cmp ebx, 0xa0
jb 0x46acb2
cmp ebx, 0xd7ff
jbe 0x46acbe
cmp ebx, 0xe000
jae 0x46acbe
xor eax, eax
jmp 0x46acc3
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45f6a2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bb57
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb4d
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46ad2c
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46ae2d
cmp ebx, 0xc0
jb 0x46ae2d
test bl, 0x20
jne 0x46ad6e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46ae2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46ad98
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46ae2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x46adbe
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 0x46ae21
test bl, 4
jne 0x46aded
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 0x46ae21
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 0x46ae70
je case.0x46ae90.8192
cmp ebx, 0x85
ja 0x46ae5c
je case.0x46ae90.8192
cmp ebx, 9
jb case.0x46ae90.8203
cmp ebx, 0xd
jbe case.0x46ae90.8192
cmp ebx, 0x20
jmp 0x46aea5
cmp ebx, 0xa0
je case.0x46ae90.8192
cmp ebx, 0x1680
jmp 0x46aea5
cmp ebx, 0x202f
ja 0x46ae97
je case.0x46ae90.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x46ae90.8203
movzx eax, byte [eax + 0x46c3cc]
jmp dword [eax*4 + 0x46c3c4]
cmp ebx, 0x205f
je case.0x46ae90.8192
cmp ebx, 0x3000
je case.0x46ae90.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f880]
shl eax, 7
and ebx, 0x8000007f
jns 0x46aec9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
cmp dword [eax*4 + 0x50e010], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x46aefc
jmp 0x45ed5b
cmp dword [esi + 0x68], 0
jne 0x45f6a2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bb70
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb66
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46af5c
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46b052
cmp ebx, 0xc0
jb 0x46b052
test bl, 0x20
jne 0x46af9e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46b04f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46afc6
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46b052
mov edx, dword [esi + 8]
test bl, 8
jne 0x46afec
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 0x46b04f
test bl, 4
jne 0x46b01b
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 0x46b04f
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 + 0x50f880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x46b075
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511a80]
movzx eax, byte [eax*8 + 0x50e201]
mov eax, dword [eax*4 + 0x50e010]
cmp eax, 1
je 0x46b0a1
cmp eax, 3
je 0x46b0a1
cmp ebx, 0x5f
je 0x46b0a1
xor eax, eax
jmp 0x46b0a6
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45ed5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bb89
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb7f
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
test edi, edi
jne case.0x4677d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46b10f
mov esi, dword [esi]
test esi, esi
je 0x46bbd8
jmp 0x4677c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46b20c
cmp ebx, 0xc0
jb 0x46b20c
test bl, 0x20
jne 0x46b151
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46b209
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46b179
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46b20c
mov edx, dword [esi + 8]
test bl, 8
jne 0x46b19f
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 0x46b202
test bl, 4
jne 0x46b1ce
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 0x46b202
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 + 0x50e0c0]
lea eax, [eax*4 + 0x50e0c0]
cmp ebx, ecx
jb 0x46b22e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x46b273
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x46b221
cmp dword [esi + 0x68], 0
je 0x45f6a2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bba2
push 0x134
call dword [0x15e3bec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb98
mov esi, dword [esi]
test esi, esi
je 0x46bbcb
lea edi, [eax - 6]
jmp 0x4677b9
cmp dword [esi + 0x68], 0
je 0x46b238
jmp 0x45f6a2
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 0x46b281
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x45df5a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x46b2c3
push ecx
call dword [0x15e3be8]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x45df5a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4690b9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x468ec5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46925b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x469460
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469629
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x469c9a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469e4c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469fee
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a189
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a324
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46ab38
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46af02
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46b0b5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46b23e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46acd2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x46994d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a69b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x45dee0
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 + 0x50def8]
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 0x45ded0
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 0x46b6c6
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 0x46b6c6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x46b41f
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 0x46b6c6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x46b41f
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 0x46b6c6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x46b41f
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 0x45ded0
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 0x46b8b6
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 0x46b8b6
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 0x46b8b6
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 0x46b8b6
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 0x46b8b6
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 0x46b6c6
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 0x46b6c6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x46b677
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 0x45ded0
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 + 0x50def8]
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 0x45ded0
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 0x46b8b6
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 0x46b8b6
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 0x46b8b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x46b8ad
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 0x45ded0
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 0x46b6c6
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 0x46b6c6
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 0x46b8b6
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 0x46b8b6
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 0x46b8b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x46b8ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x46b8ad
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