Function at 0x457060
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 0x4570ee
mov esi, dword [esi]
test esi, esi
je 0x464d91
mov edi, 0xfffffff8
jmp 0x460999
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x45710a
mov esi, dword [esi]
test esi, esi
je 0x464d9e
mov edi, 0xffffffeb
jmp 0x460999
cmp dword [ebp + 0x98], 2
jne 0x457141
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 0x457141
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.0x457174.98
movzx eax, byte [edx + 0x464fac]
jmp dword [eax*4 + 0x464e60]
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 0x4645f5
push 0x134
call dword [0x1143320]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4645ef
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
mov edx, dword [esi + 4]
test edx, edx
jne 0x464645
push 0x134
call dword [0x1143320]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46463f
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
mov edx, dword [esi + 4]
test edx, edx
jne 0x464663
push 0x134
call dword [0x1143320]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46465d
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x464681
push 0x134
call dword [0x1143320]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46467b
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
mov edx, dword [esi + 4]
test edx, edx
jne 0x464696
push 0x134
call dword [0x1143320]
mov edx, eax
add esp, 4
test edx, edx
jne 0x464690
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x4572ce
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x506fa0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x457141
mov edi, dword [esi + 4]
test edi, edi
jne 0x4646b4
push 0x134
call dword [0x1143320]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4646ae
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
mov edx, dword [esi + 4]
test edx, edx
jne 0x4646c9
push 0x134
call dword [0x1143320]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4646c3
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x4646e7
push 0x134
call dword [0x1143320]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4646e1
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x461ed8
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.0x457174.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 0x460a3b
mov dword [esi + 0x54], ebx
jmp 0x457bdf
mov dword [esi + 0x54], ebx
jmp 0x457c03
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 0x457548
mov edi, dword [0x1147220]
test edi, edi
je 0x457534
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 0x4574ee
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 0x457523
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x460999
jns 0x457534
mov esi, dword [esi]
test esi, esi
je 0x460e7c
jmp 0x460999
movzx eax, byte [0x507016]
add dword [esi + 0xc], eax
movzx eax, byte [0x507016]
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.0x45756e.146
movzx eax, byte [eax + 0x465068]
jmp dword [eax*4 + 0x465050]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x45756e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x4575a7
cmp edx, dword [edi + 4]
je 0x4575a7
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x460cd3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x460cd3
cmp dword [ebp + 0xa4], ebx
je case.0x45756e.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.0x45756e.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 0x460cd3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x4575f0
jmp 0x460cd3
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 0x457654
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x457654
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x45756e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x45756e.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 0x460cd3
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 0x4576a9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x4576b8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x457687
jmp 0x460cd3
mov dword [esi + 0x58], 1
jmp 0x460cd3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4646fc
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4646f6
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x457754
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x457136
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 0x457136
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x4577a3
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 0x457136
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x4577f6
cmp edx, 0x9f
je 0x4577f6
cmp dword [ebp + 0xa4], ebx
jne 0x4577f6
cmp dword [ebp + 0x5c], ebx
jne 0x4577e5
cmp dword [ebp + 0x60], ebx
je 0x4577f6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x4577f6
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x460999
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 0x460e7c
jmp 0x460999
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45784f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x460dcd
mov dword [esi + 0x58], ebx
jmp 0x460dcd
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45787b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x460f1b
mov dword [esi + 0x58], ebx
jmp 0x460f1b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x4578e2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x4578c8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x45e0c6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4578c4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4578b8
test edx, edx
jg 0x4578a0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x457136
mov dword [ebp + 0x84], eax
jmp 0x457136
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 0x4578c8
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x4609a0
mov edi, dword [0x1147220]
test edi, edi
je 0x4579ec
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 0x4579a6
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 0x4579db
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x460999
jns 0x4579ec
mov esi, dword [esi]
test esi, esi
je 0x460e7c
jmp 0x460999
add dword [esi + 0xc], 6
jmp 0x45713a
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 0x457a16
xor edx, edx
jmp 0x457a23
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 0x457a43
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x457a3d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x457aa4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x457a30
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 0x457ab8
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 0x461004
mov esi, dword [esi]
test esi, esi
je 0x464dc2
mov edi, 0xffffffe6
jmp 0x460999
shl eax, 2
push eax
call dword [0x1143318]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x457a7e
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x457ae1
jmp 0x457141
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464737
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464731
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x457b40
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464755
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46474f
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x457b93
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x457141
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 0x457bdf
cmp eax, 0x8b
jne 0x457c03
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 0x457c20
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 0x461aed
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 0x457c9d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x464ae7
push 0x134
call dword [0x1143320]
mov edx, eax
add esp, 4
test edx, edx
jne 0x464add
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x457cf8
cmp al, 0x81
je 0x457cf8
mov dword [esi + 0x38], ebx
jmp 0x457d09
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 0x457d16
cmp al, 0x80
jbe 0x457d1a
cmp al, 0x82
jne 0x457d46
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 0x464df6
mov edi, 1
jmp 0x460999
cmp al, 0x85
je 0x457d5a
cmp al, 0x8a
je 0x457d5a
cmp al, 0x86
je 0x457d5a
cmp al, 0x8b
jne 0x457e21
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 0x457d96
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x457d96
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x457d2c
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 0x457dc5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x457e21
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x457de5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x457de5
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 0x457e21
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x457e57
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 0x464dcf
mov edi, 0xfffffc1a
jmp 0x460999
cmp cl, 0x78
je 0x457ed0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x457ed0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x457e9e
test ecx, ecx
jne 0x464776
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464770
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test ecx, ecx
jne 0x464797
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464791
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x461137
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4647b5
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4647af
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
cmp dword [ebp + 0x44], ebx
je case.0x457174.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x457174.1
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x460999
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x457ff8
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x460999
cmp dword [ebp + 0x44], ebx
je 0x457f6a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x457f6a
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x460999
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x4589b4
cmp ecx, dword [ebp + 0x78]
je 0x457fd0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x457fa8
cmp ecx, edx
jbe 0x457fd0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00467020
add esp, 0x14
test eax, eax
jne 0x4589b4
jmp 0x457fd0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x457fd0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x457fd0
cmp edi, 1
je 0x4589b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4589b4
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x460999
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x457f35
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x457141
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4580ba
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x458035
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00466ed0
add esp, 0x14
test eax, eax
jne 0x4589b4
jmp 0x458059
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x458059
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x458059
cmp edx, 1
je 0x4589b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4589b4
cmp dword [ebp + 0x88], ebx
je case.0x45e0c6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x45e0c6.14
cmp dword [ebp + 0x18], ebx
jne case.0x45e0c6.14
cmp dword [edi], 2
jne case.0x45e0c6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x45e0c6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x45e0c6.14
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edi, 0xfffffff4
jmp 0x460999
cmp dword [ebp + 0x48], ebx
jne 0x457f3b
cmp dword [ebp + 0x88], ebx
je 0x4589b4
cmp ecx, dword [ebp + 0x84]
jbe 0x4589b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4589b4
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edi, 0xfffffff4
jmp 0x460999
cmp dword [ebp + 0x48], ebx
jne 0x457f3b
cmp dword [ebp + 0x58], ebx
je case.0x457174.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x457f3b
cmp dword [ebp + 0x88], ebx
je 0x457ff8
cmp eax, dword [ebp + 0x84]
jbe 0x457ff8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x457ff8
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edi, 0xfffffff4
jmp 0x460999
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4581c5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45818d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00466ed0
add esp, 0x14
test eax, eax
jne 0x4581b5
jmp 0x458059
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x458059
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x458059
cmp edx, 1
je 0x4581b5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x458059
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x458059
cmp dword [ebp + 0x88], ebx
je 0x4589b4
cmp ecx, dword [ebp + 0x84]
jbe 0x4589b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4589b4
jmp 0x4580a6
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4584c7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x458215
mov dword [esi + 0x5c], ebx
jmp 0x45834e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x45822a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x458220
cmp edx, dword [ebp + 0x84]
jae 0x458238
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x4582ec
test bl, 0x20
jne 0x458260
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x4582ec
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45827a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x4582e2
and eax, 0x3f
test bl, 8
jne 0x458295
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4582e2
test bl, 4
jne 0x4582b9
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 0x4582e2
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 0x458387
cmp ebx, 0x5f
jne 0x458304
mov dword [esi + 0x5c], 1
jmp 0x45834e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x458326
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x458398
cmp eax, 3
je 0x458398
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x45839f
cmp dword [ebp + 0x88], 0
je 0x45837b
cmp edx, dword [ebp + 0x84]
jbe 0x45837b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
mov dword [esi + 0x54], 0
jmp 0x458605
cmp ebx, 0x100
jae 0x458349
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x458349
mov eax, 1
jmp 0x45834b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x458449
test bl, 0x20
jne 0x4583bf
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x458441
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4583d9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x458441
and eax, 0x3f
test bl, 8
jne 0x4583f4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x458441
test bl, 4
jne 0x458418
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 0x458441
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 0x4584ac
cmp ebx, 0x5f
jne 0x458460
mov dword [esi + 0x54], 1
jmp 0x458605
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x458482
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x4584bd
cmp eax, 3
je 0x4584bd
xor eax, eax
jmp 0x458602
cmp ebx, 0x100
jae 0x4584a5
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4584a5
mov eax, 1
jmp 0x458602
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4584d7
mov dword [esi + 0x5c], ebx
jmp 0x458572
cmp eax, dword [ebp + 0x84]
ja 0x4584e6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x45855e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x458500
mov dword [esi + 0x5c], 1
jmp 0x458572
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508928]
shl eax, 7
and ecx, 0x8000007f
jns 0x458522
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x458550
cmp eax, 3
je 0x458550
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x45856f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x45856f
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 0x4585b3
cmp dword [ebp + 0x88], ebx
je 0x4585ae
cmp eax, dword [ebp + 0x84]
jbe 0x4585ae
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4585ae
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edi, 0xfffffff4
jmp 0x4609a0
mov dword [esi + 0x54], ebx
jmp 0x458605
cmp dword [ebp + 0x54], ebx
je 0x4585f2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x4585c9
mov dword [esi + 0x54], 1
jmp 0x458605
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508928]
shl eax, 7
and ecx, 0x8000007f
jns 0x4585eb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x458484
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 0x458620
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x458628
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x457141
jmp 0x457f3b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x45866d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x458698
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.00466ed0
add esp, 0x14
test eax, eax
jne 0x457f3b
jmp 0x458698
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x458698
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x458698
cmp edx, 1
je 0x457f3b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x457f3b
cmp dword [ebp + 0x88], ebx
je case.0x457174.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x457174.13
cmp dword [ebp + 0x18], ebx
jne case.0x457174.13
cmp dword [ebp + 0x1c], 2
jne case.0x457174.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x457174.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4586f6
cmp dword [ebp + 0x88], ebx
je case.0x45e0c6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x45e0c6.14
jmp 0x458092
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x457ff8
cmp eax, dword [ebp + 0x78]
jae 0x457ff8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x457ff8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x458712
inc dword [esi + 0xc]
jmp 0x457141
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4586d9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x457141
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45876d
cmp dword [ebp + 0x88], ebx
je case.0x45e0c6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x45e0c6.14
jmp 0x458092
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458869
cmp ebx, 0xc0
jb 0x458869
test bl, 0x20
jne 0x4587aa
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458866
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4587d4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458869
mov edx, dword [esi + 8]
test bl, 8
jne 0x4587fa
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 0x45885d
test bl, 4
jne 0x458829
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 0x45885d
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 0x4589b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4589b4
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x4609a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45899b
cmp ebx, 0xc0
jb 0x45899b
test bl, 0x20
jne 0x4588dc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458998
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458906
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45899b
mov edx, dword [esi + 8]
test bl, 8
jne 0x45892c
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 0x45898f
test bl, 4
jne 0x45895b
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 0x45898f
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 0x4578fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4578fd
inc dword [esi + 0xc]
jmp 0x45713a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458ac4
cmp ebx, 0xc0
jb 0x458ac4
test bl, 0x20
jne 0x458a05
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458ac1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458a2f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458ac4
mov edx, dword [esi + 8]
test bl, 8
jne 0x458a55
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 0x458ab8
test bl, 4
jne 0x458a84
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 0x458ab8
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 0x4589b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x45887c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458be4
cmp ebx, 0xc0
jb 0x458be4
test bl, 0x20
jne 0x458b25
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458be1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458b4f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458be4
mov edx, dword [esi + 8]
test bl, 8
jne 0x458b75
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 0x458bd8
test bl, 4
jne 0x458ba4
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 0x458bd8
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 0x4578fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x4578fd
inc dword [esi + 0xc]
jmp 0x45713a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458d0d
cmp ebx, 0xc0
jb 0x458d0d
test bl, 0x20
jne 0x458c4e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458d0a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458c78
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458d0d
mov edx, dword [esi + 8]
test bl, 8
jne 0x458c9e
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 0x458d01
test bl, 4
jne 0x458ccd
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 0x458d01
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 0x4589b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x45887c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458e2d
cmp ebx, 0xc0
jb 0x458e2d
test bl, 0x20
jne 0x458d6e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458e2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458d98
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458e2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x458dbe
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 0x458e21
test bl, 4
jne 0x458ded
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 0x458e21
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 0x4578fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4578fd
inc dword [esi + 0xc]
jmp 0x45713a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458f56
cmp ebx, 0xc0
jb 0x458f56
test bl, 0x20
jne 0x458e97
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458f53
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458ec1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458f56
mov edx, dword [esi + 8]
test bl, 8
jne 0x458ee7
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 0x458f4a
test bl, 4
jne 0x458f16
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 0x458f4a
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 0x458fcf
je 0x458f71
cmp ebx, 0xa
je 0x4589b4
jbe 0x458882
cmp ebx, 0xc
jmp 0x458fe9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x458fba
cmp dword [ebp + 0x88], 0
je 0x4589b4
cmp eax, dword [ebp + 0x84]
jbe 0x4589b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4589b4
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edi, 0xfffffff4
jmp 0x4609a0
cmp byte [eax], 0xa
jne 0x4589b4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45713a
cmp ebx, 0x85
je 0x458fef
cmp ebx, 0x2027
jbe 0x458882
cmp ebx, 0x2029
ja 0x458882
cmp dword [ebp + 0x68], 0
jmp 0x45887c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x459100
cmp ebx, 0xc0
jb 0x459100
test bl, 0x20
jne 0x459041
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4590fd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45906b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459100
mov edx, dword [esi + 8]
test bl, 8
jne 0x459091
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 0x4590f4
test bl, 4
jne 0x4590c0
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 0x4590f4
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 0x459138
je 0x4578fd
cmp ebx, 0xa0
ja 0x45912d
je 0x4578fd
cmp ebx, 9
je 0x4578fd
cmp ebx, 0x20
jmp 0x4589ae
cmp ebx, 0x1680
jmp 0x4589ae
cmp ebx, 0x205f
ja 0x459169
je 0x4578fd
cmp ebx, 0x2000
jb 0x4589b4
cmp ebx, 0x200a
jbe 0x4578fd
cmp ebx, 0x202f
jmp 0x4589ae
cmp ebx, 0x3000
je 0x4578fd
inc dword [esi + 0xc]
jmp 0x45713a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x459285
cmp ebx, 0xc0
jb 0x459285
test bl, 0x20
jne 0x4591c6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459282
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4591f0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459285
mov edx, dword [esi + 8]
test bl, 8
jne 0x459216
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 0x459279
test bl, 4
jne 0x459245
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 0x459279
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 0x4592bd
je 0x4589b4
cmp ebx, 0xa0
ja 0x4592b2
je 0x4589b4
cmp ebx, 9
je 0x4589b4
cmp ebx, 0x20
jmp 0x45887c
cmp ebx, 0x1680
jmp 0x45887c
cmp ebx, 0x205f
ja 0x4592ee
je 0x4589b4
cmp ebx, 0x2000
jb 0x458882
cmp ebx, 0x200a
jbe 0x4589b4
cmp ebx, 0x202f
jmp 0x45887c
cmp ebx, 0x3000
jmp 0x45887c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x459401
cmp ebx, 0xc0
jb 0x459401
test bl, 0x20
jne 0x459342
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4593fe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45936c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459401
mov edx, dword [esi + 8]
test bl, 8
jne 0x459392
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 0x4593f5
test bl, 4
jne 0x4593c1
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 0x4593f5
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 0x459429
je 0x458882
cmp ebx, 0xa
jb 0x4589b4
cmp ebx, 0xd
jbe 0x458882
inc dword [esi + 0xc]
jmp 0x45713a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4589b4
jmp 0x458882
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x459545
cmp ebx, 0xc0
jb 0x459545
test bl, 0x20
jne 0x459486
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459542
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4594b0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459545
mov edx, dword [esi + 8]
test bl, 8
jne 0x4594d6
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 0x459539
test bl, 4
jne 0x459505
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 0x459539
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 0x45956a
je 0x4589b4
cmp ebx, 0xa
jb 0x4578fd
cmp ebx, 0xd
jbe 0x4589b4
jmp 0x4578fd
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4578fd
inc dword [esi + 0xc]
jmp 0x45713a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45967d
cmp ebx, 0xc0
jb 0x45967d
test bl, 0x20
jne 0x4595c9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45967a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4595f1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45967d
mov edx, dword [esi + 8]
test bl, 8
jne 0x459617
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 0x45967a
test bl, 4
jne 0x459646
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 0x45967a
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 + 0x508928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4596a0
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 + 0x50ab28]
cmp eax, 0xa
ja case.default.0x4596ba
jmp dword [eax*4 + 0x46507c]
cmp dword [esi + 0x9c], 0xf
jne 0x457136
jmp 0x457f3b
mov al, byte [edx*8 + 0x5072a9]
cmp al, 9
je 0x4596ea
cmp al, 5
je 0x4596ea
cmp al, 8
je 0x4596ea
xor ecx, ecx
jmp 0x4596ef
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x457136
jmp 0x457f3b
movzx ecx, byte [edx*8 + 0x5072a9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x5070b8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x457136
jmp 0x457f3b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x5072a9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x457136
jmp 0x457f3b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x5072a8]
jmp 0x45974b
movzx eax, byte [edx*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x4596ea
cmp eax, 3
je 0x4596ea
xor ecx, ecx
jmp 0x4596ef
cmp ebx, 0x180e
ja 0x4597e3
je case.0x4596ba.0
cmp ebx, 0x85
ja 0x4597cf
je case.0x4596ba.0
cmp ebx, 9
jb case.0x459803.8203
cmp ebx, 0xd
jbe case.0x4596ba.0
cmp ebx, 0x20
jmp 0x45981c
cmp ebx, 0xa0
je case.0x4596ba.0
cmp ebx, 0x1680
jmp 0x45981c
cmp ebx, 0x202f
ja 0x45980a
je case.0x4596ba.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x459803.8203
movzx eax, byte [ebx + 0x4650b0]
jmp dword [eax*4 + 0x4650a8]
cmp ebx, 0x205f
je case.0x4596ba.0
cmp ebx, 0x3000
je case.0x4596ba.0
movzx eax, byte [edx*8 + 0x5072a9]
xor ecx, ecx
cmp dword [eax*4 + 0x5070b8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x459757
movzx eax, byte [edx*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x4596ea
cmp eax, 3
je 0x4596ea
cmp ebx, 0x5f
je 0x4596ea
xor ecx, ecx
jmp 0x4596ef
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x507168]
lea eax, [eax*4 + 0x507168]
cmp ebx, ecx
jb 0x45989d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x4598af
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x459890
cmp dword [esi + 0x9c], 0x10
jne 0x457136
jmp 0x457f3b
cmp dword [esi + 0x9c], 0x10
je 0x457136
jmp 0x457f3b
cmp ebx, 0x24
je 0x4596ea
cmp ebx, 0x40
je 0x4596ea
cmp ebx, 0x60
je 0x4596ea
cmp ebx, 0xa0
jb 0x4598f0
cmp ebx, 0xd7ff
jbe 0x4596ea
cmp ebx, 0xe000
jae 0x4596ea
xor ecx, ecx
jmp 0x4596ef
mov esi, dword [esi]
test esi, esi
je case.default.0x4609b4
mov edi, 0xfffffff2
jmp 0x460999
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x459a22
cmp ebx, 0xc0
jb 0x459a22
test bl, 0x20
jne 0x459960
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459a1f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45998f
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 0x459a22
mov edx, dword [esi + 8]
test bl, 8
jne 0x4599b5
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 0x459a18
test bl, 4
jne 0x4599e4
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 0x459a18
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x459a44
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072aa]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459bd6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x459b6e
cmp ebx, 0xc0
jb 0x459b6e
test bl, 0x20
jne 0x459aa5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x459b66
test bl, 0x10
jne 0x459aca
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 0x459b66
test bl, 8
jne 0x459af8
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 0x459b66
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x459b32
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 0x459b66
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x459b90
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx ecx, byte [eax*8 + 0x5072aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507130], eax
je 0x459bd6
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 0x459a70
cmp dword [ebp + 0x88], 0
je 0x4589b4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4589b4
cmp eax, dword [ebp + 0x84]
jbe 0x4589b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4589b4
jmp 0x4580a6
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 0x459d04
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 0x459c94
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x459c9d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x459c70
jmp 0x459d04
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x459d04
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 0x459cf4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x459cf4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x459cfe
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.0x459d1f
movzx eax, byte [eax + 0x4650e4]
jmp dword [eax*4 + 0x4650dc]
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 + 0x5065f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x506604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x459dad
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x459dad
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 0x459da9
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x457141
jns 0x459dd1
cmp dword [esi + 0x90], 0
je 0x457141
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x459e0f
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.004655e0
add esp, 0x14
test eax, eax
js 0x459e41
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x459de0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x457141
cmp dword [esp + 0x80], 0
je 0x459e6a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x461252
cmp eax, 0xfffffffe
jne 0x459e4c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x45e0c6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x45e0c6.14
jmp 0x4586e5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x459e80
cmp edi, dword [esi + 0x8c]
jge 0x4612a1
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.004655e0
add esp, 0x14
test eax, eax
js 0x459eb5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x459e80
cmp eax, 0xfffffffe
jne 0x4612a1
cmp dword [ebp + 0x88], 0
je 0x4612a1
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4612a1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4612a1
jmp 0x4580a6
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.004655e0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x459f79
cmp eax, 0xfffffffe
jne 0x459f25
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x46187d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x46187d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x46187d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x46187d.14
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x4609a4
add dword [esi + 8], eax
jmp 0x45713a
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.0x459fa7
movzx eax, byte [eax + 0x4650f4]
jmp dword [eax*4 + 0x4650ec]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x459fca
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x459fd5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x5065f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x506604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45a06c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x45a06c
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 0x45a052
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x45a06c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x45a1cc
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45a221
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x45a17c
test bl, 0x20
jne 0x45a0ca
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45a179
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a0f1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45a177
test bl, 8
jne 0x45a114
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 0x45a177
test bl, 4
jne 0x45a143
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 0x45a177
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 0x45a18d
cmp dword [esi + 0x9c], 0x6e
jmp 0x45a1a2
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.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45a090
jmp 0x45a213
cmp dword [ebp + 0x88], 0
je case.0x45e0c6.14
mov eax, dword [esi + 8]
jmp 0x4586e5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x45a21a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a1b7
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.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45a1e0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45713a
test ebx, ebx
je 0x45a24a
test edx, edx
jne 0x4644b7
mov dword [esi + 0x84], eax
jmp 0x46133b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x45a402
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45a3ef
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45a3c7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x45a376
test bl, 0x20
jne 0x45a2bb
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x45a376
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45a2e3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x45a36c
and eax, 0x3f
test bl, 8
jne 0x45a309
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 0x45a36c
test bl, 4
jne 0x45a338
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 0x45a36c
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 0x45a387
cmp dword [esi + 0x9c], 0x6e
jmp 0x45a39c
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 0x45a3ef
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 0x45a271
jmp 0x45a3ef
cmp dword [ebp + 0x88], 0
je 0x45a3ef
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45a3ef
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
je 0x4622fc
jmp 0x45713a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45a47a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x45a452
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 0x45a47a
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 0x45a411
jmp 0x45a47a
cmp dword [ebp + 0x88], 0
je 0x45a47a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45a47a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
je 0x46137b
jmp 0x45713a
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.0x45a4c5
movzx eax, byte [eax + 0x465108]
jmp dword [eax*4 + 0x465100]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x45a4e8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x45a4f3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x5065f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x506604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45a58a
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x45a58a
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 0x45a570
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x45a58a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x45a6c5
jmp 0x45a5a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45a69a
cmp edx, 0xc0
jb 0x45a69a
test dl, 0x20
jne 0x45a5e8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45a697
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45a60f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45a695
test dl, 8
jne 0x45a632
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 0x45a695
test dl, 4
jne 0x45a661
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 0x45a695
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.00466860
add esp, 0xc
test eax, eax
je case.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45a5a0
jmp 0x45a6cc
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x457141
cmp dword [esp + 0x84], 0
jne 0x4644c8
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 0x45a85d
jmp 0x45a710
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45a833
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x45a7fb
cmp edx, 0xc0
jb 0x45a7fb
test dl, 0x20
jne 0x45a75c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x45a7fb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45a77b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x45a7f1
and eax, 0x3f
test dl, 8
jne 0x45a79b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x45a7f1
test dl, 4
jne 0x45a7c4
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 0x45a7f1
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.00466860
add esp, 0xc
test eax, eax
je 0x45a85d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x45a710
jmp 0x45a85d
cmp dword [ebp + 0x88], 0
je 0x45a856
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45a856
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x4580a6
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x457141
jmp 0x462111
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x45aa49
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 0x45a9d0
test al, 0x20
jne 0x45a8d0
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 0x45a9d0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x45a90a
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 0x45a9d0
test al, 8
jne 0x45a946
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 0x45a9d0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x45a98b
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 0x45a9d0
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 0x45aa09
cmp dword [ebp + 0x88], ebx
je case.0x45e0c6.14
cmp edx, edi
jb case.0x45e0c6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x45e0c6.14
jmp 0x458092
test ecx, ecx
jle 0x45aa3e
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.0x45e0c6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x45aa10
dec dword [esi + 0x88]
jmp 0x45713a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x45aa96
cmp dword [ebp + 0x88], ebx
je 0x4578fd
cmp edi, dword [ebp + 0x84]
jbe 0x4578fd
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4578fd
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edi, 0xfffffff4
jmp 0x4609a0
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 0x45adab
jmp 0x457f3b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458750
cmp dword [esp + 0x8c], ebx
je 0x45ad8c
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 0x45ac1b
test al, 0x20
jne 0x45ab1b
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 0x45ac1b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x45ab55
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 0x45ac1b
test al, 8
jne 0x45ab91
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 0x45ac1b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x45abd6
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 0x45ac1b
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 0x45ac49
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x457f3b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x45713a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x45ad2b
test bl, 0x20
jne 0x45ac79
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45ad28
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45aca0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45ad26
test bl, 8
jne 0x45acc3
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 0x45ad26
test bl, 4
jne 0x45acf2
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 0x45ad26
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 0x45713a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508928]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x45ad65
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50ab28]
mov eax, dword [eax*8 + 0x5072ac]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x457141
jmp 0x457f3b
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 0x457f3b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x45713a
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 0x45aedd
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 0x45ae14
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x45ae1f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x45aedd
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45aee4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x45aee4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x45aee4
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 + 0x5065f8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x506604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45aedd
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x45b358
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 0x45b02b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x45af41
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 0x45b02b
test bl, 0x10
jne 0x45af76
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 0x45b02b
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 0x45afb4
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 0x45b02b
test bl, 4
jne 0x45afed
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 0x45b02b
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 0x45b367
cmp dword [esi + 0x9c], 0x2e
jb 0x45b09c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508928]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x45b073
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50ab28]
mov ecx, dword [eax*8 + 0x5072ac]
add ecx, edi
cmp ecx, edi
je 0x45b09c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.00466800
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x45b0a3
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x45b1d6
jmp 0x45b0c0
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 0x45b144
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x45b0f8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45b101
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45b0e7
cmp edi, 0xfffffffc
je 0x45b1b8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45b13a
cmp edi, 0xfffffffd
je 0x45b1b8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45b13a
cmp edi, 0xfffffffe
je 0x45b1b8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45b13a
cmp edi, 0xffffffff
je 0x45b1b8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x45b1b8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x459e4c
sub ecx, ebx
cmp edi, ecx
ja 0x459e4c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x45b176
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45b17b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45b165
cmp edi, 0xfffffffc
je 0x45b1b8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x459e4c
cmp edi, 0xfffffffd
je 0x45b1b8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x459e4c
cmp edi, 0xfffffffe
je 0x45b1b8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x459e4c
cmp edi, 0xffffffff
je 0x45b1b8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x459e4c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x45b0c0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x457141
cmp dword [esp + 0x84], 0
jne 0x4644d9
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 0x45b345
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 0x45b29c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x45b258
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45b261
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45b247
cmp edi, 0xfffffffc
je 0x45b2f8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45b292
cmp edi, 0xfffffffd
je 0x45b2f8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45b292
cmp edi, 0xfffffffe
je 0x45b2f8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45b292
cmp edi, 0xffffffff
je 0x45b2f8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x45b2f8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x45b318
sub ecx, ebx
cmp edi, ecx
ja 0x45b318
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x45b2c6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45b2cb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45b2b5
cmp edi, 0xfffffffc
je 0x45b2f8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45b318
cmp edi, 0xfffffffd
je 0x45b2f8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45b318
cmp edi, 0xfffffffe
je 0x45b2f8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45b318
cmp edi, 0xffffffff
je 0x45b2f8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45b318
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x45b220
jmp 0x45b345
cmp dword [ebp + 0x88], 0
je 0x45b345
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45b345
cmp eax, dword [ebp + 0x84]
jbe 0x45b345
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
je 0x4624bc
jmp 0x45713a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x45b45f
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 0x45b3c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a1b7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45b3b7
cmp dword [esi + 0x94], ecx
jne case.0x45e0c6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x45b394
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45713a
cmp dword [esp + 0x84], 0
je 0x45b3eb
mov dword [esi + 0x84], eax
jmp 0x46141b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45b452
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45b42a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45b41b
cmp dword [esi + 0x94], ecx
jne 0x45b452
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45b400
jmp 0x45b452
cmp dword [ebp + 0x88], 0
je 0x45b452
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b452
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
test edi, edi
je 0x46145b
jmp 0x45713a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45b49a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45b470
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x457141
cmp dword [esp + 0x84], 0
je 0x45b4c8
mov dword [esi + 0x84], eax
jmp 0x4614e8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45b52c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45b504
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x45b52c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45b4e0
jmp 0x45b52c
cmp dword [ebp + 0x88], 0
je 0x45b52c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b52c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
je 0x461528
jmp 0x457141
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x45b564
cmp dword [ebp + 0x88], ebx
je case.0x45e0c6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x45e0c6.14
jmp 0x458092
test edi, edi
je 0x45b7dc
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 0x45b665
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x45b5a2
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45b662
test bl, 0x10
jne 0x45b5c3
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 0x45b662
test bl, 8
jne 0x45b5ee
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 0x45b665
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x45b627
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 0x45b662
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 0x45b758
test dl, 0x20
jne 0x45b69f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45b74e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45b6c6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45b74c
test dl, 8
jne 0x45b6e9
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 0x45b74c
test dl, 4
jne 0x45b718
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 0x45b74c
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 0x45b775
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x457141
jmp 0x457f3b
cmp ebx, 0x7f
jbe 0x45b7b2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45b79d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50ab28]
mov ecx, dword [eax*8 + 0x5072ac]
add ecx, ebx
jmp 0x45b7b9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x457f3b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x457141
jmp 0x457f3b
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.0x45e0c6.14
cmp dword [esi + 0x9c], 0x20
jne 0x45adab
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x45e0c6.14
add dword [esi + 0xc], 2
jmp 0x45713a
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 0x45b976
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 0x45b87b
cmp al, 0x4f
je 0x45b87b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x45b976
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x45b976
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45b976
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45b976
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45b976
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 0x45b976
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 + 0x5065f8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x506604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45b976
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 0x45bad1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x45bad1
test al, 0x20
jne 0x45b9c8
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 0x45bad1
test al, 0x10
jne 0x45b9fb
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 0x45bad1
test al, 8
jne 0x45ba3d
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 0x45bad1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x45ba88
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 0x45baca
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 0x45bef5
test edx, edx
je 0x45bb2c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x45bb2c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508928]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x45bb10
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x50ab28]
mov eax, dword [eax*8 + 0x5072ac]
add eax, edi
jmp 0x45bb39
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x45bc80
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45bccb
jmp 0x45bb60
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x45bc59
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x45bb9a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x45bc56
test cl, 0x10
jne 0x45bbbb
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 0x45bc56
test cl, 8
jne 0x45bbe5
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 0x45bc56
test cl, 4
jne 0x45bc1b
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 0x45bc56
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.0x45e0c6.14
cmp dword [esi + 0x94], ecx
je case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45bb60
jmp 0x45bcc4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x45bcc4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a1b7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x45e0c6.14
cmp dword [esi + 0x94], ecx
je case.0x45e0c6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x45bc90
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45713a
test ebx, ebx
je 0x45bcf4
test edx, edx
jne 0x4644ea
mov dword [esi + 0x84], eax
jmp 0x4615bf
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x45be7d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45be6a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45be42
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45be1e
test dl, 0x20
jne 0x45bd52
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45be1e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45bd7c
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 0x45be1c
test dl, 8
jne 0x45bda8
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 0x45be1c
test dl, 4
jne 0x45bde0
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 0x45be1c
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 0x45be6a
cmp dword [esi + 0x94], edx
je 0x45be6a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45bd14
jmp 0x45be6a
cmp dword [ebp + 0x88], 0
je 0x45be6a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45be6a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
je 0x46269c
jmp 0x45713a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45bee2
jmp 0x45be90
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45beba
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45bee2
cmp dword [esi + 0x94], ecx
je 0x45bee2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45be90
jmp 0x45bee2
cmp dword [ebp + 0x88], 0
je 0x45bee2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45bee2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
je 0x4615ff
jmp 0x45713a
test edx, edx
je 0x45c017
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x45c055
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45bffc
test dl, 0x20
jne 0x45bf4a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45bff9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45bf71
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45bff7
test dl, 8
jne 0x45bf94
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 0x45bff7
test dl, 4
jne 0x45bfc3
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 0x45bff7
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.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45bf10
jmp 0x45c04e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45c055
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c024
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45713a
cmp dword [esp + 0x84], 0
je 0x45c084
test edx, edx
jne 0x4644ff
mov dword [esi + 0x84], eax
jmp 0x46168c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x45c208
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c1f5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45c1cd
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45c1b1
test dl, 0x20
jne 0x45c0e2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45c1b1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45c10c
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 0x45c1af
test dl, 8
jne 0x45c13b
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 0x45c1af
test dl, 4
jne 0x45c173
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 0x45c1af
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 0x45c1f5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45c0a4
jmp 0x45c1f5
cmp dword [ebp + 0x88], 0
je 0x45c1f5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45c1f5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
je 0x462860
jmp 0x45713a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45c262
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c23a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x45c262
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45c216
jmp 0x45c262
cmp dword [ebp + 0x88], 0
je 0x45c262
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45c262
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
je 0x4616cc
jmp 0x45713a
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 0x45c3b4
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 0x45c3b4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45c3b4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45c3b4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45c3b4
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 0x45c3b4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x5065a3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x5065af]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45c3b4
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 0x45c3d6
cmp ecx, 0xf
je 0x45c3d6
mov dword [esi + 0x60], 0xffffffff
jmp 0x45c3f9
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 0x45e39b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45d1a8
cmp eax, 0xa
ja case.default.0x4596ba
jmp dword [eax*4 + 0x465114]
cmp dword [esi + 0x68], ebx
jne 0x457f3b
mov edx, 1
cmp ecx, edx
jl 0x45e39b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x45c47f
cmp ecx, 0xc0
jb 0x45c47f
test cl, 0x20
jne 0x45c45b
inc eax
jmp 0x45c47c
test cl, 0x10
jne 0x45c465
add eax, 2
jmp 0x45c47c
test cl, 8
jne 0x45c46f
add eax, 3
jmp 0x45c47c
test cl, 4
jne 0x45c479
add eax, 4
jmp 0x45c47c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45c438
jmp 0x45e39b
cmp dword [ebp + 0x88], ebx
je case.0x45e0c6.14
mov eax, dword [esi + 8]
jmp 0x4586e5
mov edi, 1
cmp ecx, edi
jl 0x45e39b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45c5aa
cmp ebx, 0xc0
jb 0x45c5aa
test bl, 0x20
jne 0x45c4f8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45c5a7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c51f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45c5a5
test bl, 8
jne 0x45c542
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 0x45c5a5
test bl, 4
jne 0x45c571
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 0x45c5a5
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c5cc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
cmp eax, 9
je 0x45c5f1
cmp eax, 5
je 0x45c5f1
cmp eax, 8
je 0x45c5f1
xor eax, eax
jmp 0x45c5f6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c4b0
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e39b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45c718
cmp ebx, 0xc0
jb 0x45c718
test bl, 0x20
jne 0x45c668
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45c715
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c68f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45c715
test bl, 8
jne 0x45c6b2
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 0x45c715
test bl, 4
jne 0x45c6e1
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 0x45c715
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c73a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c620
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e39b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45c87b
cmp ebx, 0xc0
jb 0x45c87b
test bl, 0x20
jne 0x45c7cb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45c878
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c7f2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45c878
test bl, 8
jne 0x45c815
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 0x45c878
test bl, 4
jne 0x45c844
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 0x45c878
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c89d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c783
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e39b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45c9d8
cmp ebx, 0xc0
jb 0x45c9d8
test bl, 0x20
jne 0x45c928
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45c9d5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c94f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45c9d5
test bl, 8
jne 0x45c972
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 0x45c9d5
test bl, 4
jne 0x45c9a1
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 0x45c9d5
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c9fa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c8e0
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e39b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45cb3a
cmp ebx, 0xc0
jb 0x45cb3a
test bl, 0x20
jne 0x45ca88
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45cb37
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45caaf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45cb35
test bl, 8
jne 0x45cad2
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 0x45cb35
test bl, 4
jne 0x45cb01
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 0x45cb35
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45cb5c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x45cb83
cmp eax, 3
je 0x45cb83
xor eax, eax
jmp 0x45cb88
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45ca40
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e39b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45ccaa
cmp ebx, 0xc0
jb 0x45ccaa
test bl, 0x20
jne 0x45cbf8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45cca7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45cc1f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45cca5
test bl, 8
jne 0x45cc42
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 0x45cca5
test bl, 4
jne 0x45cc71
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 0x45cca5
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 0x45cced
je case.0x45cd09.8192
cmp ebx, 0x85
ja 0x45ccd9
je case.0x45cd09.8192
cmp ebx, 9
jb case.0x45cd09.8203
cmp ebx, 0xd
jbe case.0x45cd09.8192
cmp ebx, 0x20
jmp 0x45cd1e
cmp ebx, 0xa0
je case.0x45cd09.8192
cmp ebx, 0x1680
jmp 0x45cd1e
cmp ebx, 0x202f
ja 0x45cd10
je case.0x45cd09.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x45cd09.8203
movzx eax, byte [eax + 0x465148]
jmp dword [eax*4 + 0x465140]
cmp ebx, 0x205f
je case.0x45cd09.8192
cmp ebx, 0x3000
je case.0x45cd09.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45cd42
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
cmp dword [eax*4 + 0x5070b8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45e0c6.14
jmp 0x45cd76
cmp dword [esi + 0x68], 0
jne case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45cbb0
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e39b
jmp 0x45cda0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45ce98
cmp ebx, 0xc0
jb 0x45ce98
test bl, 0x20
jne 0x45cde8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45ce95
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45ce0f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45ce95
test bl, 8
jne 0x45ce32
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 0x45ce95
test bl, 4
jne 0x45ce61
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 0x45ce95
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 + 0x508928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45cebb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x45cee7
cmp eax, 3
je 0x45cee7
cmp ebx, 0x5f
je 0x45cee7
xor eax, eax
jmp 0x45ceec
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45e0c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45cda0
jmp 0x45e39b
mov ebx, 1
cmp ecx, ebx
jl 0x45e39b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45d00c
cmp edx, 0xc0
jb 0x45d00c
test dl, 0x20
jne 0x45cf5c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45d009
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45cf83
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x45d009
test dl, 8
jne 0x45cfa6
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 0x45d009
test dl, 4
jne 0x45cfd5
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 0x45d009
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 + 0x507168]
lea eax, [eax*4 + 0x507168]
cmp edx, ecx
jb 0x45d02e
lea eax, [eax + 4]
cmp edx, ecx
je 0x45d04a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x45d021
cmp dword [esi + 0x68], 0
je case.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45cf14
jmp 0x45e39b
cmp dword [esi + 0x68], 0
jne case.0x45e0c6.14
jmp 0x45d038
mov ebx, 1
cmp ecx, ebx
jl 0x45e39b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45d15d
cmp edx, 0xc0
jb 0x45d15d
test dl, 0x20
jne 0x45d0ab
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45d15a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45d0d2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45d158
test dl, 8
jne 0x45d0f5
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 0x45d158
test dl, 4
jne 0x45d124
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 0x45d158
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 0x45d188
cmp edx, 0x40
je 0x45d188
cmp edx, 0x60
je 0x45d188
cmp edx, 0xa0
jb 0x45d17c
cmp edx, 0xd7ff
jbe 0x45d188
cmp edx, 0xe000
jae 0x45d188
xor eax, eax
jmp 0x45d18d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d063
jmp 0x45e39b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x45d4d3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x45e39b
jmp 0x45d1d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45a1b7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x45d2d0
cmp ebx, 0xc0
jb 0x45d2d0
test bl, 0x20
jne 0x45d219
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45d2cd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45d240
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45d2c6
test bl, 8
jne 0x45d263
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 0x45d2c6
test bl, 4
jne 0x45d292
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 0x45d2c6
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45d2f2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072aa]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45d48d
jmp 0x45d320
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45d41e
cmp ebx, 0xc0
jb 0x45d41e
test bl, 0x20
jne 0x45d355
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45d416
test bl, 0x10
jne 0x45d37a
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 0x45d416
test bl, 8
jne 0x45d3a8
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 0x45d416
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45d3e2
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 0x45d416
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45d440
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx ecx, byte [eax*8 + 0x5072aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507130], eax
je 0x45d486
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 0x45d320
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x45d4ba
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45d4ba
cmp eax, dword [ebp + 0x84]
jbe 0x45d4ba
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x45d1d0
jmp 0x45e39b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x45df9f
cmp eax, 0xf
ja case.0x4604e7.9
jmp dword [eax*4 + 0x465174]
mov ebx, 1
cmp ecx, ebx
jl 0x45e3a2
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45a1b7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45d537
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00466ed0
add esp, 0x14
test eax, eax
jne case.0x45e0c6.14
jmp 0x45d55b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45d55b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45d55b
cmp edx, 1
je case.0x45e0c6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x45e0c6.14
cmp dword [ebp + 0x88], 0
je 0x45d596
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45d596
cmp dword [ebp + 0x18], 0
jne 0x45d596
cmp dword [edi], 2
jne 0x45d596
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45d596
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45d5b2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45d5b2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x45d5a1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d502
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x45c48d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45d608
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45d608
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x45d5f0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45d5d4
jmp 0x45e39b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x457f3b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x45e39b
mov ebx, 1
cmp ecx, ebx
jl 0x45e3a2
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45d72c
test dl, 0x20
jne 0x45d67a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45d729
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45d6a1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45d727
test dl, 8
jne 0x45d6c4
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 0x45d727
test dl, 4
jne 0x45d6f3
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 0x45d727
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 0x45d750
je 0x45d73d
cmp edx, 0xa
je 0x45d771
lea eax, [edx - 0xb]
jmp 0x45d75e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45d771
cmp byte [eax], 0xa
jne 0x45d771
inc eax
mov dword [esi + 8], eax
jmp 0x45d771
cmp edx, 0x85
je 0x45d767
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x45e0c6.14
cmp dword [ebp + 0x68], 0
jne case.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d640
jmp 0x45e39b
mov ebx, 1
cmp ecx, ebx
jl 0x45e3a2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45d87c
test dl, 0x20
jne 0x45d7ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45d879
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45d7f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45d877
test dl, 8
jne 0x45d814
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 0x45d877
test dl, 4
jne 0x45d843
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 0x45d877
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 0x45d8ae
je case.0x45e0c6.14
cmp edx, 0xa0
ja 0x45d8a6
je case.0x45e0c6.14
cmp edx, 9
je case.0x45e0c6.14
cmp edx, 0x20
jmp 0x45d8de
cmp edx, 0x1680
jmp 0x45d8de
cmp edx, 0x205f
ja 0x45d8d8
je case.0x45e0c6.14
cmp edx, 0x2000
jb 0x45d8e4
cmp edx, 0x200a
jbe case.0x45e0c6.14
cmp edx, 0x202f
jmp 0x45d8de
cmp edx, 0x3000
je case.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d790
jmp 0x45e39b
mov ebx, 1
cmp ecx, ebx
jl 0x45e3a2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45d9ef
test dl, 0x20
jne 0x45d93d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45d9ec
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45d964
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45d9ea
test dl, 8
jne 0x45d987
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 0x45d9ea
test dl, 4
jne 0x45d9b6
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 0x45d9ea
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 0x45da15
je 0x45da47
cmp edx, 0xa0
ja 0x45da0d
je 0x45da47
cmp edx, 9
je 0x45da47
cmp edx, 0x20
jmp 0x45da41
cmp edx, 0x1680
jmp 0x45da41
cmp edx, 0x205f
ja 0x45da3b
je 0x45da47
cmp edx, 0x2000
jb case.0x45e0c6.14
cmp edx, 0x200a
jbe 0x45da47
cmp edx, 0x202f
jmp 0x45da41
cmp edx, 0x3000
jne case.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d903
jmp 0x45e39b
mov ebx, 1
cmp ecx, ebx
jl 0x45e3a2
jmp 0x45da70
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45db5c
test dl, 0x20
jne 0x45daaa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45db59
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45dad1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45db57
test dl, 8
jne 0x45daf4
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 0x45db57
test dl, 4
jne 0x45db23
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 0x45db57
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 0x45db74
je case.0x45e0c6.14
cmp edx, 0xa
jb 0x45db88
cmp edx, 0xd
jmp 0x45db82
cmp edx, 0x2028
jb 0x45db88
cmp edx, 0x2029
jbe case.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45da70
jmp 0x45e39b
mov ebx, 1
cmp ecx, ebx
jl 0x45e3a2
jmp 0x45dbb0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45dc9c
test dl, 0x20
jne 0x45dbea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45dc99
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45dc11
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45dc97
test dl, 8
jne 0x45dc34
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 0x45dc97
test dl, 4
jne 0x45dc63
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 0x45dc97
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 0x45dcae
je 0x45dcbd
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x45dcb7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45dbb0
jmp 0x45e39b
mov ebx, 1
cmp ecx, ebx
jl 0x45e3a2
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45a1b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45ddcc
test dl, 0x20
jne 0x45dd1a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45ddc9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45dd41
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45ddc7
test dl, 8
jne 0x45dd64
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 0x45ddc7
test dl, 4
jne 0x45dd93
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 0x45ddc7
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 0x45dde1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x45e0c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45dce0
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c48d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x45e0c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x45e0c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45de00
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45c48d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x45de73
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x45e0c6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45de98
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45de98
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x45de80
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45de50
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c48d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x45e0c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x45e0c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45deb3
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45c48d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x45df23
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x45e0c6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45df48
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45df48
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x45df30
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45df00
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c48d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x45e0c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x45e0c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45df63
jmp 0x45e39b
cmp eax, 0xf
ja case.0x4604e7.9
jmp dword [eax*4 + 0x4651b4]
mov ebx, 1
cmp ecx, ebx
jl 0x45e3a2
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45a1b7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45dff0
push 0
push edi
push eax
push edx
push ecx
call fcn.00466ed0
add esp, 0x14
test eax, eax
jne case.0x45e0c6.14
jmp 0x45e014
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45e014
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45e014
cmp edx, 1
je case.0x45e0c6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x45e0c6.14
cmp dword [ebp + 0x88], 0
je 0x45e04f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45e04f
cmp dword [ebp + 0x18], 0
jne 0x45e04f
cmp dword [edi], 2
jne 0x45e04f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45e04f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45dfc0
jmp 0x45e39b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x45d626
cmp dword [ebp + 0x88], ebx
je case.0x45e0c6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x45e0c6.14
jmp 0x458092
mov edx, 1
cmp ecx, edx
jl 0x45e39b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c48d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x45e0c6.14
movzx eax, byte [eax + 0x465204]
jmp dword [eax*4 + 0x4651f4]
cmp ecx, dword [ebp + 0x78]
jae case.0x45e0c6.10
cmp byte [ecx], 0xa
jne case.0x45e0c6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x45e0c6.10
cmp dword [ebp + 0x68], ebx
jne case.0x45e0c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45e0a0
jmp 0x45e39b
mov edx, 1
cmp ecx, edx
jl 0x45e39b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x45e0c6.14
cmp ecx, 0x20
je case.0x45e0c6.14
cmp ecx, 0xa0
je case.0x45e0c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45e103
jmp 0x45e39b
mov edx, 1
cmp ecx, edx
jl 0x45e39b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x45e179
cmp ecx, 0x20
je 0x45e179
cmp ecx, 0xa0
jne case.0x45e0c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45e150
jmp 0x45e39b
mov edx, 1
cmp ecx, edx
jl 0x45e39b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x45e1c1
cmp ecx, 0xd
jle case.0x45e0c6.14
cmp ecx, 0x85
je case.0x45e0c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45e194
jmp 0x45e39b
mov edx, 1
cmp ecx, edx
jl 0x45e39b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x45e0c6.14
cmp ecx, 0xd
jle 0x45e20d
cmp ecx, 0x85
jne case.0x45e0c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45e1e0
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
jmp 0x45e230
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x45e0c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e230
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x45e0c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e270
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x45e0c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e2b0
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x45e0c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e2f0
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
jmp 0x45e330
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x45e0c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e330
jmp 0x45e39b
mov edi, 1
cmp ecx, edi
jl 0x45e3a2
jmp 0x45e370
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c48d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x45e0c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e370
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x45713a
cmp dword [esp + 0x84], 0
je 0x45e402
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45e3e5
cmp eax, 0xa
ja case.0x4604e7.9
jmp dword [eax*4 + 0x465280]
mov esi, dword [esi]
test esi, esi
je case.default.0x4609b4
mov edi, 0xfffffff2
jmp 0x4609a0
cmp dword [esi + 0x7c], 0x16
je 0x4645d3
test edx, edx
jne 0x4645be
mov dword [esi + 0x84], ecx
jmp 0x461835
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45f43b
cmp eax, 0xa
ja case.0x4604e7.9
jmp dword [eax*4 + 0x4652ac]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45f428
mov ebx, dword [esp + 0x8c]
jmp 0x45e440
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x45e4ab
movzx ecx, byte [edx]
test ebx, ebx
je 0x45e48e
cmp ecx, 0xc0
jb 0x45e48e
test cl, 0x20
jne 0x45e468
mov eax, 2
jmp 0x45e48e
test cl, 0x10
jne 0x45e474
mov eax, 3
jmp 0x45e48e
test cl, 8
jne 0x45e480
mov eax, 4
jmp 0x45e48e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x45f428
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45e440
jmp 0x45f428
cmp dword [ebp + 0x88], 0
je 0x45f428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f428
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f428
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x4609a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f428
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45e66e
movzx ebx, byte [edi]
test edx, edx
je 0x45e5ec
cmp ebx, 0xc0
jb 0x45e5ec
test bl, 0x20
jne 0x45e54e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45e5e4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45e56d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45e5e4
and eax, 0x3f
test bl, 8
jne 0x45e58d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45e5e4
test bl, 4
jne 0x45e5b6
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 0x45e5e4
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45e60e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
cmp eax, 9
je 0x45e633
cmp eax, 5
je 0x45e633
cmp eax, 8
je 0x45e633
xor eax, eax
jmp 0x45e638
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45f428
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 0x45e510
jmp 0x45f428
cmp dword [ebp + 0x88], 0
je 0x45f428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f428
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x45f428
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edi, 0xfffffff4
jmp 0x4609a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f428
jmp 0x45e6d0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e852
movzx ebx, byte [edi]
test edx, edx
je 0x45e7d3
cmp ebx, 0xc0
jb 0x45e7d3
test bl, 0x20
jne 0x45e71a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45e7cb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45e742
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45e7cb
and eax, 0x3f
test bl, 8
jne 0x45e768
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 0x45e7cb
test bl, 4
jne 0x45e797
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 0x45e7cb
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45e7f5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45f428
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 0x45e6d0
jmp 0x45f428
cmp dword [ebp + 0x88], 0
je 0x45f428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f428
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x45e693
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f428
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e852
movzx ebx, byte [edi]
test edx, edx
je 0x45e99f
cmp ebx, 0xc0
jb 0x45e99f
test bl, 0x20
jne 0x45e8e6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45e997
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45e90e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45e997
and eax, 0x3f
test bl, 8
jne 0x45e934
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 0x45e997
test bl, 4
jne 0x45e963
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 0x45e997
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45e9c1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45f428
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 0x45e8a0
jmp 0x45f428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f428
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e852
movzx ebx, byte [edi]
test edx, edx
je 0x45eb33
cmp ebx, 0xc0
jb 0x45eb33
test bl, 0x20
jne 0x45ea7a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45eb2b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45eaa2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45eb2b
and eax, 0x3f
test bl, 8
jne 0x45eac8
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 0x45eb2b
test bl, 4
jne 0x45eaf7
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 0x45eb2b
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45eb55
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45f428
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 0x45ea30
jmp 0x45f428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f428
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45e66e
movzx ebx, byte [edi]
test edx, edx
je 0x45eca3
cmp ebx, 0xc0
jb 0x45eca3
test bl, 0x20
jne 0x45ec02
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45ec9b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45ec24
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45ec9b
and eax, 0x3f
test bl, 8
jne 0x45ec44
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45ec9b
test bl, 4
jne 0x45ec6d
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 0x45ec9b
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45ecc5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x45ecec
cmp eax, 3
je 0x45ecec
xor eax, eax
jmp 0x45ecf1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45f428
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 0x45ebc4
jmp 0x45f428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f428
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e852
movzx ebx, byte [edi]
test edx, edx
je 0x45ee4d
cmp ebx, 0xc0
jb 0x45ee4d
test bl, 0x20
jne 0x45ed92
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x45ee4d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45edba
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x45ee43
and eax, 0x3f
test bl, 8
jne 0x45ede0
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 0x45ee43
test bl, 4
jne 0x45ee0f
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 0x45ee43
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 0x45ee90
je case.0x45eeb0.8192
cmp ebx, 0x85
ja 0x45ee7c
je case.0x45eeb0.8192
cmp ebx, 9
jb case.0x45eeb0.8203
cmp ebx, 0xd
jbe case.0x45eeb0.8192
cmp ebx, 0x20
jmp 0x45eec5
cmp ebx, 0xa0
je case.0x45eeb0.8192
cmp ebx, 0x1680
jmp 0x45eec5
cmp ebx, 0x202f
ja 0x45eeb7
je case.0x45eeb0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x45eeb0.8203
movzx eax, byte [eax + 0x4652e0]
jmp dword [eax*4 + 0x4652d8]
cmp ebx, 0x205f
je case.0x45eeb0.8192
cmp ebx, 0x3000
je case.0x45eeb0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45eee9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
cmp dword [eax*4 + 0x5070b8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45f428
mov edx, dword [esp + 0x8c]
jmp 0x45ef24
cmp dword [esi + 0x68], 0
jne 0x45f428
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 0x45ed40
jmp 0x45f428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f428
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e852
movzx ebx, byte [edi]
test edx, edx
je 0x45f073
cmp ebx, 0xc0
jb 0x45f073
test bl, 0x20
jne 0x45efba
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45f06b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45efe2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45f06b
and eax, 0x3f
test bl, 8
jne 0x45f008
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 0x45f06b
test bl, 4
jne 0x45f037
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 0x45f06b
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 + 0x508928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45f096
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x45f0c2
cmp eax, 3
je 0x45f0c2
cmp ebx, 0x5f
je 0x45f0c2
xor eax, eax
jmp 0x45f0c7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45f428
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 0x45ef70
jmp 0x45f428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f428
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45f25f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x45f201
cmp edx, 0xc0
jb 0x45f201
test dl, 0x20
jne 0x45f164
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x45f1f9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45f183
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x45f1f9
and eax, 0x3f
test dl, 8
jne 0x45f1a3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45f1f9
test dl, 4
jne 0x45f1cc
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 0x45f1f9
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 + 0x507168]
lea eax, [eax*4 + 0x507168]
cmp edx, ecx
jb 0x45f223
lea eax, [eax + 4]
cmp edx, ecx
je 0x45f253
mov ecx, dword [eax]
cmp edx, ecx
jae 0x45f216
cmp dword [esi + 0x68], 0
je 0x45f428
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 0x45f120
jmp 0x45f428
cmp dword [esi + 0x68], 0
jne 0x45f428
jmp 0x45f22d
cmp dword [ebp + 0x88], 0
je 0x45f428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f428
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x45f428
jmp 0x4580a6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45f428
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45f400
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x45f3b7
cmp edx, 0xc0
jb 0x45f3b7
test dl, 0x20
jne 0x45f2ed
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45f3b7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45f317
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 0x45f3b7
test dl, 8
jne 0x45f343
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 0x45f3b7
test dl, 4
jne 0x45f37b
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 0x45f3b7
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 0x45f3e2
cmp edx, 0x40
je 0x45f3e2
cmp edx, 0x60
je 0x45f3e2
cmp edx, 0xa0
jb 0x45f3d6
cmp edx, 0xd7ff
jbe 0x45f3e2
cmp edx, 0xe000
jae 0x45f3e2
xor ecx, ecx
jmp 0x45f3e7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x45f428
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45f2a1
jmp 0x45f428
cmp dword [ebp + 0x88], 0
je 0x45f428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f428
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
je 0x4638dc
jmp 0x45713a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x45f7d7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x45f788
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45f760
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x45f560
cmp ebx, 0xc0
jb 0x45f560
test bl, 0x20
jne 0x45f4a9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45f55d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f4d0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45f556
test bl, 8
jne 0x45f4f3
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 0x45f556
test bl, 4
jne 0x45f522
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 0x45f556
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f582
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072aa]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45f71d
jmp 0x45f5b0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45f6ae
cmp ebx, 0xc0
jb 0x45f6ae
test bl, 0x20
jne 0x45f5e5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45f6a6
test bl, 0x10
jne 0x45f60a
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 0x45f6a6
test bl, 8
jne 0x45f638
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 0x45f6a6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45f672
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 0x45f6a6
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f6d0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx ecx, byte [eax*8 + 0x5072aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507130], eax
je 0x45f716
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 0x45f5b0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x45f74a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45f74a
cmp eax, dword [ebp + 0x84]
jbe 0x45f74a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x45f460
jmp 0x45f788
cmp dword [ebp + 0x88], 0
je 0x45f788
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f788
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
cmp dword [esp + 0x80], 0
jne 0x45713a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464d05
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464cfb
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
add eax, 0xfffffffa
test edx, edx
je 0x4604de
cmp eax, 0xf
ja case.0x4604e7.9
jmp dword [eax*4 + 0x46530c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45f8c6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45f839
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00466ed0
add esp, 0x14
test eax, eax
jne 0x4604cb
jmp 0x45f85d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45f85d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45f85d
cmp edx, 1
je 0x4604cb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4604cb
cmp dword [ebp + 0x88], 0
je 0x45f898
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45f898
cmp dword [ebp + 0x18], 0
jne 0x45f898
cmp dword [edi], 2
jne 0x45f898
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45f898
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45f8b4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45f8b4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x45f8a3
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x45f804
jmp 0x4604cb
cmp dword [ebp + 0x88], 0
je 0x4604cb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4604cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4604cb
jmp 0x4580a6
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x45f958
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4604cb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x45f8c6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45f94a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45f94a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x45f932
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x45f920
jmp 0x4604cb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4604cb
cmp eax, dword [ebp + 0x84]
jbe 0x4604cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4604cb
jmp 0x45e699
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 0x45f9df
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4604cb
cmp edx, dword [ebp + 0x84]
jbe 0x4604cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4604cb
jmp 0x4580a6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4604cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45f8c6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45fb0a
test dl, 0x20
jne 0x45fa3e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45fb0a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45fa68
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 0x45fb08
test dl, 8
jne 0x45fa94
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 0x45fb08
test dl, 4
jne 0x45facc
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 0x45fb08
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 0x45fb26
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4604cb
cmp byte [eax], 0xa
jne 0x45fb60
inc eax
jmp 0x45fb5d
cmp edx, 0xa
je 0x45fb5b
cmp dword [ebp + 0x68], 0
jne 0x4604cb
cmp edx, 0xb
je 0x45fb5b
cmp edx, 0xc
je 0x45fb5b
cmp edx, 0x85
je 0x45fb5b
cmp edx, 0x2028
je 0x45fb5b
cmp edx, 0x2029
jne 0x4604cb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x45fa00
jmp 0x4604cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fcda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45fc58
test dl, 0x20
jne 0x45fbba
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45fc50
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45fbd9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45fc50
and eax, 0x3f
test dl, 8
jne 0x45fbf9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45fc50
test dl, 4
jne 0x45fc22
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 0x45fc50
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 0x45fc7e
je 0x45fcac
cmp edx, 0xa0
ja 0x45fc76
je 0x45fcac
cmp edx, 9
je 0x45fcac
cmp edx, 0x20
jmp 0x45fca6
cmp edx, 0x1680
jmp 0x45fca6
cmp edx, 0x205f
ja 0x45fca0
je 0x45fcac
cmp edx, 0x2000
jb 0x45fca8
cmp edx, 0x200a
jbe 0x45fcac
cmp edx, 0x202f
jmp 0x45fca6
cmp edx, 0x3000
je 0x45fcac
xor edx, edx
jmp 0x45fcb1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x4604cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45fb84
jmp 0x4604cb
cmp dword [ebp + 0x88], 0
je 0x4604cb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4604cb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4604cb
jmp 0x4580a6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fcda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45fdf0
test dl, 0x20
jne 0x45fd52
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45fde8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45fd71
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45fde8
and eax, 0x3f
test dl, 8
jne 0x45fd91
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45fde8
test dl, 4
jne 0x45fdba
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 0x45fde8
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 0x45fe2f
je 0x45fe3a
cmp edx, 0xa
jb 0x45fe04
cmp edx, 0xd
jbe 0x45fe3a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x4604cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45fd20
jmp 0x4604cb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x45fe04
mov edx, 1
jmp 0x45fe06
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fcda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45ff27
test dl, 0x20
jne 0x45fe89
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45ff1f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45fea8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45ff1f
and eax, 0x3f
test dl, 8
jne 0x45fec8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45ff1f
test dl, 4
jne 0x45fef1
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 0x45ff1f
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 0x45ff3c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4604cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45fe53
jmp 0x4604cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
jmp 0x45ff70
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fcda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x460044
test dl, 0x20
jne 0x45ffa6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46003c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45ffc5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46003c
and eax, 0x3f
test dl, 8
jne 0x45ffe5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46003c
test dl, 4
jne 0x46000e
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 0x46003c
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 0x4604cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4604cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45ff70
jmp 0x4604cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
jmp 0x460090
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fcda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x460164
test dl, 0x20
jne 0x4600c6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46015c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4600e5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46015c
and eax, 0x3f
test dl, 8
jne 0x460105
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46015c
test dl, 4
jne 0x46012e
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 0x46015c
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 0x460179
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4604cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x460090
jmp 0x4604cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fcda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x460277
test dl, 0x20
jne 0x4601d9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46026f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4601f8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46026f
and eax, 0x3f
test dl, 8
jne 0x460218
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46026f
test dl, 4
jne 0x460241
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 0x46026f
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 0x4604cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4604cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4601a3
jmp 0x4604cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fcda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x460394
test dl, 0x20
jne 0x4602f6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46038c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x460315
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46038c
and eax, 0x3f
test dl, 8
jne 0x460335
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46038c
test dl, 4
jne 0x46035e
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 0x46038c
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 0x4603a9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4604cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4602c0
jmp 0x4604cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4604cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fcda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4604a7
test dl, 0x20
jne 0x460409
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46049f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x460428
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46049f
and eax, 0x3f
test dl, 8
jne 0x460448
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46049f
test dl, 4
jne 0x460471
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 0x46049f
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 0x4604cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4604cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4603d3
cmp dword [esp + 0x80], 0
je 0x462d98
jmp 0x45713a
cmp eax, 0xf
ja case.0x4604e7.9
jmp dword [eax*4 + 0x46534c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x460977
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4605a4
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x460530
push 0
push edi
push eax
push edx
push ecx
call fcn.00466ed0
add esp, 0x14
test eax, eax
jne 0x460977
jmp 0x460554
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x460554
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x460554
cmp edx, 1
je 0x460977
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x460977
cmp dword [ebp + 0x88], 0
je 0x46058f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x46058f
cmp dword [ebp + 0x18], 0
jne 0x46058f
cmp dword [edi], 2
jne 0x46058f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x46058f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x460500
jmp 0x460977
cmp dword [ebp + 0x88], 0
je 0x460977
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x460977
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x460977
jmp 0x4580a6
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 0x460628
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x460977
cmp edx, dword [ebp + 0x84]
jbe 0x460977
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x460977
jmp 0x4580a6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x460977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460977
jmp 0x460650
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4605a4
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x46067b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x460977
cmp byte [eax], 0xa
jne 0x4606a5
inc eax
jmp 0x4606a2
cmp eax, 0xa
je 0x46069f
cmp dword [ebp + 0x68], 0
jne 0x460977
cmp eax, 0xb
je 0x46069f
cmp eax, 0xc
je 0x46069f
cmp eax, 0x85
jne 0x460977
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x460650
jmp 0x460977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460977
jmp 0x4606d0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4605a4
mov al, byte [ecx]
cmp al, 9
je 0x460977
cmp al, 0x20
je 0x460977
cmp al, 0xa0
je 0x460977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4606d0
jmp 0x460977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460977
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4605a4
mov al, byte [ecx]
cmp al, 9
je 0x46073e
cmp al, 0x20
je 0x46073e
cmp al, 0xa0
jne 0x460977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x460720
jmp 0x460977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460977
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4605a4
mov al, byte [ecx]
cmp al, 0xa
jb 0x460786
cmp al, 0xd
jbe 0x460977
cmp al, 0x85
je 0x460977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x460764
jmp 0x460977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460977
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4605a4
mov al, byte [ecx]
cmp al, 0xa
jb 0x460977
cmp al, 0xd
jbe 0x4607d2
cmp al, 0x85
jne 0x460977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4607b0
jmp 0x460977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460977
jmp 0x460800
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4605a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x460977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x460800
jmp 0x460977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460977
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4605a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x460977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x460842
jmp 0x460977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460977
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4605a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x460977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x460884
jmp 0x460977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460977
jmp 0x4608d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4605a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x460977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4608d0
jmp 0x460977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460977
jmp 0x460910
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4605a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x460977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x460910
jmp 0x460977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460977
jmp 0x460950
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4605a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x460977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x460950
cmp dword [esp + 0x80], 0
je 0x4619da
jmp 0x45713a
mov esi, dword [esi]
test esi, esi
je 0x464e51
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.0x4609b4
jmp dword [eax*4 + 0x46538c]
cmp edi, 0xfffffc1b
je 0x460a86
cmp edi, 0xfffffc20
jne 0x460a03
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.0x4609b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4609ff
cmp byte [ecx], 0x77
jne case.0x4609b4.49
xor edi, edi
jmp 0x460a0b
test edi, edi
jne case.0x4609b4.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 0x460a86
cmp dword [esi + 0x9c], 0x88
jb 0x460a51
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4647da
push 0x134
call dword [0x1143320]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4647d0
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x460e7c
mov edx, dword [esp + 0x8c]
jmp 0x4609a4
cmp edi, 0xfffffc20
jne 0x460b43
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 0x460b91
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x460b0e
cmp byte [ecx], 0x77
jne 0x460b91
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 0x460ba7
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x4609a4
test edi, edi
je 0x460b0e
cmp edi, 0xfffffc1b
jne 0x460b91
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x460b83
cmp al, 0x77
jne 0x460b74
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 0x460b60
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 0x460e7c
mov edx, dword [esp + 0x8c]
jmp 0x4609a4
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x460bf9
cmp eax, 0x81
je 0x460bf9
cmp dword [ebp + 0x6c], 0
jne 0x460c03
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 0x460c03
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x506fa0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x4570c0
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 0x4647fc
push 0x134
call dword [0x1143320]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4647f2
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
cmp edi, 1
jne 0x460cc3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x460c60
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x460c73
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 0x460ca9
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 0x460c90
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x506fa0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x45756e.145
test edi, edi
je 0x460cd3
cmp edi, 0xfffffc20
jne case.0x4609b4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x460ce9
movzx eax, byte [edx + 0x506fa0]
jmp 0x460cec
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x460d09
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x457141
cmp dword [esi + 0x9c], 0x8c
jne 0x4570c0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46481e
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464814
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
cmp edi, 1
je 0x460e02
cmp edi, 0xfffffc19
je 0x460e02
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x460daa
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.0x4609b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x460db2
cmp byte [ecx], 0x77
jmp 0x460dac
test edi, edi
jne case.0x4609b4.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 0x460e08
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464837
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46482d
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x460e21
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x4609a4
cmp dword [esi + 0x58], 0
je 0x46445e
mov esi, dword [esi]
test esi, esi
je 0x464df6
mov edi, 1
jmp 0x4609a4
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x460eed
je 0x460e86
cmp edi, 0xfffffc19
je 0x461723
cmp edi, 0xfffffc1b
jle case.0x4609b4.49
cmp edi, 0xfffffc1f
jle 0x460eae
mov esi, dword [esi]
test esi, esi
jne 0x4609a4
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 0x460eae
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x460f00
cmp byte [ecx], 0x77
je 0x460f00
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 0x460eb1
cmp dword [esi + 0x58], 0
je 0x461137
mov esi, dword [esi]
test esi, esi
je 0x464df6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x4609a4
mov eax, edi
sub eax, 0
je 0x460f00
dec eax
je 0x461723
jmp case.0x4609b4.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 0x460ec8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46484d
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464843
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
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 0x46448c
cmp edi, 0xfffffc19
je 0x46448c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x460fb9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x457f3b
push ecx
call dword [0x114331c]
add esp, 4
jmp 0x457f3b
test edi, edi
je 0x460fe3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x460fd4
push ecx
call dword [0x114331c]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x460e7c
jmp 0x460999
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 0x461049
cmp dword [esi + 0x58], 0
je 0x461014
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x464893
push 0x134
call dword [0x1143320]
mov edx, eax
add esp, 4
test edx, edx
jne 0x464889
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x460f99
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x4610a3
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4648e1
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4648d7
mov esi, dword [esi]
test esi, esi
je 0x464dab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4609a4
cmp al, 0x88
jb 0x4645e4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464903
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4648f9
mov esi, dword [esi]
test esi, esi
je 0x464dab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4609a4
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x464e03
mov edi, 0xfffffc1b
jmp 0x4609a4
test edi, edi
jne case.0x4609b4.49
mov edx, dword [esi + 0x2c]
jmp 0x461120
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 0x461120
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45713a
test edi, edi
je 0x4589b4
jmp case.0x4609b4.49
test edi, edi
je 0x4610ef
jmp case.0x4609b4.49
cmp edi, 0xfffffc1b
jne 0x46116b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x46116d
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x461f5b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464925
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46491b
mov esi, dword [esi]
test esi, esi
je 0x464dab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4609a4
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4611e0
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.004655e0
add esp, 0x14
test eax, eax
jns 0x461247
cmp eax, 0xfffffffe
jne 0x461209
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x462d21
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x462d21
cmp eax, dword [ebp + 0x84]
jbe 0x462d21
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x459f5e
jmp 0x462d21
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46494a
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464940
mov esi, dword [esi]
test esi, esi
je 0x464dab
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x4609a4
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x45e0c6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464963
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464959
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461307
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462e06
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 0x462d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46497c
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464972
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x457f3b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464995
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46498b
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4613e1
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462e06
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x461411
cmp dword [esi + 0x94], ecx
je 0x461411
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x4609a4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4649ae
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4649a4
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
dec dword [esi + 8]
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4649c7
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4649bd
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4614c1
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462e06
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x462d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4649e0
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4649d6
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
dec dword [esi + 8]
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4649f9
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4649ef
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46158e
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462e06
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x461723
cmp dword [esi + 0x94], ecx
je 0x461723
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a12
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a08
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a2b
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a21
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461665
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462e06
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x462d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a41
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a37
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a57
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a4d
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461734
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x4609a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x46177b
cmp dword [ebp + 0x88], 0
je 0x461763
cmp ecx, dword [ebp + 0x84]
jbe 0x461763
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x459f5e
mov esi, dword [esi]
test esi, esi
je 0x464db8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4609a4
cmp dword [esi + 0x7c], 0xc
jne 0x4617a2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4617c4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00466ed0
add esp, 0x14
test eax, eax
jne 0x4617e1
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.0x4617bd.15
jmp dword [eax*4 + 0x465498]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4617a2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4617a2
cmp edi, 1
je 0x4617e1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4617a2
mov esi, dword [esi]
test esi, esi
je 0x464db8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4609a4
cmp dword [ebp + 0x88], 0
je case.0x4617bd.13
cmp edx, dword [ebp + 0x78]
jb case.0x4617bd.13
cmp dword [ebp + 0x18], 0
jne case.0x4617bd.13
cmp dword [ebp + 0x1c], 2
jne case.0x4617bd.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4617bd.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x459f5e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a6d
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a63
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46187d.14
movzx eax, byte [ecx + 0x4654e8]
jmp dword [eax*4 + 0x4654d8]
cmp edx, dword [ebp + 0x78]
jae case.0x4617bd.13
cmp byte [edx], 0xa
jne case.0x4617bd.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4617bd.13
cmp dword [ebp + 0x68], 0
je case.0x4617bd.13
jmp case.0x46187d.14
cmp ecx, 9
je case.0x46187d.14
cmp ecx, 0x20
je case.0x46187d.14
cmp ecx, 0xa0
jmp 0x46197a
cmp ecx, 9
je case.0x4617bd.13
cmp ecx, 0x20
je case.0x4617bd.13
cmp ecx, 0xa0
je case.0x4617bd.13
jmp case.0x46187d.14
cmp ecx, 0xa
jb case.0x4617bd.13
cmp ecx, 0xd
jbe case.0x46187d.14
cmp ecx, 0x85
jmp 0x46197a
cmp ecx, 0xa
jb case.0x46187d.14
cmp ecx, 0xd
jbe case.0x4617bd.13
cmp ecx, 0x85
je case.0x4617bd.13
jmp case.0x46187d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4617bd.13
jmp case.0x46187d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x46197a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4617bd.13
jmp case.0x46187d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x46197a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4617bd.13
mov esi, dword [esi]
test esi, esi
je 0x464db8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4609a4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4617bd.13
mov esi, dword [esi]
test esi, esi
je 0x464db8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4609a4
mov esi, dword [esi]
test esi, esi
je case.default.0x4609b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4609a4
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x4619da
cmp eax, dword [esi + 0x30]
jbe 0x4619da
cmp byte [eax], 0xa
jne 0x4619da
cmp byte [eax - 1], 0xd
jne 0x4619da
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a83
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a79
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
cmp edi, 0xfffffc1a
jne 0x461a71
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 0x461a69
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 0x461a50
jmp 0x461ac8
mov dword [esi + 8], eax
jmp 0x461aed
cmp edi, 0xfffffc20
jne 0x461aa5
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.0x4609b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x461aad
cmp byte [ecx], 0x77
jmp 0x461aa7
test edi, edi
jne case.0x4609b4.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 0x461ae1
cmp dword [esi + 0x5c], 0
jne 0x461137
cmp dword [esi + 0x54], 0
jne 0x461137
jmp 0x462d21
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x461b03
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x464ac5
push 0x134
call dword [0x1143320]
mov edx, eax
add esp, 4
test edx, edx
jne 0x464abb
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
mov esi, dword [esi]
test edi, edi
jne 0x460e74
test esi, esi
je 0x464e1d
mov edi, 0xfffffc1c
jmp 0x4609a4
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x464e37
mov edi, 0xfffffc1e
jmp 0x4609a4
cmp edi, 1
je 0x461b83
cmp edi, 0xfffffc19
jne 0x461b9d
cmp dword [ebp + 0xac], 0
jne 0x461b9d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x460b91
cmp edi, 0xfffffc1f
jne 0x460b91
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x461bd2
test dl, dl
je 0x461bce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x461bd2
add eax, 2
add ecx, 2
test dl, dl
jne 0x461bb2
xor eax, eax
jmp 0x461bd7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x460b91
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x464e37
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x4609a4
cmp edi, 1
je 0x461c0d
cmp edi, 0xfffffc19
jne case.0x4609b4.51
cmp dword [ebp + 0xac], 0
jne case.0x4609b4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x460e74
test esi, esi
je 0x464e10
mov edi, 0xfffffc1d
jmp 0x4609a4
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x464e44
mov edi, 0xfffffc1f
jmp 0x4609a4
cmp edi, 1
je 0x461c70
cmp edi, 0xfffffc19
jne case.0x4609b4.54
cmp dword [ebp + 0xac], 0
jne case.0x4609b4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x464e2a
mov edi, 0xfffffc20
jmp 0x4609a4
cmp edi, 0xfffffc1a
jne 0x461d11
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 0x461d09
mov edx, dword [esi + 0xc]
jmp 0x461cf0
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 0x461cf0
jmp 0x461d78
mov dword [esi + 8], eax
jmp 0x457c72
cmp edi, 0xfffffc20
jne 0x461d45
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.0x4609b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x461d4d
cmp byte [ecx], 0x77
jmp 0x461d47
test edi, edi
jne case.0x4609b4.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 0x457c72
cmp dword [esi + 0x5c], 0
jne 0x461db8
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 0x457136
cmp dword [esi + 0x5c], 0
jne 0x457136
jmp 0x462d21
cmp edi, 1
jne 0x461e74
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x461df1
cmp al, 0x77
jne 0x462d21
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 0x461df1
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 0x457136
cmp ecx, dword [esi + 0x38]
je 0x457136
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x461f0d
test ecx, ecx
jne 0x464b2e
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b24
mov esi, dword [esi]
test esi, esi
je 0x464dab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4609a4
cmp edi, 0xfffffc20
jne 0x461ea8
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.0x4609b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x461eb0
cmp byte [ecx], 0x77
jmp 0x461eaa
test edi, edi
jne case.0x4609b4.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 0x461de0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464b09
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464aff
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test ecx, ecx
jne 0x464b53
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b49
mov esi, dword [esi]
test esi, esi
je 0x464dab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4609a4
test edi, edi
je 0x4645e4
jmp case.0x4609b4.49
test edi, edi
jne case.0x4609b4.49
add dword [esi + 0xc], 3
jmp 0x4570c0
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461f89
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46208a
cmp ebx, 0xc0
jb 0x46208a
test bl, 0x20
jne 0x461fcb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x462087
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x461ff5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46208a
mov edx, dword [esi + 8]
test bl, 8
jne 0x46201b
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 0x46207e
test bl, 4
jne 0x46204a
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 0x46207e
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.00466860
add esp, 0xc
test eax, eax
je 0x457f3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464b75
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b6b
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x462d21
cmp dword [esp + 0x8c], edi
je 0x462111
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x462111
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x462105
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464b8e
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b84
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46216b
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x462260
test bl, 0x20
jne 0x4621a5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46225d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4621cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x462260
mov edx, dword [esi + 8]
test bl, 8
jne 0x4621f8
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 0x46225b
test bl, 4
jne 0x462227
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 0x46225b
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 0x462276
cmp dword [esi + 0x9c], 0x6e
jne 0x462293
jmp 0x457f3b
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 0x457f3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464ba7
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b9d
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x457f3b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4622fc
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4622f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464bc0
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464bb6
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462356
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
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 0x4623c5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x462385
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46238a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x462374
cmp edi, 0xfffffffc
je 0x4623b7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4623c2
cmp edi, 0xfffffffd
je 0x4623b7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4623c2
cmp edi, 0xfffffffe
je 0x4623b7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4623c2
cmp edi, 0xffffffff
je 0x4623b7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4623c2
mov eax, dword [esi + 0x88]
jmp 0x462430
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x462470
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x462470
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4623f7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4623fc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4623e6
cmp edi, 0xfffffffc
je 0x46242d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x462470
cmp edi, 0xfffffffd
je 0x46242d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x462470
cmp edi, 0xfffffffe
je 0x46242d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x462470
cmp edi, 0xffffffff
je 0x46242d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x462470
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 0x464bd9
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464bcf
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
cmp dword [ebp + 0x88], 0
je case.0x45e0c6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x45e0c6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x45e0c6.14
jmp 0x458092
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4624bc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4624b0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464bf2
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464be8
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462522
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x462622
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x46255c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46261f
test dl, 0x10
jne 0x46257e
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 0x462622
mov ecx, dword [esi + 8]
test dl, 8
jne 0x4625ae
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 0x46261f
test dl, 4
jne 0x4625e4
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 0x46261f
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 0x4617e1
cmp dword [esi + 0x94], edx
je 0x4617e1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x462669
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x461275
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x464a8d
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46269c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x462690
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464c0b
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464c01
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462702
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x4627f7
test bl, 0x20
jne 0x46273c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4627f4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x462766
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4627f7
mov edx, dword [esi + 8]
test bl, 8
jne 0x46278f
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 0x4627f2
test bl, 4
jne 0x4627be
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 0x4627f2
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 0x457f3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464c24
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464c1a
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x462860
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x462854
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464c3d
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464c33
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4628c6
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x462902
cmp dword [ebp + 0x88], 0
je 0x462d21
cmp ecx, dword [ebp + 0x84]
jbe 0x462d21
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x459f5e
jmp 0x462d21
cmp dword [esi + 0x7c], 0xc
jne 0x462954
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x46292f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00466ed0
add esp, 0x14
test eax, eax
jne 0x462d21
jmp 0x462954
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x462954
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x462954
cmp edi, 1
je 0x462d21
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x462d21
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x462a3c
test dl, 0x20
jne 0x462987
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x462a39
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4629ae
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x462a37
test dl, 8
jne 0x4629d4
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 0x462a37
test dl, 4
jne 0x462a03
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 0x462a37
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.0x462a4b.15
jmp dword [eax*4 + 0x465564]
cmp dword [ebp + 0x88], 0
je case.0x462a4b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x462a4b.13
cmp dword [ebp + 0x18], 0
jne case.0x462a4b.13
cmp dword [ebp + 0x1c], 2
jne case.0x462a4b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x462a4b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x462a4b.13
jmp 0x459f5e
cmp edx, 0xd
ja 0x462ace
je 0x462abb
cmp edx, 0xa
je case.0x462a4b.13
jbe 0x462d21
cmp edx, 0xc
jmp 0x462ae8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x462a4b.13
cmp byte [eax], 0xa
jne case.0x462a4b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x462a4b.13
cmp edx, 0x85
je 0x462aee
cmp edx, 0x2027
jbe 0x462d21
cmp edx, 0x2029
ja 0x462d21
cmp dword [ebp + 0x68], 0
je case.0x462a4b.13
jmp 0x462d21
cmp edx, 0x180e
ja 0x462b6d
je 0x462d21
cmp edx, 0xa0
ja 0x462b65
je 0x462d21
cmp edx, 9
je 0x462d21
cmp edx, 0x20
je 0x462d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x462b56
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x461275
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x464a8d
cmp edx, 0x1680
jmp 0x462b21
cmp edx, 0x205f
ja 0x462b97
je 0x462d21
cmp edx, 0x2000
jb case.0x462a4b.13
cmp edx, 0x200a
jbe 0x462d21
cmp edx, 0x202f
jmp 0x462b21
cmp edx, 0x3000
jmp 0x462d1b
cmp edx, 0x180e
ja 0x462bd4
je case.0x462a4b.13
cmp edx, 0xa0
ja 0x462bcc
je case.0x462a4b.13
cmp edx, 9
je case.0x462a4b.13
cmp edx, 0x20
jmp 0x462c08
cmp edx, 0x1680
jmp 0x462c08
cmp edx, 0x205f
ja 0x462c02
je case.0x462a4b.13
cmp edx, 0x2000
jb 0x462d21
cmp edx, 0x200a
jbe case.0x462a4b.13
cmp edx, 0x202f
jmp 0x462c08
cmp edx, 0x3000
je case.0x462a4b.13
jmp 0x462d21
cmp edx, 0x85
ja 0x462c38
je 0x462d21
cmp edx, 0xa
jb case.0x462a4b.13
cmp edx, 0xd
jbe 0x462d21
jmp case.0x462a4b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x462a4b.13
jmp 0x462d21
cmp edx, 0x85
ja 0x462c68
je case.0x462a4b.13
cmp edx, 0xa
jb 0x462d21
cmp edx, 0xd
jmp 0x462c71
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x462a4b.13
jmp 0x462d21
cmp edx, 0x100
jae case.0x462a4b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x462a4b.13
jmp 0x462d21
cmp edx, 0x100
jae 0x462d21
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x462d1b
cmp edx, 0x100
jae case.0x462a4b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x462a4b.13
jmp 0x462d21
cmp edx, 0x100
jae 0x462d21
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x462d1b
cmp edx, 0x100
jae case.0x462a4b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x462a4b.13
mov esi, dword [esi]
test esi, esi
je 0x464db8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4609a4
cmp edx, 0x100
jae 0x462d21
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x462a4b.13
mov esi, dword [esi]
test esi, esi
je 0x464db8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4609a4
mov esi, dword [esi]
test esi, esi
je case.default.0x4609b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4609a4
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x462d7c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x462d70
cmp dword [esi + 0x7c], 0x11
jne 0x462d98
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x462d98
cmp byte [eax], 0xa
jne 0x462d98
dec eax
cmp byte [eax], 0xd
jne 0x462d98
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464c56
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464c4c
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462dfe
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x462e1e
cmp dword [ebp + 0x88], 0
je 0x461723
cmp eax, dword [ebp + 0x84]
jmp 0x463579
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x462e5d
cmp ecx, 0xc0
jb 0x462e5d
test cl, 0x20
jne 0x462e39
inc eax
jmp 0x462e5a
test cl, 0x10
jne 0x462e43
add eax, 2
jmp 0x462e5a
test cl, 8
jne 0x462e4d
add eax, 3
jmp 0x462e5a
test cl, 4
jne 0x462e57
add eax, 4
jmp 0x462e5a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x462e74
mov esi, dword [esi]
test esi, esi
je 0x464db8
xor edi, edi
jmp 0x4609a4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x462ea3
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x461275
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x464a8d
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462ed7
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x462fd1
cmp ebx, 0xc0
jb 0x462fd1
test bl, 0x20
jne 0x462f19
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x462fce
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x462f43
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x462fd1
mov edx, dword [esi + 8]
test bl, 8
jne 0x462f69
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 0x462fcc
test bl, 4
jne 0x462f98
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 0x462fcc
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x462ff3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
cmp eax, 9
je 0x463018
cmp eax, 5
je 0x463018
cmp eax, 8
je 0x463018
xor eax, eax
jmp 0x46301d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x457f3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464c6f
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464c65
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x463086
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46317c
cmp ebx, 0xc0
jb 0x46317c
test bl, 0x20
jne 0x4630c8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x463179
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4630f0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46317c
mov edx, dword [esi + 8]
test bl, 8
jne 0x463116
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 0x463179
test bl, 4
jne 0x463145
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 0x463179
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46319e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x457f3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464c88
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464c7e
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x463228
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46331e
cmp ebx, 0xc0
jb 0x46331e
test bl, 0x20
jne 0x46326a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46331b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463292
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46331e
mov edx, dword [esi + 8]
test bl, 8
jne 0x4632b8
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 0x46331b
test bl, 4
jne 0x4632e7
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 0x46331b
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x463340
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x457f3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464ca1
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464c97
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4633c3
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4634b9
cmp ebx, 0xc0
jb 0x4634b9
test bl, 0x20
jne 0x463405
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4634b6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46342d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4634b9
mov edx, dword [esi + 8]
test bl, 8
jne 0x463453
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 0x4634b6
test bl, 4
jne 0x463482
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 0x4634b6
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4634db
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x457f3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464cba
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464cb0
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46355e
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4635a7
cmp dword [ebp + 0x88], 0
je 0x461723
cmp edi, dword [ebp + 0x84]
jbe 0x461723
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x461723
mov esi, dword [esi]
test esi, esi
je 0x464ddc
mov edi, 0xfffffff4
jmp 0x4609a4
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x463695
cmp ebx, 0xc0
jb 0x463695
test bl, 0x20
jne 0x4635dd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x463692
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463607
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x463695
mov edx, dword [esi + 8]
test bl, 8
jne 0x46362d
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 0x463690
test bl, 4
jne 0x46365c
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 0x463690
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4636b7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072aa]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x463848
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x4637e7
cmp ebx, 0xc0
jb 0x4637e7
test bl, 0x20
jne 0x46371b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4637df
test bl, 0x10
jne 0x463740
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 0x4637df
test bl, 8
jne 0x463771
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 0x4637df
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4637ab
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 0x4637df
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x463809
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx ecx, byte [eax*8 + 0x5072aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507130], eax
je 0x463848
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x4636e0
cmp dword [ebp + 0x88], 0
je 0x463875
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x463875
cmp eax, dword [ebp + 0x84]
jbe 0x463875
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4580a6
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464cd3
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464cc9
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x4638dc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4638dc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4638d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4570c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464cec
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464ce2
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x463937
movzx ebx, byte [ecx]
jmp 0x463a25
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46394c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x463940
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x463a25
test bl, 0x20
jne 0x46396f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x463a1d
test bl, 0x10
jne 0x46398f
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 0x463a1d
test bl, 8
jne 0x4639b8
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 0x463a1d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4639ed
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 0x463a1d
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x463a47
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072aa]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x4570c0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x463a7f
movzx ebx, byte [edi]
jmp 0x463b3e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x463a91
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x463a87
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x463b3e
test bl, 0x20
jne 0x463ab1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x463b36
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x463ace
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x463b36
and eax, 0x3f
test bl, 8
jne 0x463ae9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x463b36
test bl, 4
jne 0x463b0d
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 0x463b36
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x463b60
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx edx, byte [eax*8 + 0x5072aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507130], eax
je 0x45f796
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x463a60
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x463bc1
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x463cbb
cmp ebx, 0xc0
jb 0x463cbb
test bl, 0x20
jne 0x463c03
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x463cb8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463c2d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x463cbb
mov edx, dword [esi + 8]
test bl, 8
jne 0x463c53
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 0x463cb6
test bl, 4
jne 0x463c82
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 0x463cb6
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 + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x463cdd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x463d04
cmp eax, 3
je 0x463d04
xor eax, eax
jmp 0x463d09
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x457f3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464d1e
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464d14
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x463d72
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x463e73
cmp ebx, 0xc0
jb 0x463e73
test bl, 0x20
jne 0x463db4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x463e70
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463dde
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x463e73
mov edx, dword [esi + 8]
test bl, 8
jne 0x463e04
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 0x463e67
test bl, 4
jne 0x463e33
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 0x463e67
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 0x463e9e
cmp ebx, 0x40
je 0x463e9e
cmp ebx, 0x60
je 0x463e9e
cmp ebx, 0xa0
jb 0x463e92
cmp ebx, 0xd7ff
jbe 0x463e9e
cmp ebx, 0xe000
jae 0x463e9e
xor eax, eax
jmp 0x463ea3
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x458882
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464d37
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464d2d
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x463f0c
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46400d
cmp ebx, 0xc0
jb 0x46400d
test bl, 0x20
jne 0x463f4e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46400a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463f78
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46400d
mov edx, dword [esi + 8]
test bl, 8
jne 0x463f9e
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 0x464001
test bl, 4
jne 0x463fcd
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 0x464001
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 0x464050
je case.0x464070.8192
cmp ebx, 0x85
ja 0x46403c
je case.0x464070.8192
cmp ebx, 9
jb case.0x464070.8203
cmp ebx, 0xd
jbe case.0x464070.8192
cmp ebx, 0x20
jmp 0x464085
cmp ebx, 0xa0
je case.0x464070.8192
cmp ebx, 0x1680
jmp 0x464085
cmp ebx, 0x202f
ja 0x464077
je case.0x464070.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x464070.8203
movzx eax, byte [eax + 0x4655ac]
jmp dword [eax*4 + 0x4655a4]
cmp ebx, 0x205f
je case.0x464070.8192
cmp ebx, 0x3000
je case.0x464070.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4640a9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
cmp dword [eax*4 + 0x5070b8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x4640dc
jmp 0x457f3b
cmp dword [esi + 0x68], 0
jne 0x458882
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464d50
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464d46
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46413c
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x464232
cmp ebx, 0xc0
jb 0x464232
test bl, 0x20
jne 0x46417e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46422f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4641a6
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x464232
mov edx, dword [esi + 8]
test bl, 8
jne 0x4641cc
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 0x46422f
test bl, 4
jne 0x4641fb
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 0x46422f
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 + 0x508928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x464255
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50ab28]
movzx eax, byte [eax*8 + 0x5072a9]
mov eax, dword [eax*4 + 0x5070b8]
cmp eax, 1
je 0x464281
cmp eax, 3
je 0x464281
cmp ebx, 0x5f
je 0x464281
xor eax, eax
jmp 0x464286
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x457f3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464d69
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464d5f
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
test edi, edi
jne case.0x4609b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4642ef
mov esi, dword [esi]
test esi, esi
je 0x464db8
jmp 0x4609a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4643ec
cmp ebx, 0xc0
jb 0x4643ec
test bl, 0x20
jne 0x464331
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4643e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x464359
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4643ec
mov edx, dword [esi + 8]
test bl, 8
jne 0x46437f
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 0x4643e2
test bl, 4
jne 0x4643ae
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 0x4643e2
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 + 0x507168]
lea eax, [eax*4 + 0x507168]
cmp ebx, ecx
jb 0x46440e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x464453
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x464401
cmp dword [esi + 0x68], 0
je 0x458882
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464d82
push 0x134
call dword [0x1143320]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464d78
mov esi, dword [esi]
test esi, esi
je 0x464dab
lea edi, [eax - 6]
jmp 0x460999
cmp dword [esi + 0x68], 0
je 0x464418
jmp 0x458882
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 0x464461
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x45713a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4644a3
push ecx
call dword [0x114331c]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x45713a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x462299
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4620a5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46243b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x462640
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x462809
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x462e7a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46302c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4631ce
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x463369
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x463504
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x463d18
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4640e2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x464295
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46441e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x463eb2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x462b2d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46387b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x4570c0
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 + 0x506fa0]
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 0x4570b0
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 0x4648a6
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 0x4648a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x4645ff
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 0x4648a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x4645ff
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 0x4648a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x4645ff
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 0x4570b0
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 0x464a96
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 0x464a96
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 0x464a96
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 0x464a96
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 0x464a96
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 0x4648a6
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 0x4648a6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x464857
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 0x4570b0
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 + 0x506fa0]
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 0x4570b0
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 0x464a96
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 0x464a96
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 0x464a96
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x464a8d
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 0x4570b0
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 0x4648a6
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 0x4648a6
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 0x464a96
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 0x464a96
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 0x464a96
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x464a8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x464a8d
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