Function at 0x453050
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 0x4530de
mov esi, dword [esi]
test esi, esi
je 0x460d81
mov edi, 0xfffffff8
jmp 0x45c989
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x4530fa
mov esi, dword [esi]
test esi, esi
je 0x460d8e
mov edi, 0xffffffeb
jmp 0x45c989
cmp dword [ebp + 0x98], 2
jne 0x453131
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 0x453131
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.0x453164.98
movzx eax, byte [edx + 0x460f9c]
jmp dword [eax*4 + 0x460e50]
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 0x4605e5
push 0x134
call dword [0x1df2d88]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4605df
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
mov edx, dword [esi + 4]
test edx, edx
jne 0x460635
push 0x134
call dword [0x1df2d88]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46062f
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
mov edx, dword [esi + 4]
test edx, edx
jne 0x460653
push 0x134
call dword [0x1df2d88]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46064d
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x460671
push 0x134
call dword [0x1df2d88]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46066b
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
mov edx, dword [esi + 4]
test edx, edx
jne 0x460686
push 0x134
call dword [0x1df2d88]
mov edx, eax
add esp, 4
test edx, edx
jne 0x460680
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x4532be
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x4fef98]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x453131
mov edi, dword [esi + 4]
test edi, edi
jne 0x4606a4
push 0x134
call dword [0x1df2d88]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46069e
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
mov edx, dword [esi + 4]
test edx, edx
jne 0x4606b9
push 0x134
call dword [0x1df2d88]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4606b3
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x4606d7
push 0x134
call dword [0x1df2d88]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4606d1
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x45dec8
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.0x453164.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 0x45ca2b
mov dword [esi + 0x54], ebx
jmp 0x453bcf
mov dword [esi + 0x54], ebx
jmp 0x453bf3
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 0x453538
mov edi, dword [0x1df6c58]
test edi, edi
je 0x453524
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 0x4534de
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 0x453513
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c989
jns 0x453524
mov esi, dword [esi]
test esi, esi
je 0x45ce6c
jmp 0x45c989
movzx eax, byte [0x4ff00e]
add dword [esi + 0xc], eax
movzx eax, byte [0x4ff00e]
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.0x45355e.146
movzx eax, byte [eax + 0x461058]
jmp dword [eax*4 + 0x461040]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x45355e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x453597
cmp edx, dword [edi + 4]
je 0x453597
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x45ccc3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x45ccc3
cmp dword [ebp + 0xa4], ebx
je case.0x45355e.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.0x45355e.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 0x45ccc3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x4535e0
jmp 0x45ccc3
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 0x453644
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x453644
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x45355e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x45355e.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 0x45ccc3
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 0x453699
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x4536a8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x453677
jmp 0x45ccc3
mov dword [esi + 0x58], 1
jmp 0x45ccc3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4606ec
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4606e6
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x453744
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x453126
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 0x453126
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x453793
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 0x453126
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x4537e6
cmp edx, 0x9f
je 0x4537e6
cmp dword [ebp + 0xa4], ebx
jne 0x4537e6
cmp dword [ebp + 0x5c], ebx
jne 0x4537d5
cmp dword [ebp + 0x60], ebx
je 0x4537e6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x4537e6
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c989
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 0x45ce6c
jmp 0x45c989
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45383f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x45cdbd
mov dword [esi + 0x58], ebx
jmp 0x45cdbd
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45386b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x45cf0b
mov dword [esi + 0x58], ebx
jmp 0x45cf0b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x4538d2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x4538b8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x45a0b6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4538b4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4538a8
test edx, edx
jg 0x453890
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x453126
mov dword [ebp + 0x84], eax
jmp 0x453126
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 0x4538b8
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c990
mov edi, dword [0x1df6c58]
test edi, edi
je 0x4539dc
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 0x453996
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 0x4539cb
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c989
jns 0x4539dc
mov esi, dword [esi]
test esi, esi
je 0x45ce6c
jmp 0x45c989
add dword [esi + 0xc], 6
jmp 0x45312a
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 0x453a06
xor edx, edx
jmp 0x453a13
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 0x453a33
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x453a2d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x453a94
mov ecx, dword [ecx]
test ecx, ecx
jne 0x453a20
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 0x453aa8
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 0x45cff4
mov esi, dword [esi]
test esi, esi
je 0x460db2
mov edi, 0xffffffe6
jmp 0x45c989
shl eax, 2
push eax
call dword [0x1df2d80]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x453a6e
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x453ad1
jmp 0x453131
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460727
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460721
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x453b30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460745
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46073f
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x453b83
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x453131
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 0x453bcf
cmp eax, 0x8b
jne 0x453bf3
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 0x453c10
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 0x45dadd
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 0x453c8d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x460ad7
push 0x134
call dword [0x1df2d88]
mov edx, eax
add esp, 4
test edx, edx
jne 0x460acd
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x453ce8
cmp al, 0x81
je 0x453ce8
mov dword [esi + 0x38], ebx
jmp 0x453cf9
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 0x453d06
cmp al, 0x80
jbe 0x453d0a
cmp al, 0x82
jne 0x453d36
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 0x460de6
mov edi, 1
jmp 0x45c989
cmp al, 0x85
je 0x453d4a
cmp al, 0x8a
je 0x453d4a
cmp al, 0x86
je 0x453d4a
cmp al, 0x8b
jne 0x453e11
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 0x453d86
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x453d86
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x453d1c
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 0x453db5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x453e11
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x453dd5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x453dd5
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 0x453e11
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x453e47
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 0x460dbf
mov edi, 0xfffffc1a
jmp 0x45c989
cmp cl, 0x78
je 0x453ec0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x453ec0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x453e8e
test ecx, ecx
jne 0x460766
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460760
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test ecx, ecx
jne 0x460787
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460781
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x45d127
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4607a5
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46079f
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
cmp dword [ebp + 0x44], ebx
je case.0x453164.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x453164.1
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c989
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x453fe8
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c989
cmp dword [ebp + 0x44], ebx
je 0x453f5a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x453f5a
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c989
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x4549a4
cmp ecx, dword [ebp + 0x78]
je 0x453fc0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x453f98
cmp ecx, edx
jbe 0x453fc0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00463010
add esp, 0x14
test eax, eax
jne 0x4549a4
jmp 0x453fc0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x453fc0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x453fc0
cmp edi, 1
je 0x4549a4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4549a4
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c989
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x453f25
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x453131
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4540aa
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x454025
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00462ec0
add esp, 0x14
test eax, eax
jne 0x4549a4
jmp 0x454049
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x454049
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x454049
cmp edx, 1
je 0x4549a4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4549a4
cmp dword [ebp + 0x88], ebx
je case.0x45a0b6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x45a0b6.14
cmp dword [ebp + 0x18], ebx
jne case.0x45a0b6.14
cmp dword [edi], 2
jne case.0x45a0b6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x45a0b6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x45a0b6.14
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edi, 0xfffffff4
jmp 0x45c989
cmp dword [ebp + 0x48], ebx
jne 0x453f2b
cmp dword [ebp + 0x88], ebx
je 0x4549a4
cmp ecx, dword [ebp + 0x84]
jbe 0x4549a4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4549a4
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edi, 0xfffffff4
jmp 0x45c989
cmp dword [ebp + 0x48], ebx
jne 0x453f2b
cmp dword [ebp + 0x58], ebx
je case.0x453164.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x453f2b
cmp dword [ebp + 0x88], ebx
je 0x453fe8
cmp eax, dword [ebp + 0x84]
jbe 0x453fe8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x453fe8
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edi, 0xfffffff4
jmp 0x45c989
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4541b5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45417d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00462ec0
add esp, 0x14
test eax, eax
jne 0x4541a5
jmp 0x454049
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x454049
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x454049
cmp edx, 1
je 0x4541a5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x454049
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x454049
cmp dword [ebp + 0x88], ebx
je 0x4549a4
cmp ecx, dword [ebp + 0x84]
jbe 0x4549a4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4549a4
jmp 0x454096
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4544b7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x454205
mov dword [esi + 0x5c], ebx
jmp 0x45433e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x45421a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x454210
cmp edx, dword [ebp + 0x84]
jae 0x454228
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x4542dc
test bl, 0x20
jne 0x454250
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x4542dc
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45426a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x4542d2
and eax, 0x3f
test bl, 8
jne 0x454285
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4542d2
test bl, 4
jne 0x4542a9
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 0x4542d2
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 0x454377
cmp ebx, 0x5f
jne 0x4542f4
mov dword [esi + 0x5c], 1
jmp 0x45433e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x454316
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x454388
cmp eax, 3
je 0x454388
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x45438f
cmp dword [ebp + 0x88], 0
je 0x45436b
cmp edx, dword [ebp + 0x84]
jbe 0x45436b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
mov dword [esi + 0x54], 0
jmp 0x4545f5
cmp ebx, 0x100
jae 0x454339
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x454339
mov eax, 1
jmp 0x45433b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x454439
test bl, 0x20
jne 0x4543af
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x454431
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4543c9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x454431
and eax, 0x3f
test bl, 8
jne 0x4543e4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x454431
test bl, 4
jne 0x454408
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 0x454431
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 0x45449c
cmp ebx, 0x5f
jne 0x454450
mov dword [esi + 0x54], 1
jmp 0x4545f5
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x454472
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x4544ad
cmp eax, 3
je 0x4544ad
xor eax, eax
jmp 0x4545f2
cmp ebx, 0x100
jae 0x454495
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x454495
mov eax, 1
jmp 0x4545f2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4544c7
mov dword [esi + 0x5c], ebx
jmp 0x454562
cmp eax, dword [ebp + 0x84]
ja 0x4544d6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x45454e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x4544f0
mov dword [esi + 0x5c], 1
jmp 0x454562
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x500920]
shl eax, 7
and ecx, 0x8000007f
jns 0x454512
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x454540
cmp eax, 3
je 0x454540
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x45455f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x45455f
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 0x4545a3
cmp dword [ebp + 0x88], ebx
je 0x45459e
cmp eax, dword [ebp + 0x84]
jbe 0x45459e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45459e
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edi, 0xfffffff4
jmp 0x45c990
mov dword [esi + 0x54], ebx
jmp 0x4545f5
cmp dword [ebp + 0x54], ebx
je 0x4545e2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x4545b9
mov dword [esi + 0x54], 1
jmp 0x4545f5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x500920]
shl eax, 7
and ecx, 0x8000007f
jns 0x4545db
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x454474
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 0x454610
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x454618
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x453131
jmp 0x453f2b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x45465d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x454688
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.00462ec0
add esp, 0x14
test eax, eax
jne 0x453f2b
jmp 0x454688
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x454688
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x454688
cmp edx, 1
je 0x453f2b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x453f2b
cmp dword [ebp + 0x88], ebx
je case.0x453164.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x453164.13
cmp dword [ebp + 0x18], ebx
jne case.0x453164.13
cmp dword [ebp + 0x1c], 2
jne case.0x453164.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x453164.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4546e6
cmp dword [ebp + 0x88], ebx
je case.0x45a0b6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x45a0b6.14
jmp 0x454082
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x453fe8
cmp eax, dword [ebp + 0x78]
jae 0x453fe8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x453fe8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x454702
inc dword [esi + 0xc]
jmp 0x453131
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4546c9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x453131
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45475d
cmp dword [ebp + 0x88], ebx
je case.0x45a0b6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x45a0b6.14
jmp 0x454082
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x454859
cmp ebx, 0xc0
jb 0x454859
test bl, 0x20
jne 0x45479a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454856
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4547c4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x454859
mov edx, dword [esi + 8]
test bl, 8
jne 0x4547ea
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 0x45484d
test bl, 4
jne 0x454819
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 0x45484d
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 0x4549a4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4549a4
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c990
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45498b
cmp ebx, 0xc0
jb 0x45498b
test bl, 0x20
jne 0x4548cc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454988
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4548f6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45498b
mov edx, dword [esi + 8]
test bl, 8
jne 0x45491c
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 0x45497f
test bl, 4
jne 0x45494b
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 0x45497f
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 0x4538ed
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4538ed
inc dword [esi + 0xc]
jmp 0x45312a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x454ab4
cmp ebx, 0xc0
jb 0x454ab4
test bl, 0x20
jne 0x4549f5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454ab1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x454a1f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x454ab4
mov edx, dword [esi + 8]
test bl, 8
jne 0x454a45
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 0x454aa8
test bl, 4
jne 0x454a74
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 0x454aa8
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 0x4549a4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x45486c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x454bd4
cmp ebx, 0xc0
jb 0x454bd4
test bl, 0x20
jne 0x454b15
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454bd1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x454b3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x454bd4
mov edx, dword [esi + 8]
test bl, 8
jne 0x454b65
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 0x454bc8
test bl, 4
jne 0x454b94
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 0x454bc8
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 0x4538ed
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x4538ed
inc dword [esi + 0xc]
jmp 0x45312a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x454cfd
cmp ebx, 0xc0
jb 0x454cfd
test bl, 0x20
jne 0x454c3e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454cfa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x454c68
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x454cfd
mov edx, dword [esi + 8]
test bl, 8
jne 0x454c8e
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 0x454cf1
test bl, 4
jne 0x454cbd
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 0x454cf1
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 0x4549a4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x45486c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x454e1d
cmp ebx, 0xc0
jb 0x454e1d
test bl, 0x20
jne 0x454d5e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454e1a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x454d88
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x454e1d
mov edx, dword [esi + 8]
test bl, 8
jne 0x454dae
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 0x454e11
test bl, 4
jne 0x454ddd
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 0x454e11
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 0x4538ed
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4538ed
inc dword [esi + 0xc]
jmp 0x45312a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x454f46
cmp ebx, 0xc0
jb 0x454f46
test bl, 0x20
jne 0x454e87
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454f43
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x454eb1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x454f46
mov edx, dword [esi + 8]
test bl, 8
jne 0x454ed7
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 0x454f3a
test bl, 4
jne 0x454f06
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 0x454f3a
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 0x454fbf
je 0x454f61
cmp ebx, 0xa
je 0x4549a4
jbe 0x454872
cmp ebx, 0xc
jmp 0x454fd9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x454faa
cmp dword [ebp + 0x88], 0
je 0x4549a4
cmp eax, dword [ebp + 0x84]
jbe 0x4549a4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4549a4
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edi, 0xfffffff4
jmp 0x45c990
cmp byte [eax], 0xa
jne 0x4549a4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45312a
cmp ebx, 0x85
je 0x454fdf
cmp ebx, 0x2027
jbe 0x454872
cmp ebx, 0x2029
ja 0x454872
cmp dword [ebp + 0x68], 0
jmp 0x45486c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4550f0
cmp ebx, 0xc0
jb 0x4550f0
test bl, 0x20
jne 0x455031
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4550ed
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45505b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4550f0
mov edx, dword [esi + 8]
test bl, 8
jne 0x455081
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 0x4550e4
test bl, 4
jne 0x4550b0
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 0x4550e4
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 0x455128
je 0x4538ed
cmp ebx, 0xa0
ja 0x45511d
je 0x4538ed
cmp ebx, 9
je 0x4538ed
cmp ebx, 0x20
jmp 0x45499e
cmp ebx, 0x1680
jmp 0x45499e
cmp ebx, 0x205f
ja 0x455159
je 0x4538ed
cmp ebx, 0x2000
jb 0x4549a4
cmp ebx, 0x200a
jbe 0x4538ed
cmp ebx, 0x202f
jmp 0x45499e
cmp ebx, 0x3000
je 0x4538ed
inc dword [esi + 0xc]
jmp 0x45312a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x455275
cmp ebx, 0xc0
jb 0x455275
test bl, 0x20
jne 0x4551b6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455272
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4551e0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455275
mov edx, dword [esi + 8]
test bl, 8
jne 0x455206
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 0x455269
test bl, 4
jne 0x455235
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 0x455269
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 0x4552ad
je 0x4549a4
cmp ebx, 0xa0
ja 0x4552a2
je 0x4549a4
cmp ebx, 9
je 0x4549a4
cmp ebx, 0x20
jmp 0x45486c
cmp ebx, 0x1680
jmp 0x45486c
cmp ebx, 0x205f
ja 0x4552de
je 0x4549a4
cmp ebx, 0x2000
jb 0x454872
cmp ebx, 0x200a
jbe 0x4549a4
cmp ebx, 0x202f
jmp 0x45486c
cmp ebx, 0x3000
jmp 0x45486c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4553f1
cmp ebx, 0xc0
jb 0x4553f1
test bl, 0x20
jne 0x455332
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4553ee
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45535c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4553f1
mov edx, dword [esi + 8]
test bl, 8
jne 0x455382
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 0x4553e5
test bl, 4
jne 0x4553b1
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 0x4553e5
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 0x455419
je 0x454872
cmp ebx, 0xa
jb 0x4549a4
cmp ebx, 0xd
jbe 0x454872
inc dword [esi + 0xc]
jmp 0x45312a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4549a4
jmp 0x454872
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x455535
cmp ebx, 0xc0
jb 0x455535
test bl, 0x20
jne 0x455476
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455532
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4554a0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455535
mov edx, dword [esi + 8]
test bl, 8
jne 0x4554c6
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 0x455529
test bl, 4
jne 0x4554f5
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 0x455529
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 0x45555a
je 0x4549a4
cmp ebx, 0xa
jb 0x4538ed
cmp ebx, 0xd
jbe 0x4549a4
jmp 0x4538ed
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4538ed
inc dword [esi + 0xc]
jmp 0x45312a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45566d
cmp ebx, 0xc0
jb 0x45566d
test bl, 0x20
jne 0x4555b9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45566a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4555e1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45566d
mov edx, dword [esi + 8]
test bl, 8
jne 0x455607
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 0x45566a
test bl, 4
jne 0x455636
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 0x45566a
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 + 0x500920]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x455690
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 + 0x502b20]
cmp eax, 0xa
ja case.default.0x4556aa
jmp dword [eax*4 + 0x46106c]
cmp dword [esi + 0x9c], 0xf
jne 0x453126
jmp 0x453f2b
mov al, byte [edx*8 + 0x4ff2a1]
cmp al, 9
je 0x4556da
cmp al, 5
je 0x4556da
cmp al, 8
je 0x4556da
xor ecx, ecx
jmp 0x4556df
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x453126
jmp 0x453f2b
movzx ecx, byte [edx*8 + 0x4ff2a1]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x4ff0b0]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x453126
jmp 0x453f2b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x4ff2a1]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x453126
jmp 0x453f2b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x4ff2a0]
jmp 0x45573b
movzx eax, byte [edx*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x4556da
cmp eax, 3
je 0x4556da
xor ecx, ecx
jmp 0x4556df
cmp ebx, 0x180e
ja 0x4557d3
je case.0x4556aa.0
cmp ebx, 0x85
ja 0x4557bf
je case.0x4556aa.0
cmp ebx, 9
jb case.0x4557f3.8203
cmp ebx, 0xd
jbe case.0x4556aa.0
cmp ebx, 0x20
jmp 0x45580c
cmp ebx, 0xa0
je case.0x4556aa.0
cmp ebx, 0x1680
jmp 0x45580c
cmp ebx, 0x202f
ja 0x4557fa
je case.0x4556aa.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x4557f3.8203
movzx eax, byte [ebx + 0x4610a0]
jmp dword [eax*4 + 0x461098]
cmp ebx, 0x205f
je case.0x4556aa.0
cmp ebx, 0x3000
je case.0x4556aa.0
movzx eax, byte [edx*8 + 0x4ff2a1]
xor ecx, ecx
cmp dword [eax*4 + 0x4ff0b0], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x455747
movzx eax, byte [edx*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x4556da
cmp eax, 3
je 0x4556da
cmp ebx, 0x5f
je 0x4556da
xor ecx, ecx
jmp 0x4556df
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x4ff160]
lea eax, [eax*4 + 0x4ff160]
cmp ebx, ecx
jb 0x45588d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x45589f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x455880
cmp dword [esi + 0x9c], 0x10
jne 0x453126
jmp 0x453f2b
cmp dword [esi + 0x9c], 0x10
je 0x453126
jmp 0x453f2b
cmp ebx, 0x24
je 0x4556da
cmp ebx, 0x40
je 0x4556da
cmp ebx, 0x60
je 0x4556da
cmp ebx, 0xa0
jb 0x4558e0
cmp ebx, 0xd7ff
jbe 0x4556da
cmp ebx, 0xe000
jae 0x4556da
xor ecx, ecx
jmp 0x4556df
mov esi, dword [esi]
test esi, esi
je case.default.0x45c9a4
mov edi, 0xfffffff2
jmp 0x45c989
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x455a12
cmp ebx, 0xc0
jb 0x455a12
test bl, 0x20
jne 0x455950
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455a0f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45597f
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 0x455a12
mov edx, dword [esi + 8]
test bl, 8
jne 0x4559a5
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 0x455a08
test bl, 4
jne 0x4559d4
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 0x455a08
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x455a34
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x455bc6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x455b5e
cmp ebx, 0xc0
jb 0x455b5e
test bl, 0x20
jne 0x455a95
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x455b56
test bl, 0x10
jne 0x455aba
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 0x455b56
test bl, 8
jne 0x455ae8
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 0x455b56
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x455b22
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 0x455b56
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x455b80
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx ecx, byte [eax*8 + 0x4ff2a2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4ff128], eax
je 0x455bc6
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 0x455a60
cmp dword [ebp + 0x88], 0
je 0x4549a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4549a4
cmp eax, dword [ebp + 0x84]
jbe 0x4549a4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4549a4
jmp 0x454096
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 0x455cf4
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 0x455c84
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x455c8d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x455c60
jmp 0x455cf4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x455cf4
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 0x455ce4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x455ce4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x455cee
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.0x455d0f
movzx eax, byte [eax + 0x4610d4]
jmp dword [eax*4 + 0x4610cc]
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 + 0x4fe5f0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x4fe5fc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x455d9d
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x455d9d
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 0x455d99
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x453131
jns 0x455dc1
cmp dword [esi + 0x90], 0
je 0x453131
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x455dff
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.004615d0
add esp, 0x14
test eax, eax
js 0x455e31
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x455dd0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x453131
cmp dword [esp + 0x80], 0
je 0x455e5a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45d242
cmp eax, 0xfffffffe
jne 0x455e3c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x45a0b6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x45a0b6.14
jmp 0x4546d5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x455e70
cmp edi, dword [esi + 0x8c]
jge 0x45d291
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.004615d0
add esp, 0x14
test eax, eax
js 0x455ea5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x455e70
cmp eax, 0xfffffffe
jne 0x45d291
cmp dword [ebp + 0x88], 0
je 0x45d291
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x45d291
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45d291
jmp 0x454096
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.004615d0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x455f69
cmp eax, 0xfffffffe
jne 0x455f15
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x45d86d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x45d86d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x45d86d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x45d86d.14
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x45c994
add dword [esi + 8], eax
jmp 0x45312a
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.0x455f97
movzx eax, byte [eax + 0x4610e4]
jmp dword [eax*4 + 0x4610dc]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x455fba
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x455fc5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x4fe5f0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x4fe5fc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45605c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x45605c
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 0x456042
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x45605c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4561bc
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x456211
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x45616c
test bl, 0x20
jne 0x4560ba
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x456169
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4560e1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x456167
test bl, 8
jne 0x456104
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 0x456167
test bl, 4
jne 0x456133
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 0x456167
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 0x45617d
cmp dword [esi + 0x9c], 0x6e
jmp 0x456192
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.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x456080
jmp 0x456203
cmp dword [ebp + 0x88], 0
je case.0x45a0b6.14
mov eax, dword [esi + 8]
jmp 0x4546d5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x45620a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4561a7
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.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4561d0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45312a
test ebx, ebx
je 0x45623a
test edx, edx
jne 0x4604a7
mov dword [esi + 0x84], eax
jmp 0x45d32b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x4563f2
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4563df
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4563b7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x456366
test bl, 0x20
jne 0x4562ab
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x456366
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4562d3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x45635c
and eax, 0x3f
test bl, 8
jne 0x4562f9
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 0x45635c
test bl, 4
jne 0x456328
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 0x45635c
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 0x456377
cmp dword [esi + 0x9c], 0x6e
jmp 0x45638c
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 0x4563df
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 0x456261
jmp 0x4563df
cmp dword [ebp + 0x88], 0
je 0x4563df
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4563df
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
je 0x45e2ec
jmp 0x45312a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45646a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x456442
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 0x45646a
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 0x456401
jmp 0x45646a
cmp dword [ebp + 0x88], 0
je 0x45646a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45646a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
je 0x45d36b
jmp 0x45312a
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.0x4564b5
movzx eax, byte [eax + 0x4610f8]
jmp dword [eax*4 + 0x4610f0]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4564d8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x4564e3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x4fe5f0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x4fe5fc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45657a
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x45657a
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 0x456560
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x45657a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4566b5
jmp 0x456590
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45668a
cmp edx, 0xc0
jb 0x45668a
test dl, 0x20
jne 0x4565d8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x456687
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4565ff
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x456685
test dl, 8
jne 0x456622
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 0x456685
test dl, 4
jne 0x456651
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 0x456685
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.00462850
add esp, 0xc
test eax, eax
je case.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x456590
jmp 0x4566bc
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x453131
cmp dword [esp + 0x84], 0
jne 0x4604b8
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 0x45684d
jmp 0x456700
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x456823
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4567eb
cmp edx, 0xc0
jb 0x4567eb
test dl, 0x20
jne 0x45674c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x4567eb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45676b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x4567e1
and eax, 0x3f
test dl, 8
jne 0x45678b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4567e1
test dl, 4
jne 0x4567b4
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 0x4567e1
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.00462850
add esp, 0xc
test eax, eax
je 0x45684d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x456700
jmp 0x45684d
cmp dword [ebp + 0x88], 0
je 0x456846
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x456846
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x454096
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x453131
jmp 0x45e101
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x456a39
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 0x4569c0
test al, 0x20
jne 0x4568c0
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 0x4569c0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x4568fa
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 0x4569c0
test al, 8
jne 0x456936
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 0x4569c0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x45697b
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 0x4569c0
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 0x4569f9
cmp dword [ebp + 0x88], ebx
je case.0x45a0b6.14
cmp edx, edi
jb case.0x45a0b6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x45a0b6.14
jmp 0x454082
test ecx, ecx
jle 0x456a2e
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.0x45a0b6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x456a00
dec dword [esi + 0x88]
jmp 0x45312a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x456a86
cmp dword [ebp + 0x88], ebx
je 0x4538ed
cmp edi, dword [ebp + 0x84]
jbe 0x4538ed
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4538ed
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edi, 0xfffffff4
jmp 0x45c990
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 0x456d9b
jmp 0x453f2b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x454740
cmp dword [esp + 0x8c], ebx
je 0x456d7c
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 0x456c0b
test al, 0x20
jne 0x456b0b
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 0x456c0b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x456b45
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 0x456c0b
test al, 8
jne 0x456b81
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 0x456c0b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x456bc6
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 0x456c0b
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 0x456c39
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x453f2b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x45312a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x456d1b
test bl, 0x20
jne 0x456c69
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x456d18
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x456c90
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x456d16
test bl, 8
jne 0x456cb3
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 0x456d16
test bl, 4
jne 0x456ce2
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 0x456d16
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 0x45312a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x500920]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x456d55
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x502b20]
mov eax, dword [eax*8 + 0x4ff2a4]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x453131
jmp 0x453f2b
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 0x453f2b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x45312a
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 0x456ecd
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 0x456e04
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x456e0f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x456ecd
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x456ed4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x456ed4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x456ed4
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 + 0x4fe5f0]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x4fe5fc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x456ecd
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x457348
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 0x45701b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x456f31
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 0x45701b
test bl, 0x10
jne 0x456f66
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 0x45701b
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 0x456fa4
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 0x45701b
test bl, 4
jne 0x456fdd
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 0x45701b
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 0x457357
cmp dword [esi + 0x9c], 0x2e
jb 0x45708c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x500920]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x457063
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x502b20]
mov ecx, dword [eax*8 + 0x4ff2a4]
add ecx, edi
cmp ecx, edi
je 0x45708c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.004627f0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x457093
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x4571c6
jmp 0x4570b0
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 0x457134
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x4570e8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4570f1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4570d7
cmp edi, 0xfffffffc
je 0x4571a8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45712a
cmp edi, 0xfffffffd
je 0x4571a8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45712a
cmp edi, 0xfffffffe
je 0x4571a8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45712a
cmp edi, 0xffffffff
je 0x4571a8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4571a8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x455e3c
sub ecx, ebx
cmp edi, ecx
ja 0x455e3c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x457166
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45716b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457155
cmp edi, 0xfffffffc
je 0x4571a8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x455e3c
cmp edi, 0xfffffffd
je 0x4571a8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x455e3c
cmp edi, 0xfffffffe
je 0x4571a8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x455e3c
cmp edi, 0xffffffff
je 0x4571a8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x455e3c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x4570b0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x453131
cmp dword [esp + 0x84], 0
jne 0x4604c9
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 0x457335
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 0x45728c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x457248
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x457251
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457237
cmp edi, 0xfffffffc
je 0x4572e8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x457282
cmp edi, 0xfffffffd
je 0x4572e8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x457282
cmp edi, 0xfffffffe
je 0x4572e8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x457282
cmp edi, 0xffffffff
je 0x4572e8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4572e8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x457308
sub ecx, ebx
cmp edi, ecx
ja 0x457308
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x4572b6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4572bb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4572a5
cmp edi, 0xfffffffc
je 0x4572e8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x457308
cmp edi, 0xfffffffd
je 0x4572e8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x457308
cmp edi, 0xfffffffe
je 0x4572e8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x457308
cmp edi, 0xffffffff
je 0x4572e8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x457308
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x457210
jmp 0x457335
cmp dword [ebp + 0x88], 0
je 0x457335
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x457335
cmp eax, dword [ebp + 0x84]
jbe 0x457335
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
je 0x45e4ac
jmp 0x45312a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x45744f
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 0x4573b4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4561a7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4573a7
cmp dword [esi + 0x94], ecx
jne case.0x45a0b6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x457384
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45312a
cmp dword [esp + 0x84], 0
je 0x4573db
mov dword [esi + 0x84], eax
jmp 0x45d40b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x457442
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45741a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45740b
cmp dword [esi + 0x94], ecx
jne 0x457442
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4573f0
jmp 0x457442
cmp dword [ebp + 0x88], 0
je 0x457442
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x457442
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
test edi, edi
je 0x45d44b
jmp 0x45312a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45748a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x457460
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x453131
cmp dword [esp + 0x84], 0
je 0x4574b8
mov dword [esi + 0x84], eax
jmp 0x45d4d8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45751c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4574f4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x45751c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4574d0
jmp 0x45751c
cmp dword [ebp + 0x88], 0
je 0x45751c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45751c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
je 0x45d518
jmp 0x453131
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x457554
cmp dword [ebp + 0x88], ebx
je case.0x45a0b6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x45a0b6.14
jmp 0x454082
test edi, edi
je 0x4577cc
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 0x457655
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x457592
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x457652
test bl, 0x10
jne 0x4575b3
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 0x457652
test bl, 8
jne 0x4575de
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 0x457655
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x457617
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 0x457652
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 0x457748
test dl, 0x20
jne 0x45768f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45773e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4576b6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45773c
test dl, 8
jne 0x4576d9
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 0x45773c
test dl, 4
jne 0x457708
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 0x45773c
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 0x457765
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x453131
jmp 0x453f2b
cmp ebx, 0x7f
jbe 0x4577a2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x500920]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45778d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x502b20]
mov ecx, dword [eax*8 + 0x4ff2a4]
add ecx, ebx
jmp 0x4577a9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x453f2b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x453131
jmp 0x453f2b
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.0x45a0b6.14
cmp dword [esi + 0x9c], 0x20
jne 0x456d9b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x45a0b6.14
add dword [esi + 0xc], 2
jmp 0x45312a
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 0x457966
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 0x45786b
cmp al, 0x4f
je 0x45786b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x457966
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x457966
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x457966
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x457966
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x457966
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 0x457966
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 + 0x4fe5f0]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x4fe5fc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x457966
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 0x457ac1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x457ac1
test al, 0x20
jne 0x4579b8
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 0x457ac1
test al, 0x10
jne 0x4579eb
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 0x457ac1
test al, 8
jne 0x457a2d
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 0x457ac1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x457a78
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 0x457aba
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 0x457ee5
test edx, edx
je 0x457b1c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x457b1c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x500920]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x457b00
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x502b20]
mov eax, dword [eax*8 + 0x4ff2a4]
add eax, edi
jmp 0x457b29
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x457c70
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x457cbb
jmp 0x457b50
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x457c49
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x457b8a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x457c46
test cl, 0x10
jne 0x457bab
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 0x457c46
test cl, 8
jne 0x457bd5
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 0x457c46
test cl, 4
jne 0x457c0b
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 0x457c46
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.0x45a0b6.14
cmp dword [esi + 0x94], ecx
je case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x457b50
jmp 0x457cb4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x457cb4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4561a7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x45a0b6.14
cmp dword [esi + 0x94], ecx
je case.0x45a0b6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x457c80
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45312a
test ebx, ebx
je 0x457ce4
test edx, edx
jne 0x4604da
mov dword [esi + 0x84], eax
jmp 0x45d5af
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x457e6d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457e5a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x457e32
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x457e0e
test dl, 0x20
jne 0x457d42
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x457e0e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x457d6c
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 0x457e0c
test dl, 8
jne 0x457d98
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 0x457e0c
test dl, 4
jne 0x457dd0
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 0x457e0c
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 0x457e5a
cmp dword [esi + 0x94], edx
je 0x457e5a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x457d04
jmp 0x457e5a
cmp dword [ebp + 0x88], 0
je 0x457e5a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x457e5a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
je 0x45e68c
jmp 0x45312a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x457ed2
jmp 0x457e80
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x457eaa
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x457ed2
cmp dword [esi + 0x94], ecx
je 0x457ed2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x457e80
jmp 0x457ed2
cmp dword [ebp + 0x88], 0
je 0x457ed2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x457ed2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
je 0x45d5ef
jmp 0x45312a
test edx, edx
je 0x458007
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x458045
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x457fec
test dl, 0x20
jne 0x457f3a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x457fe9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x457f61
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x457fe7
test dl, 8
jne 0x457f84
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 0x457fe7
test dl, 4
jne 0x457fb3
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 0x457fe7
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.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x457f00
jmp 0x45803e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x458045
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x458014
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45312a
cmp dword [esp + 0x84], 0
je 0x458074
test edx, edx
jne 0x4604ef
mov dword [esi + 0x84], eax
jmp 0x45d67c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x4581f8
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4581e5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4581bd
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4581a1
test dl, 0x20
jne 0x4580d2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4581a1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4580fc
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 0x45819f
test dl, 8
jne 0x45812b
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 0x45819f
test dl, 4
jne 0x458163
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 0x45819f
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 0x4581e5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x458094
jmp 0x4581e5
cmp dword [ebp + 0x88], 0
je 0x4581e5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4581e5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
je 0x45e850
jmp 0x45312a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x458252
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45822a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x458252
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x458206
jmp 0x458252
cmp dword [ebp + 0x88], 0
je 0x458252
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x458252
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
je 0x45d6bc
jmp 0x45312a
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 0x4583a4
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 0x4583a4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4583a4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4583a4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4583a4
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 0x4583a4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x4fe59b]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x4fe5a7]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4583a4
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 0x4583c6
cmp ecx, 0xf
je 0x4583c6
mov dword [esi + 0x60], 0xffffffff
jmp 0x4583e9
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 0x45a38b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x459198
cmp eax, 0xa
ja case.default.0x4556aa
jmp dword [eax*4 + 0x461104]
cmp dword [esi + 0x68], ebx
jne 0x453f2b
mov edx, 1
cmp ecx, edx
jl 0x45a38b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x45846f
cmp ecx, 0xc0
jb 0x45846f
test cl, 0x20
jne 0x45844b
inc eax
jmp 0x45846c
test cl, 0x10
jne 0x458455
add eax, 2
jmp 0x45846c
test cl, 8
jne 0x45845f
add eax, 3
jmp 0x45846c
test cl, 4
jne 0x458469
add eax, 4
jmp 0x45846c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x458428
jmp 0x45a38b
cmp dword [ebp + 0x88], ebx
je case.0x45a0b6.14
mov eax, dword [esi + 8]
jmp 0x4546d5
mov edi, 1
cmp ecx, edi
jl 0x45a38b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45859a
cmp ebx, 0xc0
jb 0x45859a
test bl, 0x20
jne 0x4584e8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x458597
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45850f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x458595
test bl, 8
jne 0x458532
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 0x458595
test bl, 4
jne 0x458561
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 0x458595
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x4585bc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
cmp eax, 9
je 0x4585e1
cmp eax, 5
je 0x4585e1
cmp eax, 8
je 0x4585e1
xor eax, eax
jmp 0x4585e6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4584a0
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a38b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x458708
cmp ebx, 0xc0
jb 0x458708
test bl, 0x20
jne 0x458658
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x458705
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45867f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x458705
test bl, 8
jne 0x4586a2
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 0x458705
test bl, 4
jne 0x4586d1
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 0x458705
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45872a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x458610
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a38b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45886b
cmp ebx, 0xc0
jb 0x45886b
test bl, 0x20
jne 0x4587bb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x458868
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4587e2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x458868
test bl, 8
jne 0x458805
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 0x458868
test bl, 4
jne 0x458834
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 0x458868
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45888d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x458773
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a38b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4589c8
cmp ebx, 0xc0
jb 0x4589c8
test bl, 0x20
jne 0x458918
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4589c5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45893f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4589c5
test bl, 8
jne 0x458962
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 0x4589c5
test bl, 4
jne 0x458991
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 0x4589c5
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x4589ea
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4588d0
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a38b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x458b2a
cmp ebx, 0xc0
jb 0x458b2a
test bl, 0x20
jne 0x458a78
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x458b27
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458a9f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x458b25
test bl, 8
jne 0x458ac2
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 0x458b25
test bl, 4
jne 0x458af1
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 0x458b25
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x458b4c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x458b73
cmp eax, 3
je 0x458b73
xor eax, eax
jmp 0x458b78
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x458a30
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a38b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x458c9a
cmp ebx, 0xc0
jb 0x458c9a
test bl, 0x20
jne 0x458be8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x458c97
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458c0f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x458c95
test bl, 8
jne 0x458c32
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 0x458c95
test bl, 4
jne 0x458c61
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 0x458c95
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 0x458cdd
je case.0x458cf9.8192
cmp ebx, 0x85
ja 0x458cc9
je case.0x458cf9.8192
cmp ebx, 9
jb case.0x458cf9.8203
cmp ebx, 0xd
jbe case.0x458cf9.8192
cmp ebx, 0x20
jmp 0x458d0e
cmp ebx, 0xa0
je case.0x458cf9.8192
cmp ebx, 0x1680
jmp 0x458d0e
cmp ebx, 0x202f
ja 0x458d00
je case.0x458cf9.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x458cf9.8203
movzx eax, byte [eax + 0x461138]
jmp dword [eax*4 + 0x461130]
cmp ebx, 0x205f
je case.0x458cf9.8192
cmp ebx, 0x3000
je case.0x458cf9.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x458d32
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
cmp dword [eax*4 + 0x4ff0b0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45a0b6.14
jmp 0x458d66
cmp dword [esi + 0x68], 0
jne case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x458ba0
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a38b
jmp 0x458d90
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x458e88
cmp ebx, 0xc0
jb 0x458e88
test bl, 0x20
jne 0x458dd8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x458e85
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458dff
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x458e85
test bl, 8
jne 0x458e22
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 0x458e85
test bl, 4
jne 0x458e51
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 0x458e85
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 + 0x500920]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x458eab
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x458ed7
cmp eax, 3
je 0x458ed7
cmp ebx, 0x5f
je 0x458ed7
xor eax, eax
jmp 0x458edc
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45a0b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x458d90
jmp 0x45a38b
mov ebx, 1
cmp ecx, ebx
jl 0x45a38b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x458ffc
cmp edx, 0xc0
jb 0x458ffc
test dl, 0x20
jne 0x458f4c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x458ff9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x458f73
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x458ff9
test dl, 8
jne 0x458f96
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 0x458ff9
test dl, 4
jne 0x458fc5
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 0x458ff9
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 + 0x4ff160]
lea eax, [eax*4 + 0x4ff160]
cmp edx, ecx
jb 0x45901e
lea eax, [eax + 4]
cmp edx, ecx
je 0x45903a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x459011
cmp dword [esi + 0x68], 0
je case.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x458f04
jmp 0x45a38b
cmp dword [esi + 0x68], 0
jne case.0x45a0b6.14
jmp 0x459028
mov ebx, 1
cmp ecx, ebx
jl 0x45a38b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45914d
cmp edx, 0xc0
jb 0x45914d
test dl, 0x20
jne 0x45909b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45914a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4590c2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x459148
test dl, 8
jne 0x4590e5
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 0x459148
test dl, 4
jne 0x459114
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 0x459148
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 0x459178
cmp edx, 0x40
je 0x459178
cmp edx, 0x60
je 0x459178
cmp edx, 0xa0
jb 0x45916c
cmp edx, 0xd7ff
jbe 0x459178
cmp edx, 0xe000
jae 0x459178
xor eax, eax
jmp 0x45917d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x459053
jmp 0x45a38b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4594c3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x45a38b
jmp 0x4591c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4561a7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x4592c0
cmp ebx, 0xc0
jb 0x4592c0
test bl, 0x20
jne 0x459209
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4592bd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459230
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4592b6
test bl, 8
jne 0x459253
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 0x4592b6
test bl, 4
jne 0x459282
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 0x4592b6
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x4592e2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a2]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45947d
jmp 0x459310
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45940e
cmp ebx, 0xc0
jb 0x45940e
test bl, 0x20
jne 0x459345
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x459406
test bl, 0x10
jne 0x45936a
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 0x459406
test bl, 8
jne 0x459398
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 0x459406
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4593d2
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 0x459406
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x459430
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx ecx, byte [eax*8 + 0x4ff2a2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4ff128], eax
je 0x459476
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 0x459310
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x4594aa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4594aa
cmp eax, dword [ebp + 0x84]
jbe 0x4594aa
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x4591c0
jmp 0x45a38b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x459f8f
cmp eax, 0xf
ja case.0x45c4d7.9
jmp dword [eax*4 + 0x461164]
mov ebx, 1
cmp ecx, ebx
jl 0x45a392
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4561a7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x459527
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00462ec0
add esp, 0x14
test eax, eax
jne case.0x45a0b6.14
jmp 0x45954b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45954b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45954b
cmp edx, 1
je case.0x45a0b6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x45a0b6.14
cmp dword [ebp + 0x88], 0
je 0x459586
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x459586
cmp dword [ebp + 0x18], 0
jne 0x459586
cmp dword [edi], 2
jne 0x459586
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x459586
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4595a2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4595a2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x459591
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4594f2
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x45847d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4595f8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4595f8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4595e0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4595c4
jmp 0x45a38b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x453f2b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x45a38b
mov ebx, 1
cmp ecx, ebx
jl 0x45a392
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45971c
test dl, 0x20
jne 0x45966a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x459719
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x459691
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x459717
test dl, 8
jne 0x4596b4
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 0x459717
test dl, 4
jne 0x4596e3
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 0x459717
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 0x459740
je 0x45972d
cmp edx, 0xa
je 0x459761
lea eax, [edx - 0xb]
jmp 0x45974e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459761
cmp byte [eax], 0xa
jne 0x459761
inc eax
mov dword [esi + 8], eax
jmp 0x459761
cmp edx, 0x85
je 0x459757
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x45a0b6.14
cmp dword [ebp + 0x68], 0
jne case.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x459630
jmp 0x45a38b
mov ebx, 1
cmp ecx, ebx
jl 0x45a392
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45986c
test dl, 0x20
jne 0x4597ba
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x459869
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4597e1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x459867
test dl, 8
jne 0x459804
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 0x459867
test dl, 4
jne 0x459833
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 0x459867
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 0x45989e
je case.0x45a0b6.14
cmp edx, 0xa0
ja 0x459896
je case.0x45a0b6.14
cmp edx, 9
je case.0x45a0b6.14
cmp edx, 0x20
jmp 0x4598ce
cmp edx, 0x1680
jmp 0x4598ce
cmp edx, 0x205f
ja 0x4598c8
je case.0x45a0b6.14
cmp edx, 0x2000
jb 0x4598d4
cmp edx, 0x200a
jbe case.0x45a0b6.14
cmp edx, 0x202f
jmp 0x4598ce
cmp edx, 0x3000
je case.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x459780
jmp 0x45a38b
mov ebx, 1
cmp ecx, ebx
jl 0x45a392
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4599df
test dl, 0x20
jne 0x45992d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4599dc
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x459954
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4599da
test dl, 8
jne 0x459977
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 0x4599da
test dl, 4
jne 0x4599a6
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 0x4599da
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 0x459a05
je 0x459a37
cmp edx, 0xa0
ja 0x4599fd
je 0x459a37
cmp edx, 9
je 0x459a37
cmp edx, 0x20
jmp 0x459a31
cmp edx, 0x1680
jmp 0x459a31
cmp edx, 0x205f
ja 0x459a2b
je 0x459a37
cmp edx, 0x2000
jb case.0x45a0b6.14
cmp edx, 0x200a
jbe 0x459a37
cmp edx, 0x202f
jmp 0x459a31
cmp edx, 0x3000
jne case.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4598f3
jmp 0x45a38b
mov ebx, 1
cmp ecx, ebx
jl 0x45a392
jmp 0x459a60
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x459b4c
test dl, 0x20
jne 0x459a9a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x459b49
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x459ac1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x459b47
test dl, 8
jne 0x459ae4
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 0x459b47
test dl, 4
jne 0x459b13
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 0x459b47
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 0x459b64
je case.0x45a0b6.14
cmp edx, 0xa
jb 0x459b78
cmp edx, 0xd
jmp 0x459b72
cmp edx, 0x2028
jb 0x459b78
cmp edx, 0x2029
jbe case.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x459a60
jmp 0x45a38b
mov ebx, 1
cmp ecx, ebx
jl 0x45a392
jmp 0x459ba0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x459c8c
test dl, 0x20
jne 0x459bda
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x459c89
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x459c01
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x459c87
test dl, 8
jne 0x459c24
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 0x459c87
test dl, 4
jne 0x459c53
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 0x459c87
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 0x459c9e
je 0x459cad
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x459ca7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x459ba0
jmp 0x45a38b
mov ebx, 1
cmp ecx, ebx
jl 0x45a392
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4561a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x459dbc
test dl, 0x20
jne 0x459d0a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x459db9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x459d31
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x459db7
test dl, 8
jne 0x459d54
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 0x459db7
test dl, 4
jne 0x459d83
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 0x459db7
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 0x459dd1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x45a0b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x459cd0
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45847d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x45a0b6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x45a0b6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x459df0
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45847d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x459e63
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x45a0b6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x459e88
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x459e88
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x459e70
inc edi
cmp edi, dword [esi + 0x90]
jle 0x459e40
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45847d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x45a0b6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x45a0b6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x459ea3
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45847d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x459f13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x45a0b6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x459f38
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x459f38
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x459f20
inc edi
cmp edi, dword [esi + 0x90]
jle 0x459ef0
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45847d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x45a0b6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x45a0b6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x459f53
jmp 0x45a38b
cmp eax, 0xf
ja case.0x45c4d7.9
jmp dword [eax*4 + 0x4611a4]
mov ebx, 1
cmp ecx, ebx
jl 0x45a392
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4561a7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x459fe0
push 0
push edi
push eax
push edx
push ecx
call fcn.00462ec0
add esp, 0x14
test eax, eax
jne case.0x45a0b6.14
jmp 0x45a004
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45a004
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45a004
cmp edx, 1
je case.0x45a0b6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x45a0b6.14
cmp dword [ebp + 0x88], 0
je 0x45a03f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45a03f
cmp dword [ebp + 0x18], 0
jne 0x45a03f
cmp dword [edi], 2
jne 0x45a03f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45a03f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x459fb0
jmp 0x45a38b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x459616
cmp dword [ebp + 0x88], ebx
je case.0x45a0b6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x45a0b6.14
jmp 0x454082
mov edx, 1
cmp ecx, edx
jl 0x45a38b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45847d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x45a0b6.14
movzx eax, byte [eax + 0x4611f4]
jmp dword [eax*4 + 0x4611e4]
cmp ecx, dword [ebp + 0x78]
jae case.0x45a0b6.10
cmp byte [ecx], 0xa
jne case.0x45a0b6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x45a0b6.10
cmp dword [ebp + 0x68], ebx
jne case.0x45a0b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45a090
jmp 0x45a38b
mov edx, 1
cmp ecx, edx
jl 0x45a38b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x45a0b6.14
cmp ecx, 0x20
je case.0x45a0b6.14
cmp ecx, 0xa0
je case.0x45a0b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45a0f3
jmp 0x45a38b
mov edx, 1
cmp ecx, edx
jl 0x45a38b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x45a169
cmp ecx, 0x20
je 0x45a169
cmp ecx, 0xa0
jne case.0x45a0b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45a140
jmp 0x45a38b
mov edx, 1
cmp ecx, edx
jl 0x45a38b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x45a1b1
cmp ecx, 0xd
jle case.0x45a0b6.14
cmp ecx, 0x85
je case.0x45a0b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45a184
jmp 0x45a38b
mov edx, 1
cmp ecx, edx
jl 0x45a38b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x45a0b6.14
cmp ecx, 0xd
jle 0x45a1fd
cmp ecx, 0x85
jne case.0x45a0b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45a1d0
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
jmp 0x45a220
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x45a0b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45a220
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x45a0b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45a260
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x45a0b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45a2a0
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x45a0b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45a2e0
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
jmp 0x45a320
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x45a0b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45a320
jmp 0x45a38b
mov edi, 1
cmp ecx, edi
jl 0x45a392
jmp 0x45a360
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45847d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x45a0b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45a360
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x45312a
cmp dword [esp + 0x84], 0
je 0x45a3f2
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45a3d5
cmp eax, 0xa
ja case.0x45c4d7.9
jmp dword [eax*4 + 0x461270]
mov esi, dword [esi]
test esi, esi
je case.default.0x45c9a4
mov edi, 0xfffffff2
jmp 0x45c990
cmp dword [esi + 0x7c], 0x16
je 0x4605c3
test edx, edx
jne 0x4605ae
mov dword [esi + 0x84], ecx
jmp 0x45d825
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45b42b
cmp eax, 0xa
ja case.0x45c4d7.9
jmp dword [eax*4 + 0x46129c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45b418
mov ebx, dword [esp + 0x8c]
jmp 0x45a430
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x45a49b
movzx ecx, byte [edx]
test ebx, ebx
je 0x45a47e
cmp ecx, 0xc0
jb 0x45a47e
test cl, 0x20
jne 0x45a458
mov eax, 2
jmp 0x45a47e
test cl, 0x10
jne 0x45a464
mov eax, 3
jmp 0x45a47e
test cl, 8
jne 0x45a470
mov eax, 4
jmp 0x45a47e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x45b418
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45a430
jmp 0x45b418
cmp dword [ebp + 0x88], 0
je 0x45b418
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b418
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45b418
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x45c990
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45b418
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45a65e
movzx ebx, byte [edi]
test edx, edx
je 0x45a5dc
cmp ebx, 0xc0
jb 0x45a5dc
test bl, 0x20
jne 0x45a53e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45a5d4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45a55d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45a5d4
and eax, 0x3f
test bl, 8
jne 0x45a57d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45a5d4
test bl, 4
jne 0x45a5a6
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 0x45a5d4
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45a5fe
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
cmp eax, 9
je 0x45a623
cmp eax, 5
je 0x45a623
cmp eax, 8
je 0x45a623
xor eax, eax
jmp 0x45a628
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45b418
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 0x45a500
jmp 0x45b418
cmp dword [ebp + 0x88], 0
je 0x45b418
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b418
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x45b418
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edi, 0xfffffff4
jmp 0x45c990
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45b418
jmp 0x45a6c0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45a842
movzx ebx, byte [edi]
test edx, edx
je 0x45a7c3
cmp ebx, 0xc0
jb 0x45a7c3
test bl, 0x20
jne 0x45a70a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45a7bb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45a732
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45a7bb
and eax, 0x3f
test bl, 8
jne 0x45a758
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 0x45a7bb
test bl, 4
jne 0x45a787
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 0x45a7bb
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45a7e5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45b418
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 0x45a6c0
jmp 0x45b418
cmp dword [ebp + 0x88], 0
je 0x45b418
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b418
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x45a683
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45b418
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45a842
movzx ebx, byte [edi]
test edx, edx
je 0x45a98f
cmp ebx, 0xc0
jb 0x45a98f
test bl, 0x20
jne 0x45a8d6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45a987
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45a8fe
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45a987
and eax, 0x3f
test bl, 8
jne 0x45a924
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 0x45a987
test bl, 4
jne 0x45a953
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 0x45a987
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45a9b1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45b418
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 0x45a890
jmp 0x45b418
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45b418
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45a842
movzx ebx, byte [edi]
test edx, edx
je 0x45ab23
cmp ebx, 0xc0
jb 0x45ab23
test bl, 0x20
jne 0x45aa6a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45ab1b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45aa92
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45ab1b
and eax, 0x3f
test bl, 8
jne 0x45aab8
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 0x45ab1b
test bl, 4
jne 0x45aae7
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 0x45ab1b
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45ab45
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45b418
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 0x45aa20
jmp 0x45b418
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45b418
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45a65e
movzx ebx, byte [edi]
test edx, edx
je 0x45ac93
cmp ebx, 0xc0
jb 0x45ac93
test bl, 0x20
jne 0x45abf2
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45ac8b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45ac14
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45ac8b
and eax, 0x3f
test bl, 8
jne 0x45ac34
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45ac8b
test bl, 4
jne 0x45ac5d
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 0x45ac8b
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45acb5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x45acdc
cmp eax, 3
je 0x45acdc
xor eax, eax
jmp 0x45ace1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45b418
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 0x45abb4
jmp 0x45b418
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45b418
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45a842
movzx ebx, byte [edi]
test edx, edx
je 0x45ae3d
cmp ebx, 0xc0
jb 0x45ae3d
test bl, 0x20
jne 0x45ad82
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x45ae3d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45adaa
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x45ae33
and eax, 0x3f
test bl, 8
jne 0x45add0
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 0x45ae33
test bl, 4
jne 0x45adff
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 0x45ae33
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 0x45ae80
je case.0x45aea0.8192
cmp ebx, 0x85
ja 0x45ae6c
je case.0x45aea0.8192
cmp ebx, 9
jb case.0x45aea0.8203
cmp ebx, 0xd
jbe case.0x45aea0.8192
cmp ebx, 0x20
jmp 0x45aeb5
cmp ebx, 0xa0
je case.0x45aea0.8192
cmp ebx, 0x1680
jmp 0x45aeb5
cmp ebx, 0x202f
ja 0x45aea7
je case.0x45aea0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x45aea0.8203
movzx eax, byte [eax + 0x4612d0]
jmp dword [eax*4 + 0x4612c8]
cmp ebx, 0x205f
je case.0x45aea0.8192
cmp ebx, 0x3000
je case.0x45aea0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45aed9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
cmp dword [eax*4 + 0x4ff0b0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45b418
mov edx, dword [esp + 0x8c]
jmp 0x45af14
cmp dword [esi + 0x68], 0
jne 0x45b418
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 0x45ad30
jmp 0x45b418
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45b418
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45a842
movzx ebx, byte [edi]
test edx, edx
je 0x45b063
cmp ebx, 0xc0
jb 0x45b063
test bl, 0x20
jne 0x45afaa
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45b05b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45afd2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45b05b
and eax, 0x3f
test bl, 8
jne 0x45aff8
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 0x45b05b
test bl, 4
jne 0x45b027
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 0x45b05b
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 + 0x500920]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45b086
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x45b0b2
cmp eax, 3
je 0x45b0b2
cmp ebx, 0x5f
je 0x45b0b2
xor eax, eax
jmp 0x45b0b7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45b418
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 0x45af60
jmp 0x45b418
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45b418
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45b24f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x45b1f1
cmp edx, 0xc0
jb 0x45b1f1
test dl, 0x20
jne 0x45b154
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x45b1e9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45b173
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x45b1e9
and eax, 0x3f
test dl, 8
jne 0x45b193
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45b1e9
test dl, 4
jne 0x45b1bc
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 0x45b1e9
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 + 0x4ff160]
lea eax, [eax*4 + 0x4ff160]
cmp edx, ecx
jb 0x45b213
lea eax, [eax + 4]
cmp edx, ecx
je 0x45b243
mov ecx, dword [eax]
cmp edx, ecx
jae 0x45b206
cmp dword [esi + 0x68], 0
je 0x45b418
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 0x45b110
jmp 0x45b418
cmp dword [esi + 0x68], 0
jne 0x45b418
jmp 0x45b21d
cmp dword [ebp + 0x88], 0
je 0x45b418
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b418
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x45b418
jmp 0x454096
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45b418
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45b3f0
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x45b3a7
cmp edx, 0xc0
jb 0x45b3a7
test dl, 0x20
jne 0x45b2dd
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45b3a7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45b307
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 0x45b3a7
test dl, 8
jne 0x45b333
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 0x45b3a7
test dl, 4
jne 0x45b36b
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 0x45b3a7
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 0x45b3d2
cmp edx, 0x40
je 0x45b3d2
cmp edx, 0x60
je 0x45b3d2
cmp edx, 0xa0
jb 0x45b3c6
cmp edx, 0xd7ff
jbe 0x45b3d2
cmp edx, 0xe000
jae 0x45b3d2
xor ecx, ecx
jmp 0x45b3d7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x45b418
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45b291
jmp 0x45b418
cmp dword [ebp + 0x88], 0
je 0x45b418
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b418
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
je 0x45f8cc
jmp 0x45312a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x45b7c7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x45b778
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45b750
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x45b550
cmp ebx, 0xc0
jb 0x45b550
test bl, 0x20
jne 0x45b499
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45b54d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45b4c0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45b546
test bl, 8
jne 0x45b4e3
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 0x45b546
test bl, 4
jne 0x45b512
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 0x45b546
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45b572
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a2]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45b70d
jmp 0x45b5a0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45b69e
cmp ebx, 0xc0
jb 0x45b69e
test bl, 0x20
jne 0x45b5d5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45b696
test bl, 0x10
jne 0x45b5fa
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 0x45b696
test bl, 8
jne 0x45b628
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 0x45b696
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45b662
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 0x45b696
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45b6c0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx ecx, byte [eax*8 + 0x4ff2a2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4ff128], eax
je 0x45b706
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 0x45b5a0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x45b73a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45b73a
cmp eax, dword [ebp + 0x84]
jbe 0x45b73a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x45b450
jmp 0x45b778
cmp dword [ebp + 0x88], 0
je 0x45b778
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b778
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
cmp dword [esp + 0x80], 0
jne 0x45312a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460cf5
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460ceb
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
add eax, 0xfffffffa
test edx, edx
je 0x45c4ce
cmp eax, 0xf
ja case.0x45c4d7.9
jmp dword [eax*4 + 0x4612fc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45b8b6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45b829
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00462ec0
add esp, 0x14
test eax, eax
jne 0x45c4bb
jmp 0x45b84d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45b84d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45b84d
cmp edx, 1
je 0x45c4bb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45c4bb
cmp dword [ebp + 0x88], 0
je 0x45b888
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45b888
cmp dword [ebp + 0x18], 0
jne 0x45b888
cmp dword [edi], 2
jne 0x45b888
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45b888
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45b8a4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45b8a4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x45b893
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x45b7f4
jmp 0x45c4bb
cmp dword [ebp + 0x88], 0
je 0x45c4bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45c4bb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45c4bb
jmp 0x454096
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x45b948
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x45c4bb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x45b8b6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45b93a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45b93a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x45b922
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x45b910
jmp 0x45c4bb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x45c4bb
cmp eax, dword [ebp + 0x84]
jbe 0x45c4bb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45c4bb
jmp 0x45a689
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 0x45b9cf
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x45c4bb
cmp edx, dword [ebp + 0x84]
jbe 0x45c4bb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45c4bb
jmp 0x454096
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x45c4bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45b8b6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45bafa
test dl, 0x20
jne 0x45ba2e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45bafa
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45ba58
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 0x45baf8
test dl, 8
jne 0x45ba84
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 0x45baf8
test dl, 4
jne 0x45babc
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 0x45baf8
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 0x45bb16
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x45c4bb
cmp byte [eax], 0xa
jne 0x45bb50
inc eax
jmp 0x45bb4d
cmp edx, 0xa
je 0x45bb4b
cmp dword [ebp + 0x68], 0
jne 0x45c4bb
cmp edx, 0xb
je 0x45bb4b
cmp edx, 0xc
je 0x45bb4b
cmp edx, 0x85
je 0x45bb4b
cmp edx, 0x2028
je 0x45bb4b
cmp edx, 0x2029
jne 0x45c4bb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x45b9f0
jmp 0x45c4bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bcca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45bc48
test dl, 0x20
jne 0x45bbaa
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45bc40
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45bbc9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45bc40
and eax, 0x3f
test dl, 8
jne 0x45bbe9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45bc40
test dl, 4
jne 0x45bc12
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 0x45bc40
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 0x45bc6e
je 0x45bc9c
cmp edx, 0xa0
ja 0x45bc66
je 0x45bc9c
cmp edx, 9
je 0x45bc9c
cmp edx, 0x20
jmp 0x45bc96
cmp edx, 0x1680
jmp 0x45bc96
cmp edx, 0x205f
ja 0x45bc90
je 0x45bc9c
cmp edx, 0x2000
jb 0x45bc98
cmp edx, 0x200a
jbe 0x45bc9c
cmp edx, 0x202f
jmp 0x45bc96
cmp edx, 0x3000
je 0x45bc9c
xor edx, edx
jmp 0x45bca1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x45c4bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45bb74
jmp 0x45c4bb
cmp dword [ebp + 0x88], 0
je 0x45c4bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45c4bb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x45c4bb
jmp 0x454096
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bcca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45bde0
test dl, 0x20
jne 0x45bd42
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45bdd8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45bd61
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45bdd8
and eax, 0x3f
test dl, 8
jne 0x45bd81
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45bdd8
test dl, 4
jne 0x45bdaa
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 0x45bdd8
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 0x45be1f
je 0x45be2a
cmp edx, 0xa
jb 0x45bdf4
cmp edx, 0xd
jbe 0x45be2a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x45c4bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45bd10
jmp 0x45c4bb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x45bdf4
mov edx, 1
jmp 0x45bdf6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bcca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45bf17
test dl, 0x20
jne 0x45be79
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45bf0f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45be98
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45bf0f
and eax, 0x3f
test dl, 8
jne 0x45beb8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45bf0f
test dl, 4
jne 0x45bee1
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 0x45bf0f
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 0x45bf2c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x45c4bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45be43
jmp 0x45c4bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
jmp 0x45bf60
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bcca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45c034
test dl, 0x20
jne 0x45bf96
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45c02c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45bfb5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c02c
and eax, 0x3f
test dl, 8
jne 0x45bfd5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45c02c
test dl, 4
jne 0x45bffe
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 0x45c02c
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 0x45c4bb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x45c4bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45bf60
jmp 0x45c4bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
jmp 0x45c080
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bcca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45c154
test dl, 0x20
jne 0x45c0b6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45c14c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45c0d5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c14c
and eax, 0x3f
test dl, 8
jne 0x45c0f5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45c14c
test dl, 4
jne 0x45c11e
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 0x45c14c
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 0x45c169
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x45c4bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45c080
jmp 0x45c4bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bcca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45c267
test dl, 0x20
jne 0x45c1c9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45c25f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45c1e8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c25f
and eax, 0x3f
test dl, 8
jne 0x45c208
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45c25f
test dl, 4
jne 0x45c231
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 0x45c25f
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 0x45c4bb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x45c4bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45c193
jmp 0x45c4bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bcca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45c384
test dl, 0x20
jne 0x45c2e6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45c37c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45c305
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c37c
and eax, 0x3f
test dl, 8
jne 0x45c325
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45c37c
test dl, 4
jne 0x45c34e
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 0x45c37c
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 0x45c399
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x45c4bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45c2b0
jmp 0x45c4bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c4bb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bcca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45c497
test dl, 0x20
jne 0x45c3f9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45c48f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45c418
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45c48f
and eax, 0x3f
test dl, 8
jne 0x45c438
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45c48f
test dl, 4
jne 0x45c461
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 0x45c48f
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 0x45c4bb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x45c4bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45c3c3
cmp dword [esp + 0x80], 0
je 0x45ed88
jmp 0x45312a
cmp eax, 0xf
ja case.0x45c4d7.9
jmp dword [eax*4 + 0x46133c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c967
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45c594
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45c520
push 0
push edi
push eax
push edx
push ecx
call fcn.00462ec0
add esp, 0x14
test eax, eax
jne 0x45c967
jmp 0x45c544
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45c544
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45c544
cmp edx, 1
je 0x45c967
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45c967
cmp dword [ebp + 0x88], 0
je 0x45c57f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45c57f
cmp dword [ebp + 0x18], 0
jne 0x45c57f
cmp dword [edi], 2
jne 0x45c57f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45c57f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x45c4f0
jmp 0x45c967
cmp dword [ebp + 0x88], 0
je 0x45c967
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45c967
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45c967
jmp 0x454096
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 0x45c618
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x45c967
cmp edx, dword [ebp + 0x84]
jbe 0x45c967
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45c967
jmp 0x454096
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x45c967
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45c967
jmp 0x45c640
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c594
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x45c66b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x45c967
cmp byte [eax], 0xa
jne 0x45c695
inc eax
jmp 0x45c692
cmp eax, 0xa
je 0x45c68f
cmp dword [ebp + 0x68], 0
jne 0x45c967
cmp eax, 0xb
je 0x45c68f
cmp eax, 0xc
je 0x45c68f
cmp eax, 0x85
jne 0x45c967
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x45c640
jmp 0x45c967
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45c967
jmp 0x45c6c0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c594
mov al, byte [ecx]
cmp al, 9
je 0x45c967
cmp al, 0x20
je 0x45c967
cmp al, 0xa0
je 0x45c967
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45c6c0
jmp 0x45c967
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45c967
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c594
mov al, byte [ecx]
cmp al, 9
je 0x45c72e
cmp al, 0x20
je 0x45c72e
cmp al, 0xa0
jne 0x45c967
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45c710
jmp 0x45c967
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45c967
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c594
mov al, byte [ecx]
cmp al, 0xa
jb 0x45c776
cmp al, 0xd
jbe 0x45c967
cmp al, 0x85
je 0x45c967
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45c754
jmp 0x45c967
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45c967
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c594
mov al, byte [ecx]
cmp al, 0xa
jb 0x45c967
cmp al, 0xd
jbe 0x45c7c2
cmp al, 0x85
jne 0x45c967
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45c7a0
jmp 0x45c967
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45c967
jmp 0x45c7f0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c594
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x45c967
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45c7f0
jmp 0x45c967
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45c967
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c594
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x45c967
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45c832
jmp 0x45c967
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45c967
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c594
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x45c967
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45c874
jmp 0x45c967
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45c967
jmp 0x45c8c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c594
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x45c967
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45c8c0
jmp 0x45c967
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45c967
jmp 0x45c900
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c594
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x45c967
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45c900
jmp 0x45c967
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45c967
jmp 0x45c940
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c594
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x45c967
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45c940
cmp dword [esp + 0x80], 0
je 0x45d9ca
jmp 0x45312a
mov esi, dword [esi]
test esi, esi
je 0x460e41
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.0x45c9a4
jmp dword [eax*4 + 0x46137c]
cmp edi, 0xfffffc1b
je 0x45ca76
cmp edi, 0xfffffc20
jne 0x45c9f3
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.0x45c9a4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45c9ef
cmp byte [ecx], 0x77
jne case.0x45c9a4.49
xor edi, edi
jmp 0x45c9fb
test edi, edi
jne case.0x45c9a4.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 0x45ca76
cmp dword [esi + 0x9c], 0x88
jb 0x45ca41
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4607ca
push 0x134
call dword [0x1df2d88]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4607c0
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x45ce6c
mov edx, dword [esp + 0x8c]
jmp 0x45c994
cmp edi, 0xfffffc20
jne 0x45cb33
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 0x45cb81
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45cafe
cmp byte [ecx], 0x77
jne 0x45cb81
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 0x45cb97
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c994
test edi, edi
je 0x45cafe
cmp edi, 0xfffffc1b
jne 0x45cb81
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x45cb73
cmp al, 0x77
jne 0x45cb64
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 0x45cb50
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 0x45ce6c
mov edx, dword [esp + 0x8c]
jmp 0x45c994
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x45cbe9
cmp eax, 0x81
je 0x45cbe9
cmp dword [ebp + 0x6c], 0
jne 0x45cbf3
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 0x45cbf3
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x4fef98]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x4530b0
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 0x4607ec
push 0x134
call dword [0x1df2d88]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4607e2
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
cmp edi, 1
jne 0x45ccb3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x45cc50
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x45cc63
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 0x45cc99
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 0x45cc80
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x4fef98]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x45355e.145
test edi, edi
je 0x45ccc3
cmp edi, 0xfffffc20
jne case.0x45c9a4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x45ccd9
movzx eax, byte [edx + 0x4fef98]
jmp 0x45ccdc
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x45ccf9
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x453131
cmp dword [esi + 0x9c], 0x8c
jne 0x4530b0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46080e
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460804
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
cmp edi, 1
je 0x45cdf2
cmp edi, 0xfffffc19
je 0x45cdf2
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x45cd9a
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.0x45c9a4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45cda2
cmp byte [ecx], 0x77
jmp 0x45cd9c
test edi, edi
jne case.0x45c9a4.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 0x45cdf8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460827
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46081d
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x45ce11
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c994
cmp dword [esi + 0x58], 0
je 0x46044e
mov esi, dword [esi]
test esi, esi
je 0x460de6
mov edi, 1
jmp 0x45c994
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x45cedd
je 0x45ce76
cmp edi, 0xfffffc19
je 0x45d713
cmp edi, 0xfffffc1b
jle case.0x45c9a4.49
cmp edi, 0xfffffc1f
jle 0x45ce9e
mov esi, dword [esi]
test esi, esi
jne 0x45c994
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 0x45ce9e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45cef0
cmp byte [ecx], 0x77
je 0x45cef0
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 0x45cea1
cmp dword [esi + 0x58], 0
je 0x45d127
mov esi, dword [esi]
test esi, esi
je 0x460de6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x45c994
mov eax, edi
sub eax, 0
je 0x45cef0
dec eax
je 0x45d713
jmp case.0x45c9a4.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 0x45ceb8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46083d
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460833
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
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 0x46047c
cmp edi, 0xfffffc19
je 0x46047c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x45cfa9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x453f2b
push ecx
call dword [0x1df2d84]
add esp, 4
jmp 0x453f2b
test edi, edi
je 0x45cfd3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45cfc4
push ecx
call dword [0x1df2d84]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x45ce6c
jmp 0x45c989
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 0x45d039
cmp dword [esi + 0x58], 0
je 0x45d004
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x460883
push 0x134
call dword [0x1df2d88]
mov edx, eax
add esp, 4
test edx, edx
jne 0x460879
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x45cf89
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x45d093
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4608d1
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4608c7
mov esi, dword [esi]
test esi, esi
je 0x460d9b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45c994
cmp al, 0x88
jb 0x4605d4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4608f3
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4608e9
mov esi, dword [esi]
test esi, esi
je 0x460d9b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45c994
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x460df3
mov edi, 0xfffffc1b
jmp 0x45c994
test edi, edi
jne case.0x45c9a4.49
mov edx, dword [esi + 0x2c]
jmp 0x45d110
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 0x45d110
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45312a
test edi, edi
je 0x4549a4
jmp case.0x45c9a4.49
test edi, edi
je 0x45d0df
jmp case.0x45c9a4.49
cmp edi, 0xfffffc1b
jne 0x45d15b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x45d15d
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x45df4b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460915
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46090b
mov esi, dword [esi]
test esi, esi
je 0x460d9b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45c994
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d1d0
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.004615d0
add esp, 0x14
test eax, eax
jns 0x45d237
cmp eax, 0xfffffffe
jne 0x45d1f9
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x45ed11
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45ed11
cmp eax, dword [ebp + 0x84]
jbe 0x45ed11
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x455f4e
jmp 0x45ed11
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46093a
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460930
mov esi, dword [esi]
test esi, esi
je 0x460d9b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x45c994
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x45a0b6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460953
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460949
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d2f7
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45edf6
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 0x45ed11
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46096c
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460962
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x453f2b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460985
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46097b
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d3d1
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45edf6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45d401
cmp dword [esi + 0x94], ecx
je 0x45d401
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c994
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46099e
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460994
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
dec dword [esi + 8]
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4609b7
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4609ad
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d4b1
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45edf6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x45ed11
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4609d0
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4609c6
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
dec dword [esi + 8]
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4609e9
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4609df
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d57e
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45edf6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45d713
cmp dword [esi + 0x94], ecx
je 0x45d713
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460a02
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4609f8
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460a1b
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460a11
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d655
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45edf6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x45ed11
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460a31
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460a27
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460a47
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460a3d
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d724
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c994
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x45d76b
cmp dword [ebp + 0x88], 0
je 0x45d753
cmp ecx, dword [ebp + 0x84]
jbe 0x45d753
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x455f4e
mov esi, dword [esi]
test esi, esi
je 0x460da8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45c994
cmp dword [esi + 0x7c], 0xc
jne 0x45d792
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x45d7b4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00462ec0
add esp, 0x14
test eax, eax
jne 0x45d7d1
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.0x45d7ad.15
jmp dword [eax*4 + 0x461488]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x45d792
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45d792
cmp edi, 1
je 0x45d7d1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x45d792
mov esi, dword [esi]
test esi, esi
je 0x460da8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45c994
cmp dword [ebp + 0x88], 0
je case.0x45d7ad.13
cmp edx, dword [ebp + 0x78]
jb case.0x45d7ad.13
cmp dword [ebp + 0x18], 0
jne case.0x45d7ad.13
cmp dword [ebp + 0x1c], 2
jne case.0x45d7ad.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x45d7ad.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x455f4e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460a5d
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460a53
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x45d86d.14
movzx eax, byte [ecx + 0x4614d8]
jmp dword [eax*4 + 0x4614c8]
cmp edx, dword [ebp + 0x78]
jae case.0x45d7ad.13
cmp byte [edx], 0xa
jne case.0x45d7ad.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x45d7ad.13
cmp dword [ebp + 0x68], 0
je case.0x45d7ad.13
jmp case.0x45d86d.14
cmp ecx, 9
je case.0x45d86d.14
cmp ecx, 0x20
je case.0x45d86d.14
cmp ecx, 0xa0
jmp 0x45d96a
cmp ecx, 9
je case.0x45d7ad.13
cmp ecx, 0x20
je case.0x45d7ad.13
cmp ecx, 0xa0
je case.0x45d7ad.13
jmp case.0x45d86d.14
cmp ecx, 0xa
jb case.0x45d7ad.13
cmp ecx, 0xd
jbe case.0x45d86d.14
cmp ecx, 0x85
jmp 0x45d96a
cmp ecx, 0xa
jb case.0x45d86d.14
cmp ecx, 0xd
jbe case.0x45d7ad.13
cmp ecx, 0x85
je case.0x45d7ad.13
jmp case.0x45d86d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x45d7ad.13
jmp case.0x45d86d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x45d96a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x45d7ad.13
jmp case.0x45d86d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x45d96a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x45d7ad.13
mov esi, dword [esi]
test esi, esi
je 0x460da8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45c994
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x45d7ad.13
mov esi, dword [esi]
test esi, esi
je 0x460da8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45c994
mov esi, dword [esi]
test esi, esi
je case.default.0x45c9a4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x45c994
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x45d9ca
cmp eax, dword [esi + 0x30]
jbe 0x45d9ca
cmp byte [eax], 0xa
jne 0x45d9ca
cmp byte [eax - 1], 0xd
jne 0x45d9ca
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460a73
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460a69
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
cmp edi, 0xfffffc1a
jne 0x45da61
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 0x45da59
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 0x45da40
jmp 0x45dab8
mov dword [esi + 8], eax
jmp 0x45dadd
cmp edi, 0xfffffc20
jne 0x45da95
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.0x45c9a4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45da9d
cmp byte [ecx], 0x77
jmp 0x45da97
test edi, edi
jne case.0x45c9a4.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 0x45dad1
cmp dword [esi + 0x5c], 0
jne 0x45d127
cmp dword [esi + 0x54], 0
jne 0x45d127
jmp 0x45ed11
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x45daf3
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x460ab5
push 0x134
call dword [0x1df2d88]
mov edx, eax
add esp, 4
test edx, edx
jne 0x460aab
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
mov esi, dword [esi]
test edi, edi
jne 0x45ce64
test esi, esi
je 0x460e0d
mov edi, 0xfffffc1c
jmp 0x45c994
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x460e27
mov edi, 0xfffffc1e
jmp 0x45c994
cmp edi, 1
je 0x45db73
cmp edi, 0xfffffc19
jne 0x45db8d
cmp dword [ebp + 0xac], 0
jne 0x45db8d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x45cb81
cmp edi, 0xfffffc1f
jne 0x45cb81
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45dbc2
test dl, dl
je 0x45dbbe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45dbc2
add eax, 2
add ecx, 2
test dl, dl
jne 0x45dba2
xor eax, eax
jmp 0x45dbc7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x45cb81
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x460e27
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x45c994
cmp edi, 1
je 0x45dbfd
cmp edi, 0xfffffc19
jne case.0x45c9a4.51
cmp dword [ebp + 0xac], 0
jne case.0x45c9a4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x45ce64
test esi, esi
je 0x460e00
mov edi, 0xfffffc1d
jmp 0x45c994
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x460e34
mov edi, 0xfffffc1f
jmp 0x45c994
cmp edi, 1
je 0x45dc60
cmp edi, 0xfffffc19
jne case.0x45c9a4.54
cmp dword [ebp + 0xac], 0
jne case.0x45c9a4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x460e1a
mov edi, 0xfffffc20
jmp 0x45c994
cmp edi, 0xfffffc1a
jne 0x45dd01
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 0x45dcf9
mov edx, dword [esi + 0xc]
jmp 0x45dce0
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 0x45dce0
jmp 0x45dd68
mov dword [esi + 8], eax
jmp 0x453c62
cmp edi, 0xfffffc20
jne 0x45dd35
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.0x45c9a4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45dd3d
cmp byte [ecx], 0x77
jmp 0x45dd37
test edi, edi
jne case.0x45c9a4.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 0x453c62
cmp dword [esi + 0x5c], 0
jne 0x45dda8
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 0x453126
cmp dword [esi + 0x5c], 0
jne 0x453126
jmp 0x45ed11
cmp edi, 1
jne 0x45de64
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x45dde1
cmp al, 0x77
jne 0x45ed11
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 0x45dde1
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 0x453126
cmp ecx, dword [esi + 0x38]
je 0x453126
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x45defd
test ecx, ecx
jne 0x460b1e
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460b14
mov esi, dword [esi]
test esi, esi
je 0x460d9b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45c994
cmp edi, 0xfffffc20
jne 0x45de98
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.0x45c9a4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45dea0
cmp byte [ecx], 0x77
jmp 0x45de9a
test edi, edi
jne case.0x45c9a4.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 0x45ddd0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460af9
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460aef
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test ecx, ecx
jne 0x460b43
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460b39
mov esi, dword [esi]
test esi, esi
je 0x460d9b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45c994
test edi, edi
je 0x4605d4
jmp case.0x45c9a4.49
test edi, edi
jne case.0x45c9a4.49
add dword [esi + 0xc], 3
jmp 0x4530b0
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45df79
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45e07a
cmp ebx, 0xc0
jb 0x45e07a
test bl, 0x20
jne 0x45dfbb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45e077
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45dfe5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45e07a
mov edx, dword [esi + 8]
test bl, 8
jne 0x45e00b
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 0x45e06e
test bl, 4
jne 0x45e03a
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 0x45e06e
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.00462850
add esp, 0xc
test eax, eax
je 0x453f2b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460b65
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460b5b
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x45ed11
cmp dword [esp + 0x8c], edi
je 0x45e101
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45e101
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x45e0f5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460b7e
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460b74
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45e15b
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x45e250
test bl, 0x20
jne 0x45e195
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45e24d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45e1bf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45e250
mov edx, dword [esi + 8]
test bl, 8
jne 0x45e1e8
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 0x45e24b
test bl, 4
jne 0x45e217
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 0x45e24b
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 0x45e266
cmp dword [esi + 0x9c], 0x6e
jne 0x45e283
jmp 0x453f2b
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 0x453f2b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460b97
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460b8d
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x453f2b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45e2ec
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x45e2e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460bb0
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460ba6
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45e346
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
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 0x45e3b5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x45e375
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45e37a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45e364
cmp edi, 0xfffffffc
je 0x45e3a7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45e3b2
cmp edi, 0xfffffffd
je 0x45e3a7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45e3b2
cmp edi, 0xfffffffe
je 0x45e3a7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45e3b2
cmp edi, 0xffffffff
je 0x45e3a7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45e3b2
mov eax, dword [esi + 0x88]
jmp 0x45e420
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x45e460
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x45e460
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x45e3e7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45e3ec
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45e3d6
cmp edi, 0xfffffffc
je 0x45e41d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45e460
cmp edi, 0xfffffffd
je 0x45e41d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45e460
cmp edi, 0xfffffffe
je 0x45e41d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45e460
cmp edi, 0xffffffff
je 0x45e41d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45e460
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 0x460bc9
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460bbf
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
cmp dword [ebp + 0x88], 0
je case.0x45a0b6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x45a0b6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x45a0b6.14
jmp 0x454082
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45e4ac
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45e4a0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460be2
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460bd8
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45e512
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45e612
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x45e54c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45e60f
test dl, 0x10
jne 0x45e56e
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 0x45e612
mov ecx, dword [esi + 8]
test dl, 8
jne 0x45e59e
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 0x45e60f
test dl, 4
jne 0x45e5d4
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 0x45e60f
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 0x45d7d1
cmp dword [esi + 0x94], edx
je 0x45d7d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e659
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x45d265
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x460a7d
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45e68c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45e680
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460bfb
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460bf1
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45e6f2
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x45e7e7
test bl, 0x20
jne 0x45e72c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45e7e4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45e756
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45e7e7
mov edx, dword [esi + 8]
test bl, 8
jne 0x45e77f
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 0x45e7e2
test bl, 4
jne 0x45e7ae
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 0x45e7e2
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 0x453f2b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460c14
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460c0a
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45e850
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45e844
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460c2d
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460c23
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45e8b6
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x45e8f2
cmp dword [ebp + 0x88], 0
je 0x45ed11
cmp ecx, dword [ebp + 0x84]
jbe 0x45ed11
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x455f4e
jmp 0x45ed11
cmp dword [esi + 0x7c], 0xc
jne 0x45e944
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x45e91f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00462ec0
add esp, 0x14
test eax, eax
jne 0x45ed11
jmp 0x45e944
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x45e944
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45e944
cmp edi, 1
je 0x45ed11
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45ed11
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45ea2c
test dl, 0x20
jne 0x45e977
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45ea29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45e99e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45ea27
test dl, 8
jne 0x45e9c4
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 0x45ea27
test dl, 4
jne 0x45e9f3
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 0x45ea27
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.0x45ea3b.15
jmp dword [eax*4 + 0x461554]
cmp dword [ebp + 0x88], 0
je case.0x45ea3b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x45ea3b.13
cmp dword [ebp + 0x18], 0
jne case.0x45ea3b.13
cmp dword [ebp + 0x1c], 2
jne case.0x45ea3b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x45ea3b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x45ea3b.13
jmp 0x455f4e
cmp edx, 0xd
ja 0x45eabe
je 0x45eaab
cmp edx, 0xa
je case.0x45ea3b.13
jbe 0x45ed11
cmp edx, 0xc
jmp 0x45ead8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x45ea3b.13
cmp byte [eax], 0xa
jne case.0x45ea3b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x45ea3b.13
cmp edx, 0x85
je 0x45eade
cmp edx, 0x2027
jbe 0x45ed11
cmp edx, 0x2029
ja 0x45ed11
cmp dword [ebp + 0x68], 0
je case.0x45ea3b.13
jmp 0x45ed11
cmp edx, 0x180e
ja 0x45eb5d
je 0x45ed11
cmp edx, 0xa0
ja 0x45eb55
je 0x45ed11
cmp edx, 9
je 0x45ed11
cmp edx, 0x20
je 0x45ed11
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45eb46
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x45d265
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x460a7d
cmp edx, 0x1680
jmp 0x45eb11
cmp edx, 0x205f
ja 0x45eb87
je 0x45ed11
cmp edx, 0x2000
jb case.0x45ea3b.13
cmp edx, 0x200a
jbe 0x45ed11
cmp edx, 0x202f
jmp 0x45eb11
cmp edx, 0x3000
jmp 0x45ed0b
cmp edx, 0x180e
ja 0x45ebc4
je case.0x45ea3b.13
cmp edx, 0xa0
ja 0x45ebbc
je case.0x45ea3b.13
cmp edx, 9
je case.0x45ea3b.13
cmp edx, 0x20
jmp 0x45ebf8
cmp edx, 0x1680
jmp 0x45ebf8
cmp edx, 0x205f
ja 0x45ebf2
je case.0x45ea3b.13
cmp edx, 0x2000
jb 0x45ed11
cmp edx, 0x200a
jbe case.0x45ea3b.13
cmp edx, 0x202f
jmp 0x45ebf8
cmp edx, 0x3000
je case.0x45ea3b.13
jmp 0x45ed11
cmp edx, 0x85
ja 0x45ec28
je 0x45ed11
cmp edx, 0xa
jb case.0x45ea3b.13
cmp edx, 0xd
jbe 0x45ed11
jmp case.0x45ea3b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x45ea3b.13
jmp 0x45ed11
cmp edx, 0x85
ja 0x45ec58
je case.0x45ea3b.13
cmp edx, 0xa
jb 0x45ed11
cmp edx, 0xd
jmp 0x45ec61
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x45ea3b.13
jmp 0x45ed11
cmp edx, 0x100
jae case.0x45ea3b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x45ea3b.13
jmp 0x45ed11
cmp edx, 0x100
jae 0x45ed11
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x45ed0b
cmp edx, 0x100
jae case.0x45ea3b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x45ea3b.13
jmp 0x45ed11
cmp edx, 0x100
jae 0x45ed11
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x45ed0b
cmp edx, 0x100
jae case.0x45ea3b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x45ea3b.13
mov esi, dword [esi]
test esi, esi
je 0x460da8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45c994
cmp edx, 0x100
jae 0x45ed11
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x45ea3b.13
mov esi, dword [esi]
test esi, esi
je 0x460da8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45c994
mov esi, dword [esi]
test esi, esi
je case.default.0x45c9a4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x45c994
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45ed6c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45ed60
cmp dword [esi + 0x7c], 0x11
jne 0x45ed88
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45ed88
cmp byte [eax], 0xa
jne 0x45ed88
dec eax
cmp byte [eax], 0xd
jne 0x45ed88
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460c46
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460c3c
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45edee
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45ee0e
cmp dword [ebp + 0x88], 0
je 0x45d713
cmp eax, dword [ebp + 0x84]
jmp 0x45f569
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x45ee4d
cmp ecx, 0xc0
jb 0x45ee4d
test cl, 0x20
jne 0x45ee29
inc eax
jmp 0x45ee4a
test cl, 0x10
jne 0x45ee33
add eax, 2
jmp 0x45ee4a
test cl, 8
jne 0x45ee3d
add eax, 3
jmp 0x45ee4a
test cl, 4
jne 0x45ee47
add eax, 4
jmp 0x45ee4a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x45ee64
mov esi, dword [esi]
test esi, esi
je 0x460da8
xor edi, edi
jmp 0x45c994
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45ee93
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x45d265
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x460a7d
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45eec7
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45efc1
cmp ebx, 0xc0
jb 0x45efc1
test bl, 0x20
jne 0x45ef09
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45efbe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45ef33
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45efc1
mov edx, dword [esi + 8]
test bl, 8
jne 0x45ef59
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 0x45efbc
test bl, 4
jne 0x45ef88
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 0x45efbc
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45efe3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
cmp eax, 9
je 0x45f008
cmp eax, 5
je 0x45f008
cmp eax, 8
je 0x45f008
xor eax, eax
jmp 0x45f00d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x453f2b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460c5f
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460c55
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45f076
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45f16c
cmp ebx, 0xc0
jb 0x45f16c
test bl, 0x20
jne 0x45f0b8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f169
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f0e0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45f16c
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f106
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 0x45f169
test bl, 4
jne 0x45f135
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 0x45f169
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f18e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x453f2b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460c78
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460c6e
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45f218
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45f30e
cmp ebx, 0xc0
jb 0x45f30e
test bl, 0x20
jne 0x45f25a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f30b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f282
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45f30e
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f2a8
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 0x45f30b
test bl, 4
jne 0x45f2d7
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 0x45f30b
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f330
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x453f2b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460c91
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460c87
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45f3b3
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45f4a9
cmp ebx, 0xc0
jb 0x45f4a9
test bl, 0x20
jne 0x45f3f5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f4a6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f41d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45f4a9
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f443
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 0x45f4a6
test bl, 4
jne 0x45f472
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 0x45f4a6
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f4cb
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x453f2b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460caa
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460ca0
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45f54e
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45f597
cmp dword [ebp + 0x88], 0
je 0x45d713
cmp edi, dword [ebp + 0x84]
jbe 0x45d713
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45d713
mov esi, dword [esi]
test esi, esi
je 0x460dcc
mov edi, 0xfffffff4
jmp 0x45c994
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45f685
cmp ebx, 0xc0
jb 0x45f685
test bl, 0x20
jne 0x45f5cd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f682
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f5f7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f685
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f61d
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 0x45f680
test bl, 4
jne 0x45f64c
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 0x45f680
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f6a7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45f838
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x45f7d7
cmp ebx, 0xc0
jb 0x45f7d7
test bl, 0x20
jne 0x45f70b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45f7cf
test bl, 0x10
jne 0x45f730
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 0x45f7cf
test bl, 8
jne 0x45f761
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 0x45f7cf
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45f79b
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 0x45f7cf
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f7f9
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx ecx, byte [eax*8 + 0x4ff2a2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4ff128], eax
je 0x45f838
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x45f6d0
cmp dword [ebp + 0x88], 0
je 0x45f865
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45f865
cmp eax, dword [ebp + 0x84]
jbe 0x45f865
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x454096
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460cc3
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460cb9
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x45f8cc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45f8cc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45f8c0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4530b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460cdc
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460cd2
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x45f927
movzx ebx, byte [ecx]
jmp 0x45fa15
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45f93c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45f930
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x45fa15
test bl, 0x20
jne 0x45f95f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x45fa0d
test bl, 0x10
jne 0x45f97f
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 0x45fa0d
test bl, 8
jne 0x45f9a8
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 0x45fa0d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45f9dd
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 0x45fa0d
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45fa37
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a2]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x4530b0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x45fa6f
movzx ebx, byte [edi]
jmp 0x45fb2e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x45fa81
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x45fa77
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x45fb2e
test bl, 0x20
jne 0x45faa1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x45fb26
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45fabe
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x45fb26
and eax, 0x3f
test bl, 8
jne 0x45fad9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45fb26
test bl, 4
jne 0x45fafd
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 0x45fb26
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45fb50
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx edx, byte [eax*8 + 0x4ff2a2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4ff128], eax
je 0x45b786
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x45fa50
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45fbb1
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45fcab
cmp ebx, 0xc0
jb 0x45fcab
test bl, 0x20
jne 0x45fbf3
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fca8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fc1d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fcab
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fc43
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 0x45fca6
test bl, 4
jne 0x45fc72
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 0x45fca6
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 + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x45fccd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x45fcf4
cmp eax, 3
je 0x45fcf4
xor eax, eax
jmp 0x45fcf9
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x453f2b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460d0e
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460d04
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45fd62
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45fe63
cmp ebx, 0xc0
jb 0x45fe63
test bl, 0x20
jne 0x45fda4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fe60
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fdce
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fe63
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fdf4
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 0x45fe57
test bl, 4
jne 0x45fe23
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 0x45fe57
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 0x45fe8e
cmp ebx, 0x40
je 0x45fe8e
cmp ebx, 0x60
je 0x45fe8e
cmp ebx, 0xa0
jb 0x45fe82
cmp ebx, 0xd7ff
jbe 0x45fe8e
cmp ebx, 0xe000
jae 0x45fe8e
xor eax, eax
jmp 0x45fe93
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x454872
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460d27
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460d1d
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45fefc
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45fffd
cmp ebx, 0xc0
jb 0x45fffd
test bl, 0x20
jne 0x45ff3e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fffa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45ff68
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fffd
mov edx, dword [esi + 8]
test bl, 8
jne 0x45ff8e
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 0x45fff1
test bl, 4
jne 0x45ffbd
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 0x45fff1
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 0x460040
je case.0x460060.8192
cmp ebx, 0x85
ja 0x46002c
je case.0x460060.8192
cmp ebx, 9
jb case.0x460060.8203
cmp ebx, 0xd
jbe case.0x460060.8192
cmp ebx, 0x20
jmp 0x460075
cmp ebx, 0xa0
je case.0x460060.8192
cmp ebx, 0x1680
jmp 0x460075
cmp ebx, 0x202f
ja 0x460067
je case.0x460060.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x460060.8203
movzx eax, byte [eax + 0x46159c]
jmp dword [eax*4 + 0x461594]
cmp ebx, 0x205f
je case.0x460060.8192
cmp ebx, 0x3000
je case.0x460060.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x500920]
shl eax, 7
and ebx, 0x8000007f
jns 0x460099
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
cmp dword [eax*4 + 0x4ff0b0], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x4600cc
jmp 0x453f2b
cmp dword [esi + 0x68], 0
jne 0x454872
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460d40
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460d36
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46012c
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x460222
cmp ebx, 0xc0
jb 0x460222
test bl, 0x20
jne 0x46016e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46021f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460196
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x460222
mov edx, dword [esi + 8]
test bl, 8
jne 0x4601bc
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 0x46021f
test bl, 4
jne 0x4601eb
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 0x46021f
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 + 0x500920]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x460245
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x502b20]
movzx eax, byte [eax*8 + 0x4ff2a1]
mov eax, dword [eax*4 + 0x4ff0b0]
cmp eax, 1
je 0x460271
cmp eax, 3
je 0x460271
cmp ebx, 0x5f
je 0x460271
xor eax, eax
jmp 0x460276
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x453f2b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460d59
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460d4f
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
test edi, edi
jne case.0x45c9a4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4602df
mov esi, dword [esi]
test esi, esi
je 0x460da8
jmp 0x45c994
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f556
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4603dc
cmp ebx, 0xc0
jb 0x4603dc
test bl, 0x20
jne 0x460321
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4603d9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460349
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4603dc
mov edx, dword [esi + 8]
test bl, 8
jne 0x46036f
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 0x4603d2
test bl, 4
jne 0x46039e
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 0x4603d2
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 + 0x4ff160]
lea eax, [eax*4 + 0x4ff160]
cmp ebx, ecx
jb 0x4603fe
lea eax, [eax + 4]
cmp ebx, ecx
je 0x460443
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x4603f1
cmp dword [esi + 0x68], 0
je 0x454872
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x460d72
push 0x134
call dword [0x1df2d88]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x460d68
mov esi, dword [esi]
test esi, esi
je 0x460d9b
lea edi, [eax - 6]
jmp 0x45c989
cmp dword [esi + 0x68], 0
je 0x460408
jmp 0x454872
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 0x460451
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x45312a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x460493
push ecx
call dword [0x1df2d84]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x45312a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45e289
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45e095
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45e42b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45e630
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45e7f9
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45ee6a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45f01c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45f1be
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45f359
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45f4f4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45fd08
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4600d2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x460285
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46040e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45fea2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45eb1d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45f86b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x4530b0
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 + 0x4fef98]
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 0x4530a0
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 0x460896
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 0x460896
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x4605ef
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 0x460896
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x4605ef
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 0x460896
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x4605ef
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 0x4530a0
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 0x460a86
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 0x460a86
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 0x460a86
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 0x460a86
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 0x460a86
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 0x460896
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 0x460896
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x460847
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 0x4530a0
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 + 0x4fef98]
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 0x4530a0
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 0x460a86
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 0x460a86
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 0x460a86
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x460a7d
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 0x4530a0
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 0x460896
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 0x460896
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 0x460a86
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 0x460a86
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 0x460a86
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x460a7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x460a7d
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