Function at 0x450960
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 0x4509ee
mov esi, dword [esi]
test esi, esi
je 0x45e691
mov edi, 0xfffffff8
jmp 0x45a299
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x450a0a
mov esi, dword [esi]
test esi, esi
je 0x45e69e
mov edi, 0xffffffeb
jmp 0x45a299
cmp dword [ebp + 0x98], 2
jne 0x450a41
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 0x450a41
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.0x450a74.98
movzx eax, byte [edx + 0x45e8ac]
jmp dword [eax*4 + 0x45e760]
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 0x45def5
push 0x134
call dword [0x1c4d324]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45deef
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
mov edx, dword [esi + 4]
test edx, edx
jne 0x45df45
push 0x134
call dword [0x1c4d324]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45df3f
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
mov edx, dword [esi + 4]
test edx, edx
jne 0x45df63
push 0x134
call dword [0x1c4d324]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45df5d
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x45df81
push 0x134
call dword [0x1c4d324]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45df7b
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
mov edx, dword [esi + 4]
test edx, edx
jne 0x45df96
push 0x134
call dword [0x1c4d324]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45df90
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x450bce
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x52efc0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x450a41
mov edi, dword [esi + 4]
test edi, edi
jne 0x45dfb4
push 0x134
call dword [0x1c4d324]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45dfae
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
mov edx, dword [esi + 4]
test edx, edx
jne 0x45dfc9
push 0x134
call dword [0x1c4d324]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45dfc3
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x45dfe7
push 0x134
call dword [0x1c4d324]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45dfe1
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x45b7d8
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.0x450a74.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 0x45a33b
mov dword [esi + 0x54], ebx
jmp 0x4514df
mov dword [esi + 0x54], ebx
jmp 0x451503
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 0x450e48
mov edi, dword [0x1c53a80]
test edi, edi
je 0x450e34
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 0x450dee
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 0x450e23
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a299
jns 0x450e34
mov esi, dword [esi]
test esi, esi
je 0x45a77c
jmp 0x45a299
movzx eax, byte [0x52f036]
add dword [esi + 0xc], eax
movzx eax, byte [0x52f036]
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.0x450e6e.146
movzx eax, byte [eax + 0x45e968]
jmp dword [eax*4 + 0x45e950]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x450e6e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x450ea7
cmp edx, dword [edi + 4]
je 0x450ea7
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x45a5d3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x45a5d3
cmp dword [ebp + 0xa4], ebx
je case.0x450e6e.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.0x450e6e.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 0x45a5d3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x450ef0
jmp 0x45a5d3
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 0x450f54
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x450f54
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x450e6e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x450e6e.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 0x45a5d3
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 0x450fa9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x450fb8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x450f87
jmp 0x45a5d3
mov dword [esi + 0x58], 1
jmp 0x45a5d3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45dffc
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45dff6
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x451054
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x450a36
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 0x450a36
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x4510a3
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 0x450a36
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x4510f6
cmp edx, 0x9f
je 0x4510f6
cmp dword [ebp + 0xa4], ebx
jne 0x4510f6
cmp dword [ebp + 0x5c], ebx
jne 0x4510e5
cmp dword [ebp + 0x60], ebx
je 0x4510f6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x4510f6
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a299
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 0x45a77c
jmp 0x45a299
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45114f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x45a6cd
mov dword [esi + 0x58], ebx
jmp 0x45a6cd
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45117b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x45a81b
mov dword [esi + 0x58], ebx
jmp 0x45a81b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x4511e2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x4511c8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x4579c6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4511c4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4511b8
test edx, edx
jg 0x4511a0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x450a36
mov dword [ebp + 0x84], eax
jmp 0x450a36
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 0x4511c8
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a2a0
mov edi, dword [0x1c53a80]
test edi, edi
je 0x4512ec
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 0x4512a6
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 0x4512db
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a299
jns 0x4512ec
mov esi, dword [esi]
test esi, esi
je 0x45a77c
jmp 0x45a299
add dword [esi + 0xc], 6
jmp 0x450a3a
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 0x451316
xor edx, edx
jmp 0x451323
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 0x451343
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x45133d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x4513a4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x451330
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 0x4513b8
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 0x45a904
mov esi, dword [esi]
test esi, esi
je 0x45e6c2
mov edi, 0xffffffe6
jmp 0x45a299
shl eax, 2
push eax
call dword [0x1c4d31c]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x45137e
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x4513e1
jmp 0x450a41
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e037
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e031
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x451440
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e055
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e04f
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x451493
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x450a41
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 0x4514df
cmp eax, 0x8b
jne 0x451503
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 0x451520
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 0x45b3ed
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 0x45159d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45e3e7
push 0x134
call dword [0x1c4d324]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45e3dd
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x4515f8
cmp al, 0x81
je 0x4515f8
mov dword [esi + 0x38], ebx
jmp 0x451609
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 0x451616
cmp al, 0x80
jbe 0x45161a
cmp al, 0x82
jne 0x451646
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 0x45e6f6
mov edi, 1
jmp 0x45a299
cmp al, 0x85
je 0x45165a
cmp al, 0x8a
je 0x45165a
cmp al, 0x86
je 0x45165a
cmp al, 0x8b
jne 0x451721
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 0x451696
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x451696
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x45162c
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 0x4516c5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x451721
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x4516e5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x4516e5
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 0x451721
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x451757
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 0x45e6cf
mov edi, 0xfffffc1a
jmp 0x45a299
cmp cl, 0x78
je 0x4517d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x4517d0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x45179e
test ecx, ecx
jne 0x45e076
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e070
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test ecx, ecx
jne 0x45e097
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e091
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x45aa37
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e0b5
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e0af
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
cmp dword [ebp + 0x44], ebx
je case.0x450a74.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x450a74.1
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a299
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x4518f8
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a299
cmp dword [ebp + 0x44], ebx
je 0x45186a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x45186a
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a299
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x4522b4
cmp ecx, dword [ebp + 0x78]
je 0x4518d0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4518a8
cmp ecx, edx
jbe 0x4518d0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00460920
add esp, 0x14
test eax, eax
jne 0x4522b4
jmp 0x4518d0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x4518d0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4518d0
cmp edi, 1
je 0x4522b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4522b4
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a299
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x451835
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x450a41
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4519ba
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x451935
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.004607d0
add esp, 0x14
test eax, eax
jne 0x4522b4
jmp 0x451959
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x451959
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x451959
cmp edx, 1
je 0x4522b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4522b4
cmp dword [ebp + 0x88], ebx
je case.0x4579c6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x4579c6.14
cmp dword [ebp + 0x18], ebx
jne case.0x4579c6.14
cmp dword [edi], 2
jne case.0x4579c6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x4579c6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4579c6.14
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edi, 0xfffffff4
jmp 0x45a299
cmp dword [ebp + 0x48], ebx
jne 0x45183b
cmp dword [ebp + 0x88], ebx
je 0x4522b4
cmp ecx, dword [ebp + 0x84]
jbe 0x4522b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4522b4
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edi, 0xfffffff4
jmp 0x45a299
cmp dword [ebp + 0x48], ebx
jne 0x45183b
cmp dword [ebp + 0x58], ebx
je case.0x450a74.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45183b
cmp dword [ebp + 0x88], ebx
je 0x4518f8
cmp eax, dword [ebp + 0x84]
jbe 0x4518f8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4518f8
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edi, 0xfffffff4
jmp 0x45a299
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x451ac5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x451a8d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.004607d0
add esp, 0x14
test eax, eax
jne 0x451ab5
jmp 0x451959
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x451959
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x451959
cmp edx, 1
je 0x451ab5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x451959
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x451959
cmp dword [ebp + 0x88], ebx
je 0x4522b4
cmp ecx, dword [ebp + 0x84]
jbe 0x4522b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4522b4
jmp 0x4519a6
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x451dc7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x451b15
mov dword [esi + 0x5c], ebx
jmp 0x451c4e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x451b2a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x451b20
cmp edx, dword [ebp + 0x84]
jae 0x451b38
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x451bec
test bl, 0x20
jne 0x451b60
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x451bec
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x451b7a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x451be2
and eax, 0x3f
test bl, 8
jne 0x451b95
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x451be2
test bl, 4
jne 0x451bb9
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 0x451be2
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 0x451c87
cmp ebx, 0x5f
jne 0x451c04
mov dword [esi + 0x5c], 1
jmp 0x451c4e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x451c26
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x451c98
cmp eax, 3
je 0x451c98
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x451c9f
cmp dword [ebp + 0x88], 0
je 0x451c7b
cmp edx, dword [ebp + 0x84]
jbe 0x451c7b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
mov dword [esi + 0x54], 0
jmp 0x451f05
cmp ebx, 0x100
jae 0x451c49
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x451c49
mov eax, 1
jmp 0x451c4b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x451d49
test bl, 0x20
jne 0x451cbf
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x451d41
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x451cd9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x451d41
and eax, 0x3f
test bl, 8
jne 0x451cf4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x451d41
test bl, 4
jne 0x451d18
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 0x451d41
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 0x451dac
cmp ebx, 0x5f
jne 0x451d60
mov dword [esi + 0x54], 1
jmp 0x451f05
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x451d82
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x451dbd
cmp eax, 3
je 0x451dbd
xor eax, eax
jmp 0x451f02
cmp ebx, 0x100
jae 0x451da5
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x451da5
mov eax, 1
jmp 0x451f02
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x451dd7
mov dword [esi + 0x5c], ebx
jmp 0x451e72
cmp eax, dword [ebp + 0x84]
ja 0x451de6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x451e5e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x451e00
mov dword [esi + 0x5c], 1
jmp 0x451e72
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x530948]
shl eax, 7
and ecx, 0x8000007f
jns 0x451e22
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x451e50
cmp eax, 3
je 0x451e50
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x451e6f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x451e6f
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 0x451eb3
cmp dword [ebp + 0x88], ebx
je 0x451eae
cmp eax, dword [ebp + 0x84]
jbe 0x451eae
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x451eae
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edi, 0xfffffff4
jmp 0x45a2a0
mov dword [esi + 0x54], ebx
jmp 0x451f05
cmp dword [ebp + 0x54], ebx
je 0x451ef2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x451ec9
mov dword [esi + 0x54], 1
jmp 0x451f05
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x530948]
shl eax, 7
and ecx, 0x8000007f
jns 0x451eeb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x451d84
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 0x451f20
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x451f28
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x450a41
jmp 0x45183b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x451f6d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x451f98
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.004607d0
add esp, 0x14
test eax, eax
jne 0x45183b
jmp 0x451f98
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x451f98
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x451f98
cmp edx, 1
je 0x45183b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45183b
cmp dword [ebp + 0x88], ebx
je case.0x450a74.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x450a74.13
cmp dword [ebp + 0x18], ebx
jne case.0x450a74.13
cmp dword [ebp + 0x1c], 2
jne case.0x450a74.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x450a74.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x451ff6
cmp dword [ebp + 0x88], ebx
je case.0x4579c6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4579c6.14
jmp 0x451992
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x4518f8
cmp eax, dword [ebp + 0x78]
jae 0x4518f8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4518f8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x452012
inc dword [esi + 0xc]
jmp 0x450a41
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x451fd9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x450a41
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45206d
cmp dword [ebp + 0x88], ebx
je case.0x4579c6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4579c6.14
jmp 0x451992
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x452169
cmp ebx, 0xc0
jb 0x452169
test bl, 0x20
jne 0x4520aa
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x452166
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4520d4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x452169
mov edx, dword [esi + 8]
test bl, 8
jne 0x4520fa
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 0x45215d
test bl, 4
jne 0x452129
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 0x45215d
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 0x4522b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4522b4
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a2a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45229b
cmp ebx, 0xc0
jb 0x45229b
test bl, 0x20
jne 0x4521dc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x452298
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452206
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45229b
mov edx, dword [esi + 8]
test bl, 8
jne 0x45222c
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 0x45228f
test bl, 4
jne 0x45225b
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 0x45228f
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 0x4511fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4511fd
inc dword [esi + 0xc]
jmp 0x450a3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4523c4
cmp ebx, 0xc0
jb 0x4523c4
test bl, 0x20
jne 0x452305
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4523c1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45232f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4523c4
mov edx, dword [esi + 8]
test bl, 8
jne 0x452355
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 0x4523b8
test bl, 4
jne 0x452384
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 0x4523b8
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 0x4522b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x45217c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4524e4
cmp ebx, 0xc0
jb 0x4524e4
test bl, 0x20
jne 0x452425
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4524e1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45244f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4524e4
mov edx, dword [esi + 8]
test bl, 8
jne 0x452475
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 0x4524d8
test bl, 4
jne 0x4524a4
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 0x4524d8
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 0x4511fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x4511fd
inc dword [esi + 0xc]
jmp 0x450a3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45260d
cmp ebx, 0xc0
jb 0x45260d
test bl, 0x20
jne 0x45254e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45260a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452578
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45260d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45259e
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 0x452601
test bl, 4
jne 0x4525cd
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 0x452601
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 0x4522b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x45217c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45272d
cmp ebx, 0xc0
jb 0x45272d
test bl, 0x20
jne 0x45266e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45272a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452698
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45272d
mov edx, dword [esi + 8]
test bl, 8
jne 0x4526be
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 0x452721
test bl, 4
jne 0x4526ed
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 0x452721
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 0x4511fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4511fd
inc dword [esi + 0xc]
jmp 0x450a3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x452856
cmp ebx, 0xc0
jb 0x452856
test bl, 0x20
jne 0x452797
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x452853
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4527c1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x452856
mov edx, dword [esi + 8]
test bl, 8
jne 0x4527e7
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 0x45284a
test bl, 4
jne 0x452816
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 0x45284a
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 0x4528cf
je 0x452871
cmp ebx, 0xa
je 0x4522b4
jbe 0x452182
cmp ebx, 0xc
jmp 0x4528e9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4528ba
cmp dword [ebp + 0x88], 0
je 0x4522b4
cmp eax, dword [ebp + 0x84]
jbe 0x4522b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4522b4
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edi, 0xfffffff4
jmp 0x45a2a0
cmp byte [eax], 0xa
jne 0x4522b4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x450a3a
cmp ebx, 0x85
je 0x4528ef
cmp ebx, 0x2027
jbe 0x452182
cmp ebx, 0x2029
ja 0x452182
cmp dword [ebp + 0x68], 0
jmp 0x45217c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x452a00
cmp ebx, 0xc0
jb 0x452a00
test bl, 0x20
jne 0x452941
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4529fd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45296b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x452a00
mov edx, dword [esi + 8]
test bl, 8
jne 0x452991
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 0x4529f4
test bl, 4
jne 0x4529c0
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 0x4529f4
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 0x452a38
je 0x4511fd
cmp ebx, 0xa0
ja 0x452a2d
je 0x4511fd
cmp ebx, 9
je 0x4511fd
cmp ebx, 0x20
jmp 0x4522ae
cmp ebx, 0x1680
jmp 0x4522ae
cmp ebx, 0x205f
ja 0x452a69
je 0x4511fd
cmp ebx, 0x2000
jb 0x4522b4
cmp ebx, 0x200a
jbe 0x4511fd
cmp ebx, 0x202f
jmp 0x4522ae
cmp ebx, 0x3000
je 0x4511fd
inc dword [esi + 0xc]
jmp 0x450a3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x452b85
cmp ebx, 0xc0
jb 0x452b85
test bl, 0x20
jne 0x452ac6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x452b82
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452af0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x452b85
mov edx, dword [esi + 8]
test bl, 8
jne 0x452b16
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 0x452b79
test bl, 4
jne 0x452b45
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 0x452b79
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 0x452bbd
je 0x4522b4
cmp ebx, 0xa0
ja 0x452bb2
je 0x4522b4
cmp ebx, 9
je 0x4522b4
cmp ebx, 0x20
jmp 0x45217c
cmp ebx, 0x1680
jmp 0x45217c
cmp ebx, 0x205f
ja 0x452bee
je 0x4522b4
cmp ebx, 0x2000
jb 0x452182
cmp ebx, 0x200a
jbe 0x4522b4
cmp ebx, 0x202f
jmp 0x45217c
cmp ebx, 0x3000
jmp 0x45217c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x452d01
cmp ebx, 0xc0
jb 0x452d01
test bl, 0x20
jne 0x452c42
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x452cfe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452c6c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x452d01
mov edx, dword [esi + 8]
test bl, 8
jne 0x452c92
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 0x452cf5
test bl, 4
jne 0x452cc1
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 0x452cf5
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 0x452d29
je 0x452182
cmp ebx, 0xa
jb 0x4522b4
cmp ebx, 0xd
jbe 0x452182
inc dword [esi + 0xc]
jmp 0x450a3a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4522b4
jmp 0x452182
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x452e45
cmp ebx, 0xc0
jb 0x452e45
test bl, 0x20
jne 0x452d86
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x452e42
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452db0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x452e45
mov edx, dword [esi + 8]
test bl, 8
jne 0x452dd6
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 0x452e39
test bl, 4
jne 0x452e05
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 0x452e39
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 0x452e6a
je 0x4522b4
cmp ebx, 0xa
jb 0x4511fd
cmp ebx, 0xd
jbe 0x4522b4
jmp 0x4511fd
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4511fd
inc dword [esi + 0xc]
jmp 0x450a3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x452f7d
cmp ebx, 0xc0
jb 0x452f7d
test bl, 0x20
jne 0x452ec9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x452f7a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452ef1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x452f7d
mov edx, dword [esi + 8]
test bl, 8
jne 0x452f17
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 0x452f7a
test bl, 4
jne 0x452f46
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 0x452f7a
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 + 0x530948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x452fa0
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 + 0x532b48]
cmp eax, 0xa
ja case.default.0x452fba
jmp dword [eax*4 + 0x45e97c]
cmp dword [esi + 0x9c], 0xf
jne 0x450a36
jmp 0x45183b
mov al, byte [edx*8 + 0x52f2c9]
cmp al, 9
je 0x452fea
cmp al, 5
je 0x452fea
cmp al, 8
je 0x452fea
xor ecx, ecx
jmp 0x452fef
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x450a36
jmp 0x45183b
movzx ecx, byte [edx*8 + 0x52f2c9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x52f0d8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x450a36
jmp 0x45183b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x52f2c9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x450a36
jmp 0x45183b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x52f2c8]
jmp 0x45304b
movzx eax, byte [edx*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x452fea
cmp eax, 3
je 0x452fea
xor ecx, ecx
jmp 0x452fef
cmp ebx, 0x180e
ja 0x4530e3
je case.0x452fba.0
cmp ebx, 0x85
ja 0x4530cf
je case.0x452fba.0
cmp ebx, 9
jb case.0x453103.8203
cmp ebx, 0xd
jbe case.0x452fba.0
cmp ebx, 0x20
jmp 0x45311c
cmp ebx, 0xa0
je case.0x452fba.0
cmp ebx, 0x1680
jmp 0x45311c
cmp ebx, 0x202f
ja 0x45310a
je case.0x452fba.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x453103.8203
movzx eax, byte [ebx + 0x45e9b0]
jmp dword [eax*4 + 0x45e9a8]
cmp ebx, 0x205f
je case.0x452fba.0
cmp ebx, 0x3000
je case.0x452fba.0
movzx eax, byte [edx*8 + 0x52f2c9]
xor ecx, ecx
cmp dword [eax*4 + 0x52f0d8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x453057
movzx eax, byte [edx*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x452fea
cmp eax, 3
je 0x452fea
cmp ebx, 0x5f
je 0x452fea
xor ecx, ecx
jmp 0x452fef
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x52f188]
lea eax, [eax*4 + 0x52f188]
cmp ebx, ecx
jb 0x45319d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x4531af
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x453190
cmp dword [esi + 0x9c], 0x10
jne 0x450a36
jmp 0x45183b
cmp dword [esi + 0x9c], 0x10
je 0x450a36
jmp 0x45183b
cmp ebx, 0x24
je 0x452fea
cmp ebx, 0x40
je 0x452fea
cmp ebx, 0x60
je 0x452fea
cmp ebx, 0xa0
jb 0x4531f0
cmp ebx, 0xd7ff
jbe 0x452fea
cmp ebx, 0xe000
jae 0x452fea
xor ecx, ecx
jmp 0x452fef
mov esi, dword [esi]
test esi, esi
je case.default.0x45a2b4
mov edi, 0xfffffff2
jmp 0x45a299
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x453322
cmp ebx, 0xc0
jb 0x453322
test bl, 0x20
jne 0x453260
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45331f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45328f
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 0x453322
mov edx, dword [esi + 8]
test bl, 8
jne 0x4532b5
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 0x453318
test bl, 4
jne 0x4532e4
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 0x453318
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x453344
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4534d6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45346e
cmp ebx, 0xc0
jb 0x45346e
test bl, 0x20
jne 0x4533a5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x453466
test bl, 0x10
jne 0x4533ca
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 0x453466
test bl, 8
jne 0x4533f8
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 0x453466
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x453432
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 0x453466
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x453490
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx ecx, byte [eax*8 + 0x52f2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52f150], eax
je 0x4534d6
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 0x453370
cmp dword [ebp + 0x88], 0
je 0x4522b4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4522b4
cmp eax, dword [ebp + 0x84]
jbe 0x4522b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4522b4
jmp 0x4519a6
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 0x453604
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 0x453594
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x45359d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x453570
jmp 0x453604
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x453604
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 0x4535f4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x4535f4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x4535fe
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.0x45361f
movzx eax, byte [eax + 0x45e9e4]
jmp dword [eax*4 + 0x45e9dc]
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 + 0x52e618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52e624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4536ad
mov dword [esi + 0x8c], getpeername
jmp 0x4536ad
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 0x4536a9
mov dword [esi + 0x8c], getpeername
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x450a41
jns 0x4536d1
cmp dword [esi + 0x90], 0
je 0x450a41
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45370f
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.0045eee0
add esp, 0x14
test eax, eax
js 0x453741
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4536e0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x450a41
cmp dword [esp + 0x80], 0
je 0x45376a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45ab52
cmp eax, 0xfffffffe
jne 0x45374c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x4579c6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4579c6.14
jmp 0x451fe5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x453780
cmp edi, dword [esi + 0x8c]
jge 0x45aba1
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0045eee0
add esp, 0x14
test eax, eax
js 0x4537b5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x453780
cmp eax, 0xfffffffe
jne 0x45aba1
cmp dword [ebp + 0x88], 0
je 0x45aba1
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x45aba1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45aba1
jmp 0x4519a6
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0045eee0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x453879
cmp eax, 0xfffffffe
jne 0x453825
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x45b17d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x45b17d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x45b17d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x45b17d.14
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x45a2a4
add dword [esi + 8], eax
jmp 0x450a3a
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.0x4538a7
movzx eax, byte [eax + 0x45e9f4]
jmp dword [eax*4 + 0x45e9ec]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4538ca
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x4538d5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x52e618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52e624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45396c
mov dword [esi + 0x8c], getpeername
jmp 0x45396c
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 0x453952
mov dword [esi + 0x8c], getpeername
add dword [esi + 0xc], 5
jmp 0x45396c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x453acc
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x453b21
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x453a7c
test bl, 0x20
jne 0x4539ca
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x453a79
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4539f1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x453a77
test bl, 8
jne 0x453a14
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 0x453a77
test bl, 4
jne 0x453a43
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 0x453a77
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 0x453a8d
cmp dword [esi + 0x9c], 0x6e
jmp 0x453aa2
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.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453990
jmp 0x453b13
cmp dword [ebp + 0x88], 0
je case.0x4579c6.14
mov eax, dword [esi + 8]
jmp 0x451fe5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x453b1a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453ab7
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.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x453ae0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x450a3a
test ebx, ebx
je 0x453b4a
test edx, edx
jne 0x45ddb7
mov dword [esi + 0x84], eax
jmp 0x45ac3b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x453d02
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x453cef
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453cc7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x453c76
test bl, 0x20
jne 0x453bbb
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x453c76
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x453be3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x453c6c
and eax, 0x3f
test bl, 8
jne 0x453c09
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 0x453c6c
test bl, 4
jne 0x453c38
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 0x453c6c
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 0x453c87
cmp dword [esi + 0x9c], 0x6e
jmp 0x453c9c
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 0x453cef
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 0x453b71
jmp 0x453cef
cmp dword [ebp + 0x88], 0
je 0x453cef
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x453cef
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
je 0x45bbfc
jmp 0x450a3a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x453d7a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x453d52
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 0x453d7a
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 0x453d11
jmp 0x453d7a
cmp dword [ebp + 0x88], 0
je 0x453d7a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x453d7a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
je 0x45ac7b
jmp 0x450a3a
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.0x453dc5
movzx eax, byte [eax + 0x45ea08]
jmp dword [eax*4 + 0x45ea00]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x453de8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x453df3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x52e618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52e624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x453e8a
mov dword [esi + 0x8c], getpeername
jmp 0x453e8a
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 0x453e70
mov dword [esi + 0x8c], getpeername
add dword [esi + 0xc], 5
jmp 0x453e8a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x453fc5
jmp 0x453ea0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x453f9a
cmp edx, 0xc0
jb 0x453f9a
test dl, 0x20
jne 0x453ee8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x453f97
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453f0f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x453f95
test dl, 8
jne 0x453f32
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 0x453f95
test dl, 4
jne 0x453f61
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 0x453f95
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.00460160
add esp, 0xc
test eax, eax
je case.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x453ea0
jmp 0x453fcc
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x450a41
cmp dword [esp + 0x84], 0
jne 0x45ddc8
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 0x45415d
jmp 0x454010
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x454133
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4540fb
cmp edx, 0xc0
jb 0x4540fb
test dl, 0x20
jne 0x45405c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x4540fb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45407b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x4540f1
and eax, 0x3f
test dl, 8
jne 0x45409b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4540f1
test dl, 4
jne 0x4540c4
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 0x4540f1
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.00460160
add esp, 0xc
test eax, eax
je 0x45415d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x454010
jmp 0x45415d
cmp dword [ebp + 0x88], 0
je 0x454156
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454156
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x4519a6
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x450a41
jmp 0x45ba11
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x454349
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 0x4542d0
test al, 0x20
jne 0x4541d0
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 0x4542d0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x45420a
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 0x4542d0
test al, 8
jne 0x454246
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 0x4542d0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x45428b
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 0x4542d0
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 0x454309
cmp dword [ebp + 0x88], ebx
je case.0x4579c6.14
cmp edx, edi
jb case.0x4579c6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4579c6.14
jmp 0x451992
test ecx, ecx
jle 0x45433e
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.0x4579c6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x454310
dec dword [esi + 0x88]
jmp 0x450a3a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x454396
cmp dword [ebp + 0x88], ebx
je 0x4511fd
cmp edi, dword [ebp + 0x84]
jbe 0x4511fd
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4511fd
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edi, 0xfffffff4
jmp 0x45a2a0
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 0x4546ab
jmp 0x45183b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x452050
cmp dword [esp + 0x8c], ebx
je 0x45468c
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 0x45451b
test al, 0x20
jne 0x45441b
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 0x45451b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x454455
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 0x45451b
test al, 8
jne 0x454491
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 0x45451b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4544d6
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 0x45451b
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 0x454549
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x45183b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x450a3a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x45462b
test bl, 0x20
jne 0x454579
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x454628
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4545a0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x454626
test bl, 8
jne 0x4545c3
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 0x454626
test bl, 4
jne 0x4545f2
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 0x454626
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 0x450a3a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x530948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x454665
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x532b48]
mov eax, dword [eax*8 + 0x52f2cc]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x450a41
jmp 0x45183b
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 0x45183b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x450a3a
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 0x4547dd
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 0x454714
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x45471f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x4547dd
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4547e4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x4547e4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x4547e4
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 + 0x52e618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x52e624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4547dd
mov dword [esi + 0x8c], getpeername
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x454c58
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 0x45492b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x454841
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 0x45492b
test bl, 0x10
jne 0x454876
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 0x45492b
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 0x4548b4
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 0x45492b
test bl, 4
jne 0x4548ed
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 0x45492b
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 0x454c67
cmp dword [esi + 0x9c], 0x2e
jb 0x45499c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x530948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x454973
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x532b48]
mov ecx, dword [eax*8 + 0x52f2cc]
add ecx, edi
cmp ecx, edi
je 0x45499c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.00460100
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x4549a3
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x454ad6
jmp 0x4549c0
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 0x454a44
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x4549f8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x454a01
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4549e7
cmp edi, 0xfffffffc
je 0x454ab8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x454a3a
cmp edi, 0xfffffffd
je 0x454ab8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x454a3a
cmp edi, 0xfffffffe
je 0x454ab8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x454a3a
cmp edi, 0xffffffff
je 0x454ab8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x454ab8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x45374c
sub ecx, ebx
cmp edi, ecx
ja 0x45374c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x454a76
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x454a7b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x454a65
cmp edi, 0xfffffffc
je 0x454ab8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45374c
cmp edi, 0xfffffffd
je 0x454ab8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45374c
cmp edi, 0xfffffffe
je 0x454ab8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45374c
cmp edi, 0xffffffff
je 0x454ab8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45374c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x4549c0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x450a41
cmp dword [esp + 0x84], 0
jne 0x45ddd9
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 0x454c45
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 0x454b9c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x454b58
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x454b61
add ecx, 4
add edx, 4
sub edi, 4
jae 0x454b47
cmp edi, 0xfffffffc
je 0x454bf8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x454b92
cmp edi, 0xfffffffd
je 0x454bf8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x454b92
cmp edi, 0xfffffffe
je 0x454bf8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x454b92
cmp edi, 0xffffffff
je 0x454bf8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x454bf8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x454c18
sub ecx, ebx
cmp edi, ecx
ja 0x454c18
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x454bc6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x454bcb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x454bb5
cmp edi, 0xfffffffc
je 0x454bf8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x454c18
cmp edi, 0xfffffffd
je 0x454bf8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x454c18
cmp edi, 0xfffffffe
je 0x454bf8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x454c18
cmp edi, 0xffffffff
je 0x454bf8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x454c18
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x454b20
jmp 0x454c45
cmp dword [ebp + 0x88], 0
je 0x454c45
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x454c45
cmp eax, dword [ebp + 0x84]
jbe 0x454c45
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
je 0x45bdbc
jmp 0x450a3a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x454d5f
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 0x454cc4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453ab7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x454cb7
cmp dword [esi + 0x94], ecx
jne case.0x4579c6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x454c94
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x450a3a
cmp dword [esp + 0x84], 0
je 0x454ceb
mov dword [esi + 0x84], eax
jmp 0x45ad1b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x454d52
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454d2a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x454d1b
cmp dword [esi + 0x94], ecx
jne 0x454d52
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x454d00
jmp 0x454d52
cmp dword [ebp + 0x88], 0
je 0x454d52
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454d52
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
test edi, edi
je 0x45ad5b
jmp 0x450a3a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x454d9a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x454d70
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x450a41
cmp dword [esp + 0x84], 0
je 0x454dc8
mov dword [esi + 0x84], eax
jmp 0x45ade8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x454e2c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x454e04
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x454e2c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x454de0
jmp 0x454e2c
cmp dword [ebp + 0x88], 0
je 0x454e2c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454e2c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
je 0x45ae28
jmp 0x450a41
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x454e64
cmp dword [ebp + 0x88], ebx
je case.0x4579c6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x4579c6.14
jmp 0x451992
test edi, edi
je 0x4550dc
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 0x454f65
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x454ea2
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x454f62
test bl, 0x10
jne 0x454ec3
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 0x454f62
test bl, 8
jne 0x454eee
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 0x454f65
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x454f27
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 0x454f62
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 0x455058
test dl, 0x20
jne 0x454f9f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45504e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x454fc6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45504c
test dl, 8
jne 0x454fe9
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 0x45504c
test dl, 4
jne 0x455018
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 0x45504c
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 0x455075
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x450a41
jmp 0x45183b
cmp ebx, 0x7f
jbe 0x4550b2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x530948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45509d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x532b48]
mov ecx, dword [eax*8 + 0x52f2cc]
add ecx, ebx
jmp 0x4550b9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x45183b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x450a41
jmp 0x45183b
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.0x4579c6.14
cmp dword [esi + 0x9c], 0x20
jne 0x4546ab
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4579c6.14
add dword [esi + 0xc], 2
jmp 0x450a3a
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 0x455276
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 0x45517b
cmp al, 0x4f
je 0x45517b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x455276
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x455276
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x455276
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x455276
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x455276
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 0x455276
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 + 0x52e618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x52e624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x455276
mov dword [esi + 0x8c], getpeername
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 0x4553d1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x4553d1
test al, 0x20
jne 0x4552c8
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 0x4553d1
test al, 0x10
jne 0x4552fb
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 0x4553d1
test al, 8
jne 0x45533d
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 0x4553d1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x455388
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 0x4553ca
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 0x4557f5
test edx, edx
je 0x45542c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x45542c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x530948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x455410
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x532b48]
mov eax, dword [eax*8 + 0x52f2cc]
add eax, edi
jmp 0x455439
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x455580
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4555cb
jmp 0x455460
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x455559
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x45549a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x455556
test cl, 0x10
jne 0x4554bb
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 0x455556
test cl, 8
jne 0x4554e5
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 0x455556
test cl, 4
jne 0x45551b
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 0x455556
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.0x4579c6.14
cmp dword [esi + 0x94], ecx
je case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x455460
jmp 0x4555c4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x4555c4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453ab7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4579c6.14
cmp dword [esi + 0x94], ecx
je case.0x4579c6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x455590
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x450a3a
test ebx, ebx
je 0x4555f4
test edx, edx
jne 0x45ddea
mov dword [esi + 0x84], eax
jmp 0x45aebf
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x45577d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45576a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x455742
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45571e
test dl, 0x20
jne 0x455652
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45571e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45567c
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 0x45571c
test dl, 8
jne 0x4556a8
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 0x45571c
test dl, 4
jne 0x4556e0
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 0x45571c
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 0x45576a
cmp dword [esi + 0x94], edx
je 0x45576a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455614
jmp 0x45576a
cmp dword [ebp + 0x88], 0
je 0x45576a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45576a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
je 0x45bf9c
jmp 0x450a3a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4557e2
jmp 0x455790
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4557ba
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4557e2
cmp dword [esi + 0x94], ecx
je 0x4557e2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455790
jmp 0x4557e2
cmp dword [ebp + 0x88], 0
je 0x4557e2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4557e2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
je 0x45aeff
jmp 0x450a3a
test edx, edx
je 0x455917
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x455955
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4558fc
test dl, 0x20
jne 0x45584a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4558f9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x455871
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4558f7
test dl, 8
jne 0x455894
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 0x4558f7
test dl, 4
jne 0x4558c3
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 0x4558f7
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.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x455810
jmp 0x45594e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x455955
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x455924
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x450a3a
cmp dword [esp + 0x84], 0
je 0x455984
test edx, edx
jne 0x45ddff
mov dword [esi + 0x84], eax
jmp 0x45af8c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x455b08
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x455af5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x455acd
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455ab1
test dl, 0x20
jne 0x4559e2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x455ab1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x455a0c
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 0x455aaf
test dl, 8
jne 0x455a3b
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 0x455aaf
test dl, 4
jne 0x455a73
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 0x455aaf
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 0x455af5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4559a4
jmp 0x455af5
cmp dword [ebp + 0x88], 0
je 0x455af5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x455af5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
je 0x45c160
jmp 0x450a3a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455b62
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455b3a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x455b62
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455b16
jmp 0x455b62
cmp dword [ebp + 0x88], 0
je 0x455b62
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x455b62
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
je 0x45afcc
jmp 0x450a3a
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 0x455cb4
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 0x455cb4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x455cb4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x455cb4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x455cb4
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 0x455cb4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x52e5c3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x52e5cf]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x455cb4
mov dword [esi + 0x8c], getpeername
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 0x455cd6
cmp ecx, 0xf
je 0x455cd6
mov dword [esi + 0x60], 0xffffffff
jmp 0x455cf9
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 0x457c9b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x456aa8
cmp eax, 0xa
ja case.default.0x452fba
jmp dword [eax*4 + 0x45ea14]
cmp dword [esi + 0x68], ebx
jne 0x45183b
mov edx, 1
cmp ecx, edx
jl 0x457c9b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x455d7f
cmp ecx, 0xc0
jb 0x455d7f
test cl, 0x20
jne 0x455d5b
inc eax
jmp 0x455d7c
test cl, 0x10
jne 0x455d65
add eax, 2
jmp 0x455d7c
test cl, 8
jne 0x455d6f
add eax, 3
jmp 0x455d7c
test cl, 4
jne 0x455d79
add eax, 4
jmp 0x455d7c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x455d38
jmp 0x457c9b
cmp dword [ebp + 0x88], ebx
je case.0x4579c6.14
mov eax, dword [esi + 8]
jmp 0x451fe5
mov edi, 1
cmp ecx, edi
jl 0x457c9b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x455eaa
cmp ebx, 0xc0
jb 0x455eaa
test bl, 0x20
jne 0x455df8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x455ea7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455e1f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x455ea5
test bl, 8
jne 0x455e42
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 0x455ea5
test bl, 4
jne 0x455e71
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 0x455ea5
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x455ecc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
cmp eax, 9
je 0x455ef1
cmp eax, 5
je 0x455ef1
cmp eax, 8
je 0x455ef1
xor eax, eax
jmp 0x455ef6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x455db0
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457c9b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x456018
cmp ebx, 0xc0
jb 0x456018
test bl, 0x20
jne 0x455f68
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x456015
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455f8f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x456015
test bl, 8
jne 0x455fb2
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 0x456015
test bl, 4
jne 0x455fe1
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 0x456015
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45603a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x455f20
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457c9b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45617b
cmp ebx, 0xc0
jb 0x45617b
test bl, 0x20
jne 0x4560cb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x456178
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4560f2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x456178
test bl, 8
jne 0x456115
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 0x456178
test bl, 4
jne 0x456144
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 0x456178
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45619d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x456083
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457c9b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4562d8
cmp ebx, 0xc0
jb 0x4562d8
test bl, 0x20
jne 0x456228
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4562d5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45624f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4562d5
test bl, 8
jne 0x456272
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 0x4562d5
test bl, 4
jne 0x4562a1
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 0x4562d5
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4562fa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4561e0
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457c9b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45643a
cmp ebx, 0xc0
jb 0x45643a
test bl, 0x20
jne 0x456388
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x456437
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4563af
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x456435
test bl, 8
jne 0x4563d2
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 0x456435
test bl, 4
jne 0x456401
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 0x456435
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45645c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x456483
cmp eax, 3
je 0x456483
xor eax, eax
jmp 0x456488
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x456340
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457c9b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4565aa
cmp ebx, 0xc0
jb 0x4565aa
test bl, 0x20
jne 0x4564f8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4565a7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45651f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4565a5
test bl, 8
jne 0x456542
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 0x4565a5
test bl, 4
jne 0x456571
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 0x4565a5
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 0x4565ed
je case.0x456609.8192
cmp ebx, 0x85
ja 0x4565d9
je case.0x456609.8192
cmp ebx, 9
jb case.0x456609.8203
cmp ebx, 0xd
jbe case.0x456609.8192
cmp ebx, 0x20
jmp 0x45661e
cmp ebx, 0xa0
je case.0x456609.8192
cmp ebx, 0x1680
jmp 0x45661e
cmp ebx, 0x202f
ja 0x456610
je case.0x456609.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x456609.8203
movzx eax, byte [eax + 0x45ea48]
jmp dword [eax*4 + 0x45ea40]
cmp ebx, 0x205f
je case.0x456609.8192
cmp ebx, 0x3000
je case.0x456609.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x456642
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
cmp dword [eax*4 + 0x52f0d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4579c6.14
jmp 0x456676
cmp dword [esi + 0x68], 0
jne case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4564b0
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457c9b
jmp 0x4566a0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x456798
cmp ebx, 0xc0
jb 0x456798
test bl, 0x20
jne 0x4566e8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x456795
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45670f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x456795
test bl, 8
jne 0x456732
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 0x456795
test bl, 4
jne 0x456761
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 0x456795
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 + 0x530948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4567bb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x4567e7
cmp eax, 3
je 0x4567e7
cmp ebx, 0x5f
je 0x4567e7
xor eax, eax
jmp 0x4567ec
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4579c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4566a0
jmp 0x457c9b
mov ebx, 1
cmp ecx, ebx
jl 0x457c9b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45690c
cmp edx, 0xc0
jb 0x45690c
test dl, 0x20
jne 0x45685c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x456909
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x456883
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x456909
test dl, 8
jne 0x4568a6
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 0x456909
test dl, 4
jne 0x4568d5
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 0x456909
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 + 0x52f188]
lea eax, [eax*4 + 0x52f188]
cmp edx, ecx
jb 0x45692e
lea eax, [eax + 4]
cmp edx, ecx
je 0x45694a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x456921
cmp dword [esi + 0x68], 0
je case.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x456814
jmp 0x457c9b
cmp dword [esi + 0x68], 0
jne case.0x4579c6.14
jmp 0x456938
mov ebx, 1
cmp ecx, ebx
jl 0x457c9b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x456a5d
cmp edx, 0xc0
jb 0x456a5d
test dl, 0x20
jne 0x4569ab
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x456a5a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4569d2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x456a58
test dl, 8
jne 0x4569f5
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 0x456a58
test dl, 4
jne 0x456a24
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 0x456a58
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 0x456a88
cmp edx, 0x40
je 0x456a88
cmp edx, 0x60
je 0x456a88
cmp edx, 0xa0
jb 0x456a7c
cmp edx, 0xd7ff
jbe 0x456a88
cmp edx, 0xe000
jae 0x456a88
xor eax, eax
jmp 0x456a8d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x456963
jmp 0x457c9b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x456dd3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x457c9b
jmp 0x456ad0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453ab7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x456bd0
cmp ebx, 0xc0
jb 0x456bd0
test bl, 0x20
jne 0x456b19
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x456bcd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x456b40
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x456bc6
test bl, 8
jne 0x456b63
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 0x456bc6
test bl, 4
jne 0x456b92
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 0x456bc6
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x456bf2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2ca]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x456d8d
jmp 0x456c20
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x456d1e
cmp ebx, 0xc0
jb 0x456d1e
test bl, 0x20
jne 0x456c55
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x456d16
test bl, 0x10
jne 0x456c7a
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 0x456d16
test bl, 8
jne 0x456ca8
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 0x456d16
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x456ce2
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 0x456d16
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x456d40
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx ecx, byte [eax*8 + 0x52f2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52f150], eax
je 0x456d86
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 0x456c20
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x456dba
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x456dba
cmp eax, dword [ebp + 0x84]
jbe 0x456dba
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x456ad0
jmp 0x457c9b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x45789f
cmp eax, 0xf
ja case.0x459de7.9
jmp dword [eax*4 + 0x45ea74]
mov ebx, 1
cmp ecx, ebx
jl 0x457ca2
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x453ab7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x456e37
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.004607d0
add esp, 0x14
test eax, eax
jne case.0x4579c6.14
jmp 0x456e5b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x456e5b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x456e5b
cmp edx, 1
je case.0x4579c6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4579c6.14
cmp dword [ebp + 0x88], 0
je 0x456e96
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x456e96
cmp dword [ebp + 0x18], 0
jne 0x456e96
cmp dword [edi], 2
jne 0x456e96
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x456e96
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x456eb2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x456eb2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x456ea1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x456e02
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x455d8d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x456f08
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x456f08
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x456ef0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x456ed4
jmp 0x457c9b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x45183b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x457c9b
mov ebx, 1
cmp ecx, ebx
jl 0x457ca2
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45702c
test dl, 0x20
jne 0x456f7a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x457029
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x456fa1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x457027
test dl, 8
jne 0x456fc4
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 0x457027
test dl, 4
jne 0x456ff3
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 0x457027
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 0x457050
je 0x45703d
cmp edx, 0xa
je 0x457071
lea eax, [edx - 0xb]
jmp 0x45705e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x457071
cmp byte [eax], 0xa
jne 0x457071
inc eax
mov dword [esi + 8], eax
jmp 0x457071
cmp edx, 0x85
je 0x457067
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4579c6.14
cmp dword [ebp + 0x68], 0
jne case.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x456f40
jmp 0x457c9b
mov ebx, 1
cmp ecx, ebx
jl 0x457ca2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45717c
test dl, 0x20
jne 0x4570ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x457179
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4570f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x457177
test dl, 8
jne 0x457114
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 0x457177
test dl, 4
jne 0x457143
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 0x457177
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 0x4571ae
je case.0x4579c6.14
cmp edx, 0xa0
ja 0x4571a6
je case.0x4579c6.14
cmp edx, 9
je case.0x4579c6.14
cmp edx, 0x20
jmp 0x4571de
cmp edx, 0x1680
jmp 0x4571de
cmp edx, 0x205f
ja 0x4571d8
je case.0x4579c6.14
cmp edx, 0x2000
jb 0x4571e4
cmp edx, 0x200a
jbe case.0x4579c6.14
cmp edx, 0x202f
jmp 0x4571de
cmp edx, 0x3000
je case.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x457090
jmp 0x457c9b
mov ebx, 1
cmp ecx, ebx
jl 0x457ca2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4572ef
test dl, 0x20
jne 0x45723d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4572ec
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x457264
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4572ea
test dl, 8
jne 0x457287
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 0x4572ea
test dl, 4
jne 0x4572b6
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 0x4572ea
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 0x457315
je 0x457347
cmp edx, 0xa0
ja 0x45730d
je 0x457347
cmp edx, 9
je 0x457347
cmp edx, 0x20
jmp 0x457341
cmp edx, 0x1680
jmp 0x457341
cmp edx, 0x205f
ja 0x45733b
je 0x457347
cmp edx, 0x2000
jb case.0x4579c6.14
cmp edx, 0x200a
jbe 0x457347
cmp edx, 0x202f
jmp 0x457341
cmp edx, 0x3000
jne case.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x457203
jmp 0x457c9b
mov ebx, 1
cmp ecx, ebx
jl 0x457ca2
jmp 0x457370
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45745c
test dl, 0x20
jne 0x4573aa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x457459
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4573d1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x457457
test dl, 8
jne 0x4573f4
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 0x457457
test dl, 4
jne 0x457423
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 0x457457
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 0x457474
je case.0x4579c6.14
cmp edx, 0xa
jb 0x457488
cmp edx, 0xd
jmp 0x457482
cmp edx, 0x2028
jb 0x457488
cmp edx, 0x2029
jbe case.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x457370
jmp 0x457c9b
mov ebx, 1
cmp ecx, ebx
jl 0x457ca2
jmp 0x4574b0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45759c
test dl, 0x20
jne 0x4574ea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x457599
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x457511
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x457597
test dl, 8
jne 0x457534
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 0x457597
test dl, 4
jne 0x457563
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 0x457597
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 0x4575ae
je 0x4575bd
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x4575b7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4574b0
jmp 0x457c9b
mov ebx, 1
cmp ecx, ebx
jl 0x457ca2
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x453ab7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4576cc
test dl, 0x20
jne 0x45761a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4576c9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x457641
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4576c7
test dl, 8
jne 0x457664
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 0x4576c7
test dl, 4
jne 0x457693
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 0x4576c7
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 0x4576e1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4579c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4575e0
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455d8d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4579c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4579c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x457700
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x455d8d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x457773
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4579c6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x457798
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x457798
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x457780
inc edi
cmp edi, dword [esi + 0x90]
jle 0x457750
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455d8d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4579c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4579c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4577b3
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x455d8d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x457823
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4579c6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x457848
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x457848
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x457830
inc edi
cmp edi, dword [esi + 0x90]
jle 0x457800
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455d8d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4579c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4579c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x457863
jmp 0x457c9b
cmp eax, 0xf
ja case.0x459de7.9
jmp dword [eax*4 + 0x45eab4]
mov ebx, 1
cmp ecx, ebx
jl 0x457ca2
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x453ab7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4578f0
push 0
push edi
push eax
push edx
push ecx
call fcn.004607d0
add esp, 0x14
test eax, eax
jne case.0x4579c6.14
jmp 0x457914
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x457914
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x457914
cmp edx, 1
je case.0x4579c6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4579c6.14
cmp dword [ebp + 0x88], 0
je 0x45794f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45794f
cmp dword [ebp + 0x18], 0
jne 0x45794f
cmp dword [edi], 2
jne 0x45794f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45794f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4578c0
jmp 0x457c9b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x456f26
cmp dword [ebp + 0x88], ebx
je case.0x4579c6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4579c6.14
jmp 0x451992
mov edx, 1
cmp ecx, edx
jl 0x457c9b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455d8d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4579c6.14
movzx eax, byte [eax + 0x45eb04]
jmp dword [eax*4 + 0x45eaf4]
cmp ecx, dword [ebp + 0x78]
jae case.0x4579c6.10
cmp byte [ecx], 0xa
jne case.0x4579c6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4579c6.10
cmp dword [ebp + 0x68], ebx
jne case.0x4579c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4579a0
jmp 0x457c9b
mov edx, 1
cmp ecx, edx
jl 0x457c9b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4579c6.14
cmp ecx, 0x20
je case.0x4579c6.14
cmp ecx, 0xa0
je case.0x4579c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x457a03
jmp 0x457c9b
mov edx, 1
cmp ecx, edx
jl 0x457c9b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x457a79
cmp ecx, 0x20
je 0x457a79
cmp ecx, 0xa0
jne case.0x4579c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x457a50
jmp 0x457c9b
mov edx, 1
cmp ecx, edx
jl 0x457c9b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x457ac1
cmp ecx, 0xd
jle case.0x4579c6.14
cmp ecx, 0x85
je case.0x4579c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x457a94
jmp 0x457c9b
mov edx, 1
cmp ecx, edx
jl 0x457c9b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x4579c6.14
cmp ecx, 0xd
jle 0x457b0d
cmp ecx, 0x85
jne case.0x4579c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x457ae0
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
jmp 0x457b30
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4579c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x457b30
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4579c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x457b70
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4579c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x457bb0
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4579c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x457bf0
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
jmp 0x457c30
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4579c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x457c30
jmp 0x457c9b
mov edi, 1
cmp ecx, edi
jl 0x457ca2
jmp 0x457c70
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455d8d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4579c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x457c70
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x450a3a
cmp dword [esp + 0x84], 0
je 0x457d02
mov eax, dword [esi + 0x60]
test eax, eax
js 0x457ce5
cmp eax, 0xa
ja case.0x459de7.9
jmp dword [eax*4 + 0x45eb80]
mov esi, dword [esi]
test esi, esi
je case.default.0x45a2b4
mov edi, 0xfffffff2
jmp 0x45a2a0
cmp dword [esi + 0x7c], 0x16
je 0x45ded3
test edx, edx
jne 0x45debe
mov dword [esi + 0x84], ecx
jmp 0x45b135
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x458d3b
cmp eax, 0xa
ja case.0x459de7.9
jmp dword [eax*4 + 0x45ebac]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x458d28
mov ebx, dword [esp + 0x8c]
jmp 0x457d40
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x457dab
movzx ecx, byte [edx]
test ebx, ebx
je 0x457d8e
cmp ecx, 0xc0
jb 0x457d8e
test cl, 0x20
jne 0x457d68
mov eax, 2
jmp 0x457d8e
test cl, 0x10
jne 0x457d74
mov eax, 3
jmp 0x457d8e
test cl, 8
jne 0x457d80
mov eax, 4
jmp 0x457d8e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x458d28
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x457d40
jmp 0x458d28
cmp dword [ebp + 0x88], 0
je 0x458d28
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x458d28
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x458d28
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x45a2a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x458d28
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x457f6e
movzx ebx, byte [edi]
test edx, edx
je 0x457eec
cmp ebx, 0xc0
jb 0x457eec
test bl, 0x20
jne 0x457e4e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x457ee4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x457e6d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x457ee4
and eax, 0x3f
test bl, 8
jne 0x457e8d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x457ee4
test bl, 4
jne 0x457eb6
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 0x457ee4
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x457f0e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
cmp eax, 9
je 0x457f33
cmp eax, 5
je 0x457f33
cmp eax, 8
je 0x457f33
xor eax, eax
jmp 0x457f38
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x458d28
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 0x457e10
jmp 0x458d28
cmp dword [ebp + 0x88], 0
je 0x458d28
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x458d28
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x458d28
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edi, 0xfffffff4
jmp 0x45a2a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x458d28
jmp 0x457fd0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x458152
movzx ebx, byte [edi]
test edx, edx
je 0x4580d3
cmp ebx, 0xc0
jb 0x4580d3
test bl, 0x20
jne 0x45801a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4580cb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x458042
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4580cb
and eax, 0x3f
test bl, 8
jne 0x458068
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 0x4580cb
test bl, 4
jne 0x458097
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 0x4580cb
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4580f5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x458d28
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 0x457fd0
jmp 0x458d28
cmp dword [ebp + 0x88], 0
je 0x458d28
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x458d28
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x457f93
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x458d28
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x458152
movzx ebx, byte [edi]
test edx, edx
je 0x45829f
cmp ebx, 0xc0
jb 0x45829f
test bl, 0x20
jne 0x4581e6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x458297
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45820e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x458297
and eax, 0x3f
test bl, 8
jne 0x458234
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 0x458297
test bl, 4
jne 0x458263
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 0x458297
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4582c1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x458d28
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 0x4581a0
jmp 0x458d28
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x458d28
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x458152
movzx ebx, byte [edi]
test edx, edx
je 0x458433
cmp ebx, 0xc0
jb 0x458433
test bl, 0x20
jne 0x45837a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45842b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4583a2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45842b
and eax, 0x3f
test bl, 8
jne 0x4583c8
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 0x45842b
test bl, 4
jne 0x4583f7
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 0x45842b
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x458455
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x458d28
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 0x458330
jmp 0x458d28
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x458d28
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x457f6e
movzx ebx, byte [edi]
test edx, edx
je 0x4585a3
cmp ebx, 0xc0
jb 0x4585a3
test bl, 0x20
jne 0x458502
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45859b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x458524
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45859b
and eax, 0x3f
test bl, 8
jne 0x458544
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45859b
test bl, 4
jne 0x45856d
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 0x45859b
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4585c5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x4585ec
cmp eax, 3
je 0x4585ec
xor eax, eax
jmp 0x4585f1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x458d28
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 0x4584c4
jmp 0x458d28
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x458d28
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x458152
movzx ebx, byte [edi]
test edx, edx
je 0x45874d
cmp ebx, 0xc0
jb 0x45874d
test bl, 0x20
jne 0x458692
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x45874d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4586ba
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x458743
and eax, 0x3f
test bl, 8
jne 0x4586e0
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 0x458743
test bl, 4
jne 0x45870f
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 0x458743
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 0x458790
je case.0x4587b0.8192
cmp ebx, 0x85
ja 0x45877c
je case.0x4587b0.8192
cmp ebx, 9
jb case.0x4587b0.8203
cmp ebx, 0xd
jbe case.0x4587b0.8192
cmp ebx, 0x20
jmp 0x4587c5
cmp ebx, 0xa0
je case.0x4587b0.8192
cmp ebx, 0x1680
jmp 0x4587c5
cmp ebx, 0x202f
ja 0x4587b7
je case.0x4587b0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x4587b0.8203
movzx eax, byte [eax + 0x45ebe0]
jmp dword [eax*4 + 0x45ebd8]
cmp ebx, 0x205f
je case.0x4587b0.8192
cmp ebx, 0x3000
je case.0x4587b0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4587e9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
cmp dword [eax*4 + 0x52f0d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x458d28
mov edx, dword [esp + 0x8c]
jmp 0x458824
cmp dword [esi + 0x68], 0
jne 0x458d28
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 0x458640
jmp 0x458d28
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x458d28
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x458152
movzx ebx, byte [edi]
test edx, edx
je 0x458973
cmp ebx, 0xc0
jb 0x458973
test bl, 0x20
jne 0x4588ba
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45896b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4588e2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45896b
and eax, 0x3f
test bl, 8
jne 0x458908
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 0x45896b
test bl, 4
jne 0x458937
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 0x45896b
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 + 0x530948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x458996
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x4589c2
cmp eax, 3
je 0x4589c2
cmp ebx, 0x5f
je 0x4589c2
xor eax, eax
jmp 0x4589c7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x458d28
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 0x458870
jmp 0x458d28
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x458d28
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x458b5f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x458b01
cmp edx, 0xc0
jb 0x458b01
test dl, 0x20
jne 0x458a64
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x458af9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x458a83
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x458af9
and eax, 0x3f
test dl, 8
jne 0x458aa3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x458af9
test dl, 4
jne 0x458acc
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 0x458af9
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 + 0x52f188]
lea eax, [eax*4 + 0x52f188]
cmp edx, ecx
jb 0x458b23
lea eax, [eax + 4]
cmp edx, ecx
je 0x458b53
mov ecx, dword [eax]
cmp edx, ecx
jae 0x458b16
cmp dword [esi + 0x68], 0
je 0x458d28
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 0x458a20
jmp 0x458d28
cmp dword [esi + 0x68], 0
jne 0x458d28
jmp 0x458b2d
cmp dword [ebp + 0x88], 0
je 0x458d28
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x458d28
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x458d28
jmp 0x4519a6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x458d28
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x458d00
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x458cb7
cmp edx, 0xc0
jb 0x458cb7
test dl, 0x20
jne 0x458bed
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x458cb7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x458c17
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 0x458cb7
test dl, 8
jne 0x458c43
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 0x458cb7
test dl, 4
jne 0x458c7b
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 0x458cb7
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 0x458ce2
cmp edx, 0x40
je 0x458ce2
cmp edx, 0x60
je 0x458ce2
cmp edx, 0xa0
jb 0x458cd6
cmp edx, 0xd7ff
jbe 0x458ce2
cmp edx, 0xe000
jae 0x458ce2
xor ecx, ecx
jmp 0x458ce7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x458d28
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x458ba1
jmp 0x458d28
cmp dword [ebp + 0x88], 0
je 0x458d28
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x458d28
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
je 0x45d1dc
jmp 0x450a3a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4590d7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x459088
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459060
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x458e60
cmp ebx, 0xc0
jb 0x458e60
test bl, 0x20
jne 0x458da9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x458e5d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458dd0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x458e56
test bl, 8
jne 0x458df3
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 0x458e56
test bl, 4
jne 0x458e22
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 0x458e56
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x458e82
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2ca]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45901d
jmp 0x458eb0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x458fae
cmp ebx, 0xc0
jb 0x458fae
test bl, 0x20
jne 0x458ee5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x458fa6
test bl, 0x10
jne 0x458f0a
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 0x458fa6
test bl, 8
jne 0x458f38
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 0x458fa6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x458f72
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 0x458fa6
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x458fd0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx ecx, byte [eax*8 + 0x52f2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52f150], eax
je 0x459016
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 0x458eb0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x45904a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45904a
cmp eax, dword [ebp + 0x84]
jbe 0x45904a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x458d60
jmp 0x459088
cmp dword [ebp + 0x88], 0
je 0x459088
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x459088
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
cmp dword [esp + 0x80], 0
jne 0x450a3a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e605
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e5fb
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
add eax, 0xfffffffa
test edx, edx
je 0x459dde
cmp eax, 0xf
ja case.0x459de7.9
jmp dword [eax*4 + 0x45ec0c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4591c6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x459139
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.004607d0
add esp, 0x14
test eax, eax
jne 0x459dcb
jmp 0x45915d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45915d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45915d
cmp edx, 1
je 0x459dcb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x459dcb
cmp dword [ebp + 0x88], 0
je 0x459198
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x459198
cmp dword [ebp + 0x18], 0
jne 0x459198
cmp dword [edi], 2
jne 0x459198
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x459198
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4591b4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4591b4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4591a3
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x459104
jmp 0x459dcb
cmp dword [ebp + 0x88], 0
je 0x459dcb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x459dcb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x459dcb
jmp 0x4519a6
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x459258
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x459dcb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4591c6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45924a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45924a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x459232
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x459220
jmp 0x459dcb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x459dcb
cmp eax, dword [ebp + 0x84]
jbe 0x459dcb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x459dcb
jmp 0x457f99
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 0x4592df
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x459dcb
cmp edx, dword [ebp + 0x84]
jbe 0x459dcb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x459dcb
jmp 0x4519a6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x459dcb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4591c6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45940a
test dl, 0x20
jne 0x45933e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45940a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x459368
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 0x459408
test dl, 8
jne 0x459394
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 0x459408
test dl, 4
jne 0x4593cc
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 0x459408
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 0x459426
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x459dcb
cmp byte [eax], 0xa
jne 0x459460
inc eax
jmp 0x45945d
cmp edx, 0xa
je 0x45945b
cmp dword [ebp + 0x68], 0
jne 0x459dcb
cmp edx, 0xb
je 0x45945b
cmp edx, 0xc
je 0x45945b
cmp edx, 0x85
je 0x45945b
cmp edx, 0x2028
je 0x45945b
cmp edx, 0x2029
jne 0x459dcb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x459300
jmp 0x459dcb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4595da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x459558
test dl, 0x20
jne 0x4594ba
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x459550
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4594d9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x459550
and eax, 0x3f
test dl, 8
jne 0x4594f9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x459550
test dl, 4
jne 0x459522
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 0x459550
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 0x45957e
je 0x4595ac
cmp edx, 0xa0
ja 0x459576
je 0x4595ac
cmp edx, 9
je 0x4595ac
cmp edx, 0x20
jmp 0x4595a6
cmp edx, 0x1680
jmp 0x4595a6
cmp edx, 0x205f
ja 0x4595a0
je 0x4595ac
cmp edx, 0x2000
jb 0x4595a8
cmp edx, 0x200a
jbe 0x4595ac
cmp edx, 0x202f
jmp 0x4595a6
cmp edx, 0x3000
je 0x4595ac
xor edx, edx
jmp 0x4595b1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x459dcb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x459484
jmp 0x459dcb
cmp dword [ebp + 0x88], 0
je 0x459dcb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x459dcb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x459dcb
jmp 0x4519a6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4595da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4596f0
test dl, 0x20
jne 0x459652
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4596e8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x459671
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4596e8
and eax, 0x3f
test dl, 8
jne 0x459691
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4596e8
test dl, 4
jne 0x4596ba
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 0x4596e8
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 0x45972f
je 0x45973a
cmp edx, 0xa
jb 0x459704
cmp edx, 0xd
jbe 0x45973a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x459dcb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x459620
jmp 0x459dcb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x459704
mov edx, 1
jmp 0x459706
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4595da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x459827
test dl, 0x20
jne 0x459789
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45981f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4597a8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45981f
and eax, 0x3f
test dl, 8
jne 0x4597c8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45981f
test dl, 4
jne 0x4597f1
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 0x45981f
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 0x45983c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x459dcb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x459753
jmp 0x459dcb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
jmp 0x459870
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4595da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x459944
test dl, 0x20
jne 0x4598a6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45993c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4598c5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45993c
and eax, 0x3f
test dl, 8
jne 0x4598e5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45993c
test dl, 4
jne 0x45990e
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 0x45993c
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 0x459dcb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x459dcb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x459870
jmp 0x459dcb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
jmp 0x459990
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4595da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x459a64
test dl, 0x20
jne 0x4599c6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x459a5c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4599e5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x459a5c
and eax, 0x3f
test dl, 8
jne 0x459a05
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x459a5c
test dl, 4
jne 0x459a2e
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 0x459a5c
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 0x459a79
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x459dcb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x459990
jmp 0x459dcb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4595da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x459b77
test dl, 0x20
jne 0x459ad9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x459b6f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x459af8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x459b6f
and eax, 0x3f
test dl, 8
jne 0x459b18
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x459b6f
test dl, 4
jne 0x459b41
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 0x459b6f
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 0x459dcb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x459dcb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x459aa3
jmp 0x459dcb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4595da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x459c94
test dl, 0x20
jne 0x459bf6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x459c8c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x459c15
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x459c8c
and eax, 0x3f
test dl, 8
jne 0x459c35
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x459c8c
test dl, 4
jne 0x459c5e
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 0x459c8c
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 0x459ca9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x459dcb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x459bc0
jmp 0x459dcb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x459dcb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4595da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x459da7
test dl, 0x20
jne 0x459d09
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x459d9f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x459d28
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x459d9f
and eax, 0x3f
test dl, 8
jne 0x459d48
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x459d9f
test dl, 4
jne 0x459d71
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 0x459d9f
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 0x459dcb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x459dcb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x459cd3
cmp dword [esp + 0x80], 0
je 0x45c698
jmp 0x450a3a
cmp eax, 0xf
ja case.0x459de7.9
jmp dword [eax*4 + 0x45ec4c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45a277
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x459ea4
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x459e30
push 0
push edi
push eax
push edx
push ecx
call fcn.004607d0
add esp, 0x14
test eax, eax
jne 0x45a277
jmp 0x459e54
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x459e54
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x459e54
cmp edx, 1
je 0x45a277
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45a277
cmp dword [ebp + 0x88], 0
je 0x459e8f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x459e8f
cmp dword [ebp + 0x18], 0
jne 0x459e8f
cmp dword [edi], 2
jne 0x459e8f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x459e8f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x459e00
jmp 0x45a277
cmp dword [ebp + 0x88], 0
je 0x45a277
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45a277
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45a277
jmp 0x4519a6
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 0x459f28
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x45a277
cmp edx, dword [ebp + 0x84]
jbe 0x45a277
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45a277
jmp 0x4519a6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x45a277
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45a277
jmp 0x459f50
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x459ea4
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x459f7b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x45a277
cmp byte [eax], 0xa
jne 0x459fa5
inc eax
jmp 0x459fa2
cmp eax, 0xa
je 0x459f9f
cmp dword [ebp + 0x68], 0
jne 0x45a277
cmp eax, 0xb
je 0x459f9f
cmp eax, 0xc
je 0x459f9f
cmp eax, 0x85
jne 0x45a277
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x459f50
jmp 0x45a277
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45a277
jmp 0x459fd0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x459ea4
mov al, byte [ecx]
cmp al, 9
je 0x45a277
cmp al, 0x20
je 0x45a277
cmp al, 0xa0
je 0x45a277
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x459fd0
jmp 0x45a277
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45a277
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x459ea4
mov al, byte [ecx]
cmp al, 9
je 0x45a03e
cmp al, 0x20
je 0x45a03e
cmp al, 0xa0
jne 0x45a277
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45a020
jmp 0x45a277
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45a277
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x459ea4
mov al, byte [ecx]
cmp al, 0xa
jb 0x45a086
cmp al, 0xd
jbe 0x45a277
cmp al, 0x85
je 0x45a277
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45a064
jmp 0x45a277
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45a277
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x459ea4
mov al, byte [ecx]
cmp al, 0xa
jb 0x45a277
cmp al, 0xd
jbe 0x45a0d2
cmp al, 0x85
jne 0x45a277
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45a0b0
jmp 0x45a277
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45a277
jmp 0x45a100
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459ea4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x45a277
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45a100
jmp 0x45a277
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45a277
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459ea4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x45a277
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45a142
jmp 0x45a277
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45a277
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459ea4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x45a277
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45a184
jmp 0x45a277
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45a277
jmp 0x45a1d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459ea4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x45a277
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45a1d0
jmp 0x45a277
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45a277
jmp 0x45a210
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459ea4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x45a277
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45a210
jmp 0x45a277
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45a277
jmp 0x45a250
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459ea4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x45a277
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45a250
cmp dword [esp + 0x80], 0
je 0x45b2da
jmp 0x450a3a
mov esi, dword [esi]
test esi, esi
je 0x45e751
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.0x45a2b4
jmp dword [eax*4 + 0x45ec8c]
cmp edi, 0xfffffc1b
je 0x45a386
cmp edi, 0xfffffc20
jne 0x45a303
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.0x45a2b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45a2ff
cmp byte [ecx], 0x77
jne case.0x45a2b4.49
xor edi, edi
jmp 0x45a30b
test edi, edi
jne case.0x45a2b4.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 0x45a386
cmp dword [esi + 0x9c], 0x88
jb 0x45a351
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45e0da
push 0x134
call dword [0x1c4d324]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45e0d0
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x45a77c
mov edx, dword [esp + 0x8c]
jmp 0x45a2a4
cmp edi, 0xfffffc20
jne 0x45a443
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 0x45a491
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45a40e
cmp byte [ecx], 0x77
jne 0x45a491
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 0x45a4a7
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a2a4
test edi, edi
je 0x45a40e
cmp edi, 0xfffffc1b
jne 0x45a491
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x45a483
cmp al, 0x77
jne 0x45a474
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 0x45a460
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 0x45a77c
mov edx, dword [esp + 0x8c]
jmp 0x45a2a4
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x45a4f9
cmp eax, 0x81
je 0x45a4f9
cmp dword [ebp + 0x6c], 0
jne 0x45a503
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 0x45a503
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x52efc0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x4509c0
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 0x45e0fc
push 0x134
call dword [0x1c4d324]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45e0f2
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
cmp edi, 1
jne 0x45a5c3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x45a560
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x45a573
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 0x45a5a9
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 0x45a590
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x52efc0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x450e6e.145
test edi, edi
je 0x45a5d3
cmp edi, 0xfffffc20
jne case.0x45a2b4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x45a5e9
movzx eax, byte [edx + 0x52efc0]
jmp 0x45a5ec
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x45a609
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x450a41
cmp dword [esi + 0x9c], 0x8c
jne 0x4509c0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e11e
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e114
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
cmp edi, 1
je 0x45a702
cmp edi, 0xfffffc19
je 0x45a702
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x45a6aa
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.0x45a2b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45a6b2
cmp byte [ecx], 0x77
jmp 0x45a6ac
test edi, edi
jne case.0x45a2b4.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 0x45a708
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e137
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e12d
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x45a721
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a2a4
cmp dword [esi + 0x58], 0
je 0x45dd5e
mov esi, dword [esi]
test esi, esi
je 0x45e6f6
mov edi, 1
jmp 0x45a2a4
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x45a7ed
je 0x45a786
cmp edi, 0xfffffc19
je 0x45b023
cmp edi, 0xfffffc1b
jle case.0x45a2b4.49
cmp edi, 0xfffffc1f
jle 0x45a7ae
mov esi, dword [esi]
test esi, esi
jne 0x45a2a4
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 0x45a7ae
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45a800
cmp byte [ecx], 0x77
je 0x45a800
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 0x45a7b1
cmp dword [esi + 0x58], 0
je 0x45aa37
mov esi, dword [esi]
test esi, esi
je 0x45e6f6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x45a2a4
mov eax, edi
sub eax, 0
je 0x45a800
dec eax
je 0x45b023
jmp case.0x45a2b4.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 0x45a7c8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e14d
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e143
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
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 0x45dd8c
cmp edi, 0xfffffc19
je 0x45dd8c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x45a8b9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45183b
push ecx
call dword [0x1c4d320]
add esp, 4
jmp 0x45183b
test edi, edi
je 0x45a8e3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45a8d4
push ecx
call dword [0x1c4d320]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x45a77c
jmp 0x45a299
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 0x45a949
cmp dword [esi + 0x58], 0
je 0x45a914
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45e193
push 0x134
call dword [0x1c4d324]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45e189
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x45a899
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x45a9a3
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e1e1
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e1d7
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45a2a4
cmp al, 0x88
jb 0x45dee4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e203
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e1f9
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45a2a4
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x45e703
mov edi, 0xfffffc1b
jmp 0x45a2a4
test edi, edi
jne case.0x45a2b4.49
mov edx, dword [esi + 0x2c]
jmp 0x45aa20
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 0x45aa20
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x450a3a
test edi, edi
je 0x4522b4
jmp case.0x45a2b4.49
test edi, edi
je 0x45a9ef
jmp case.0x45a2b4.49
cmp edi, 0xfffffc1b
jne 0x45aa6b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x45aa6d
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x45b85b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e225
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e21b
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45a2a4
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45aae0
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0045eee0
add esp, 0x14
test eax, eax
jns 0x45ab47
cmp eax, 0xfffffffe
jne 0x45ab09
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x45c621
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45c621
cmp eax, dword [ebp + 0x84]
jbe 0x45c621
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45385e
jmp 0x45c621
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e24a
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e240
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x45a2a4
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x4579c6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e263
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e259
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45ac07
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c706
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 0x45c621
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e27c
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e272
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x45183b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e295
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e28b
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45ace1
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c706
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45ad11
cmp dword [esi + 0x94], ecx
je 0x45ad11
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a2a4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e2ae
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e2a4
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
dec dword [esi + 8]
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e2c7
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e2bd
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45adc1
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c706
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x45c621
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e2e0
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e2d6
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
dec dword [esi + 8]
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e2f9
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e2ef
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45ae8e
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c706
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45b023
cmp dword [esi + 0x94], ecx
je 0x45b023
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e312
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e308
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e32b
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e321
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45af65
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c706
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x45c621
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e341
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e337
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e357
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e34d
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45b034
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a2a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x45b07b
cmp dword [ebp + 0x88], 0
je 0x45b063
cmp ecx, dword [ebp + 0x84]
jbe 0x45b063
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45385e
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45a2a4
cmp dword [esi + 0x7c], 0xc
jne 0x45b0a2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x45b0c4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004607d0
add esp, 0x14
test eax, eax
jne 0x45b0e1
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.0x45b0bd.15
jmp dword [eax*4 + 0x45ed98]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x45b0a2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45b0a2
cmp edi, 1
je 0x45b0e1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x45b0a2
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45a2a4
cmp dword [ebp + 0x88], 0
je case.0x45b0bd.13
cmp edx, dword [ebp + 0x78]
jb case.0x45b0bd.13
cmp dword [ebp + 0x18], 0
jne case.0x45b0bd.13
cmp dword [ebp + 0x1c], 2
jne case.0x45b0bd.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x45b0bd.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45385e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e36d
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e363
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x45b17d.14
movzx eax, byte [ecx + 0x45ede8]
jmp dword [eax*4 + 0x45edd8]
cmp edx, dword [ebp + 0x78]
jae case.0x45b0bd.13
cmp byte [edx], 0xa
jne case.0x45b0bd.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x45b0bd.13
cmp dword [ebp + 0x68], 0
je case.0x45b0bd.13
jmp case.0x45b17d.14
cmp ecx, 9
je case.0x45b17d.14
cmp ecx, 0x20
je case.0x45b17d.14
cmp ecx, 0xa0
jmp 0x45b27a
cmp ecx, 9
je case.0x45b0bd.13
cmp ecx, 0x20
je case.0x45b0bd.13
cmp ecx, 0xa0
je case.0x45b0bd.13
jmp case.0x45b17d.14
cmp ecx, 0xa
jb case.0x45b0bd.13
cmp ecx, 0xd
jbe case.0x45b17d.14
cmp ecx, 0x85
jmp 0x45b27a
cmp ecx, 0xa
jb case.0x45b17d.14
cmp ecx, 0xd
jbe case.0x45b0bd.13
cmp ecx, 0x85
je case.0x45b0bd.13
jmp case.0x45b17d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x45b0bd.13
jmp case.0x45b17d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x45b27a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x45b0bd.13
jmp case.0x45b17d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x45b27a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x45b0bd.13
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45a2a4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x45b0bd.13
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45a2a4
mov esi, dword [esi]
test esi, esi
je case.default.0x45a2b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x45a2a4
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x45b2da
cmp eax, dword [esi + 0x30]
jbe 0x45b2da
cmp byte [eax], 0xa
jne 0x45b2da
cmp byte [eax - 1], 0xd
jne 0x45b2da
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e383
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e379
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
cmp edi, 0xfffffc1a
jne 0x45b371
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 0x45b369
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 0x45b350
jmp 0x45b3c8
mov dword [esi + 8], eax
jmp 0x45b3ed
cmp edi, 0xfffffc20
jne 0x45b3a5
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.0x45a2b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45b3ad
cmp byte [ecx], 0x77
jmp 0x45b3a7
test edi, edi
jne case.0x45a2b4.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 0x45b3e1
cmp dword [esi + 0x5c], 0
jne 0x45aa37
cmp dword [esi + 0x54], 0
jne 0x45aa37
jmp 0x45c621
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x45b403
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45e3c5
push 0x134
call dword [0x1c4d324]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45e3bb
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
mov esi, dword [esi]
test edi, edi
jne 0x45a774
test esi, esi
je 0x45e71d
mov edi, 0xfffffc1c
jmp 0x45a2a4
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45e737
mov edi, 0xfffffc1e
jmp 0x45a2a4
cmp edi, 1
je 0x45b483
cmp edi, 0xfffffc19
jne 0x45b49d
cmp dword [ebp + 0xac], 0
jne 0x45b49d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x45a491
cmp edi, 0xfffffc1f
jne 0x45a491
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45b4d2
test dl, dl
je 0x45b4ce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45b4d2
add eax, 2
add ecx, 2
test dl, dl
jne 0x45b4b2
xor eax, eax
jmp 0x45b4d7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x45a491
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45e737
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x45a2a4
cmp edi, 1
je 0x45b50d
cmp edi, 0xfffffc19
jne case.0x45a2b4.51
cmp dword [ebp + 0xac], 0
jne case.0x45a2b4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x45a774
test esi, esi
je 0x45e710
mov edi, 0xfffffc1d
jmp 0x45a2a4
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45e744
mov edi, 0xfffffc1f
jmp 0x45a2a4
cmp edi, 1
je 0x45b570
cmp edi, 0xfffffc19
jne case.0x45a2b4.54
cmp dword [ebp + 0xac], 0
jne case.0x45a2b4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45e72a
mov edi, 0xfffffc20
jmp 0x45a2a4
cmp edi, 0xfffffc1a
jne 0x45b611
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 0x45b609
mov edx, dword [esi + 0xc]
jmp 0x45b5f0
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 0x45b5f0
jmp 0x45b678
mov dword [esi + 8], eax
jmp 0x451572
cmp edi, 0xfffffc20
jne 0x45b645
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.0x45a2b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45b64d
cmp byte [ecx], 0x77
jmp 0x45b647
test edi, edi
jne case.0x45a2b4.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 0x451572
cmp dword [esi + 0x5c], 0
jne 0x45b6b8
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 0x450a36
cmp dword [esi + 0x5c], 0
jne 0x450a36
jmp 0x45c621
cmp edi, 1
jne 0x45b774
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x45b6f1
cmp al, 0x77
jne 0x45c621
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 0x45b6f1
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 0x450a36
cmp ecx, dword [esi + 0x38]
je 0x450a36
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x45b80d
test ecx, ecx
jne 0x45e42e
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e424
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45a2a4
cmp edi, 0xfffffc20
jne 0x45b7a8
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.0x45a2b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45b7b0
cmp byte [ecx], 0x77
jmp 0x45b7aa
test edi, edi
jne case.0x45a2b4.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 0x45b6e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e409
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e3ff
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test ecx, ecx
jne 0x45e453
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e449
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x45a2a4
test edi, edi
je 0x45dee4
jmp case.0x45a2b4.49
test edi, edi
jne case.0x45a2b4.49
add dword [esi + 0xc], 3
jmp 0x4509c0
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45b889
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45b98a
cmp ebx, 0xc0
jb 0x45b98a
test bl, 0x20
jne 0x45b8cb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45b987
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45b8f5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45b98a
mov edx, dword [esi + 8]
test bl, 8
jne 0x45b91b
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 0x45b97e
test bl, 4
jne 0x45b94a
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 0x45b97e
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.00460160
add esp, 0xc
test eax, eax
je 0x45183b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e475
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e46b
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x45c621
cmp dword [esp + 0x8c], edi
je 0x45ba11
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45ba11
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x45ba05
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e48e
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e484
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45ba6b
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x45bb60
test bl, 0x20
jne 0x45baa5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45bb5d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45bacf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45bb60
mov edx, dword [esi + 8]
test bl, 8
jne 0x45baf8
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 0x45bb5b
test bl, 4
jne 0x45bb27
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 0x45bb5b
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 0x45bb76
cmp dword [esi + 0x9c], 0x6e
jne 0x45bb93
jmp 0x45183b
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 0x45183b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e4a7
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e49d
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x45183b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45bbfc
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x45bbf0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e4c0
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e4b6
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45bc56
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
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 0x45bcc5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x45bc85
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45bc8a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45bc74
cmp edi, 0xfffffffc
je 0x45bcb7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45bcc2
cmp edi, 0xfffffffd
je 0x45bcb7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45bcc2
cmp edi, 0xfffffffe
je 0x45bcb7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45bcc2
cmp edi, 0xffffffff
je 0x45bcb7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45bcc2
mov eax, dword [esi + 0x88]
jmp 0x45bd30
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x45bd70
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x45bd70
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x45bcf7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45bcfc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45bce6
cmp edi, 0xfffffffc
je 0x45bd2d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45bd70
cmp edi, 0xfffffffd
je 0x45bd2d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45bd70
cmp edi, 0xfffffffe
je 0x45bd2d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45bd70
cmp edi, 0xffffffff
je 0x45bd2d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45bd70
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 0x45e4d9
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e4cf
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
cmp dword [ebp + 0x88], 0
je case.0x4579c6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x4579c6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x4579c6.14
jmp 0x451992
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45bdbc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45bdb0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e4f2
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e4e8
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45be22
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45bf22
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x45be5c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45bf1f
test dl, 0x10
jne 0x45be7e
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 0x45bf22
mov ecx, dword [esi + 8]
test dl, 8
jne 0x45beae
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 0x45bf1f
test dl, 4
jne 0x45bee4
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 0x45bf1f
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 0x45b0e1
cmp dword [esi + 0x94], edx
je 0x45b0e1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bf69
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x45ab75
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x45e38d
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45bf9c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45bf90
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e50b
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e501
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45c002
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x45c0f7
test bl, 0x20
jne 0x45c03c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45c0f4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c066
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45c0f7
mov edx, dword [esi + 8]
test bl, 8
jne 0x45c08f
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 0x45c0f2
test bl, 4
jne 0x45c0be
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 0x45c0f2
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 0x45183b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e524
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e51a
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45c160
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45c154
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e53d
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e533
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45c1c6
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x45c202
cmp dword [ebp + 0x88], 0
je 0x45c621
cmp ecx, dword [ebp + 0x84]
jbe 0x45c621
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45385e
jmp 0x45c621
cmp dword [esi + 0x7c], 0xc
jne 0x45c254
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x45c22f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004607d0
add esp, 0x14
test eax, eax
jne 0x45c621
jmp 0x45c254
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x45c254
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45c254
cmp edi, 1
je 0x45c621
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45c621
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45c33c
test dl, 0x20
jne 0x45c287
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45c339
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45c2ae
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45c337
test dl, 8
jne 0x45c2d4
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 0x45c337
test dl, 4
jne 0x45c303
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 0x45c337
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.0x45c34b.15
jmp dword [eax*4 + 0x45ee64]
cmp dword [ebp + 0x88], 0
je case.0x45c34b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x45c34b.13
cmp dword [ebp + 0x18], 0
jne case.0x45c34b.13
cmp dword [ebp + 0x1c], 2
jne case.0x45c34b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x45c34b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x45c34b.13
jmp 0x45385e
cmp edx, 0xd
ja 0x45c3ce
je 0x45c3bb
cmp edx, 0xa
je case.0x45c34b.13
jbe 0x45c621
cmp edx, 0xc
jmp 0x45c3e8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x45c34b.13
cmp byte [eax], 0xa
jne case.0x45c34b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x45c34b.13
cmp edx, 0x85
je 0x45c3ee
cmp edx, 0x2027
jbe 0x45c621
cmp edx, 0x2029
ja 0x45c621
cmp dword [ebp + 0x68], 0
je case.0x45c34b.13
jmp 0x45c621
cmp edx, 0x180e
ja 0x45c46d
je 0x45c621
cmp edx, 0xa0
ja 0x45c465
je 0x45c621
cmp edx, 9
je 0x45c621
cmp edx, 0x20
je 0x45c621
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c456
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x45ab75
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x45e38d
cmp edx, 0x1680
jmp 0x45c421
cmp edx, 0x205f
ja 0x45c497
je 0x45c621
cmp edx, 0x2000
jb case.0x45c34b.13
cmp edx, 0x200a
jbe 0x45c621
cmp edx, 0x202f
jmp 0x45c421
cmp edx, 0x3000
jmp 0x45c61b
cmp edx, 0x180e
ja 0x45c4d4
je case.0x45c34b.13
cmp edx, 0xa0
ja 0x45c4cc
je case.0x45c34b.13
cmp edx, 9
je case.0x45c34b.13
cmp edx, 0x20
jmp 0x45c508
cmp edx, 0x1680
jmp 0x45c508
cmp edx, 0x205f
ja 0x45c502
je case.0x45c34b.13
cmp edx, 0x2000
jb 0x45c621
cmp edx, 0x200a
jbe case.0x45c34b.13
cmp edx, 0x202f
jmp 0x45c508
cmp edx, 0x3000
je case.0x45c34b.13
jmp 0x45c621
cmp edx, 0x85
ja 0x45c538
je 0x45c621
cmp edx, 0xa
jb case.0x45c34b.13
cmp edx, 0xd
jbe 0x45c621
jmp case.0x45c34b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x45c34b.13
jmp 0x45c621
cmp edx, 0x85
ja 0x45c568
je case.0x45c34b.13
cmp edx, 0xa
jb 0x45c621
cmp edx, 0xd
jmp 0x45c571
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x45c34b.13
jmp 0x45c621
cmp edx, 0x100
jae case.0x45c34b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x45c34b.13
jmp 0x45c621
cmp edx, 0x100
jae 0x45c621
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x45c61b
cmp edx, 0x100
jae case.0x45c34b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x45c34b.13
jmp 0x45c621
cmp edx, 0x100
jae 0x45c621
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x45c61b
cmp edx, 0x100
jae case.0x45c34b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x45c34b.13
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45a2a4
cmp edx, 0x100
jae 0x45c621
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x45c34b.13
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x45a2a4
mov esi, dword [esi]
test esi, esi
je case.default.0x45a2b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x45a2a4
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45c67c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45c670
cmp dword [esi + 0x7c], 0x11
jne 0x45c698
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45c698
cmp byte [eax], 0xa
jne 0x45c698
dec eax
cmp byte [eax], 0xd
jne 0x45c698
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e556
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e54c
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45c6fe
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45c71e
cmp dword [ebp + 0x88], 0
je 0x45b023
cmp eax, dword [ebp + 0x84]
jmp 0x45ce79
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x45c75d
cmp ecx, 0xc0
jb 0x45c75d
test cl, 0x20
jne 0x45c739
inc eax
jmp 0x45c75a
test cl, 0x10
jne 0x45c743
add eax, 2
jmp 0x45c75a
test cl, 8
jne 0x45c74d
add eax, 3
jmp 0x45c75a
test cl, 4
jne 0x45c757
add eax, 4
jmp 0x45c75a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x45c774
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
xor edi, edi
jmp 0x45a2a4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c7a3
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x45ab75
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x45e38d
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45c7d7
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45c8d1
cmp ebx, 0xc0
jb 0x45c8d1
test bl, 0x20
jne 0x45c819
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45c8ce
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c843
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45c8d1
mov edx, dword [esi + 8]
test bl, 8
jne 0x45c869
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 0x45c8cc
test bl, 4
jne 0x45c898
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 0x45c8cc
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c8f3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
cmp eax, 9
je 0x45c918
cmp eax, 5
je 0x45c918
cmp eax, 8
je 0x45c918
xor eax, eax
jmp 0x45c91d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45183b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e56f
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e565
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45c986
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45ca7c
cmp ebx, 0xc0
jb 0x45ca7c
test bl, 0x20
jne 0x45c9c8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45ca79
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c9f0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45ca7c
mov edx, dword [esi + 8]
test bl, 8
jne 0x45ca16
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 0x45ca79
test bl, 4
jne 0x45ca45
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 0x45ca79
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45ca9e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45183b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e588
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e57e
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45cb28
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45cc1e
cmp ebx, 0xc0
jb 0x45cc1e
test bl, 0x20
jne 0x45cb6a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45cc1b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45cb92
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45cc1e
mov edx, dword [esi + 8]
test bl, 8
jne 0x45cbb8
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 0x45cc1b
test bl, 4
jne 0x45cbe7
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 0x45cc1b
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45cc40
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45183b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e5a1
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e597
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45ccc3
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45cdb9
cmp ebx, 0xc0
jb 0x45cdb9
test bl, 0x20
jne 0x45cd05
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45cdb6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45cd2d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45cdb9
mov edx, dword [esi + 8]
test bl, 8
jne 0x45cd53
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 0x45cdb6
test bl, 4
jne 0x45cd82
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 0x45cdb6
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45cddb
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45183b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e5ba
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e5b0
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45ce5e
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45cea7
cmp dword [ebp + 0x88], 0
je 0x45b023
cmp edi, dword [ebp + 0x84]
jbe 0x45b023
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45b023
mov esi, dword [esi]
test esi, esi
je 0x45e6dc
mov edi, 0xfffffff4
jmp 0x45a2a4
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45cf95
cmp ebx, 0xc0
jb 0x45cf95
test bl, 0x20
jne 0x45cedd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45cf92
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45cf07
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45cf95
mov edx, dword [esi + 8]
test bl, 8
jne 0x45cf2d
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 0x45cf90
test bl, 4
jne 0x45cf5c
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 0x45cf90
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45cfb7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45d148
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x45d0e7
cmp ebx, 0xc0
jb 0x45d0e7
test bl, 0x20
jne 0x45d01b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45d0df
test bl, 0x10
jne 0x45d040
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 0x45d0df
test bl, 8
jne 0x45d071
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 0x45d0df
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45d0ab
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 0x45d0df
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45d109
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx ecx, byte [eax*8 + 0x52f2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52f150], eax
je 0x45d148
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x45cfe0
cmp dword [ebp + 0x88], 0
je 0x45d175
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45d175
cmp eax, dword [ebp + 0x84]
jbe 0x45d175
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4519a6
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e5d3
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e5c9
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x45d1dc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45d1dc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45d1d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4509c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e5ec
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e5e2
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x45d237
movzx ebx, byte [ecx]
jmp 0x45d325
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45d24c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45d240
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x45d325
test bl, 0x20
jne 0x45d26f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x45d31d
test bl, 0x10
jne 0x45d28f
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 0x45d31d
test bl, 8
jne 0x45d2b8
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 0x45d31d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45d2ed
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 0x45d31d
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45d347
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2ca]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x4509c0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x45d37f
movzx ebx, byte [edi]
jmp 0x45d43e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x45d391
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x45d387
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x45d43e
test bl, 0x20
jne 0x45d3b1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x45d436
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45d3ce
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x45d436
and eax, 0x3f
test bl, 8
jne 0x45d3e9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45d436
test bl, 4
jne 0x45d40d
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 0x45d436
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45d460
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx edx, byte [eax*8 + 0x52f2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52f150], eax
je 0x459096
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x45d360
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d4c1
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45d5bb
cmp ebx, 0xc0
jb 0x45d5bb
test bl, 0x20
jne 0x45d503
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45d5b8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45d52d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45d5bb
mov edx, dword [esi + 8]
test bl, 8
jne 0x45d553
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 0x45d5b6
test bl, 4
jne 0x45d582
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 0x45d5b6
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 + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45d5dd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x45d604
cmp eax, 3
je 0x45d604
xor eax, eax
jmp 0x45d609
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45183b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e61e
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e614
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d672
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45d773
cmp ebx, 0xc0
jb 0x45d773
test bl, 0x20
jne 0x45d6b4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45d770
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45d6de
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45d773
mov edx, dword [esi + 8]
test bl, 8
jne 0x45d704
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 0x45d767
test bl, 4
jne 0x45d733
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 0x45d767
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 0x45d79e
cmp ebx, 0x40
je 0x45d79e
cmp ebx, 0x60
je 0x45d79e
cmp ebx, 0xa0
jb 0x45d792
cmp ebx, 0xd7ff
jbe 0x45d79e
cmp ebx, 0xe000
jae 0x45d79e
xor eax, eax
jmp 0x45d7a3
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x452182
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e637
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e62d
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45d80c
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45d90d
cmp ebx, 0xc0
jb 0x45d90d
test bl, 0x20
jne 0x45d84e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45d90a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45d878
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45d90d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45d89e
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 0x45d901
test bl, 4
jne 0x45d8cd
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 0x45d901
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 0x45d950
je case.0x45d970.8192
cmp ebx, 0x85
ja 0x45d93c
je case.0x45d970.8192
cmp ebx, 9
jb case.0x45d970.8203
cmp ebx, 0xd
jbe case.0x45d970.8192
cmp ebx, 0x20
jmp 0x45d985
cmp ebx, 0xa0
je case.0x45d970.8192
cmp ebx, 0x1680
jmp 0x45d985
cmp ebx, 0x202f
ja 0x45d977
je case.0x45d970.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x45d970.8203
movzx eax, byte [eax + 0x45eeac]
jmp dword [eax*4 + 0x45eea4]
cmp ebx, 0x205f
je case.0x45d970.8192
cmp ebx, 0x3000
je case.0x45d970.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x530948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45d9a9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
cmp dword [eax*4 + 0x52f0d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x45d9dc
jmp 0x45183b
cmp dword [esi + 0x68], 0
jne 0x452182
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e650
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e646
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45da3c
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45db32
cmp ebx, 0xc0
jb 0x45db32
test bl, 0x20
jne 0x45da7e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45db2f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45daa6
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45db32
mov edx, dword [esi + 8]
test bl, 8
jne 0x45dacc
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 0x45db2f
test bl, 4
jne 0x45dafb
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 0x45db2f
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 + 0x530948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45db55
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x532b48]
movzx eax, byte [eax*8 + 0x52f2c9]
mov eax, dword [eax*4 + 0x52f0d8]
cmp eax, 1
je 0x45db81
cmp eax, 3
je 0x45db81
cmp ebx, 0x5f
je 0x45db81
xor eax, eax
jmp 0x45db86
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45183b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e669
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e65f
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
test edi, edi
jne case.0x45a2b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45dbef
mov esi, dword [esi]
test esi, esi
je 0x45e6b8
jmp 0x45a2a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45ce66
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45dcec
cmp ebx, 0xc0
jb 0x45dcec
test bl, 0x20
jne 0x45dc31
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45dce9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45dc59
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45dcec
mov edx, dword [esi + 8]
test bl, 8
jne 0x45dc7f
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 0x45dce2
test bl, 4
jne 0x45dcae
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 0x45dce2
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 + 0x52f188]
lea eax, [eax*4 + 0x52f188]
cmp ebx, ecx
jb 0x45dd0e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x45dd53
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x45dd01
cmp dword [esi + 0x68], 0
je 0x452182
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e682
push 0x134
call dword [0x1c4d324]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45e678
mov esi, dword [esi]
test esi, esi
je 0x45e6ab
lea edi, [eax - 6]
jmp 0x45a299
cmp dword [esi + 0x68], 0
je 0x45dd18
jmp 0x452182
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 0x45dd61
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x450a3a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45dda3
push ecx
call dword [0x1c4d320]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x450a3a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45bb99
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45b9a5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45bd3b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45bf40
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45c109
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45c77a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45c92c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45cace
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45cc69
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45ce04
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45d618
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45d9e2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45db95
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45dd1e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45d7b2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45c42d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45d17b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x4509c0
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 + 0x52efc0]
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 0x4509b0
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 0x45e1a6
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 0x45e1a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x45deff
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 0x45e1a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x45deff
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 0x45e1a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x45deff
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 0x4509b0
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 0x45e396
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 0x45e396
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 0x45e396
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 0x45e396
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 0x45e396
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 0x45e1a6
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 0x45e1a6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x45e157
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 0x4509b0
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 + 0x52efc0]
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 0x4509b0
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 0x45e396
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 0x45e396
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 0x45e396
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x45e38d
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 0x4509b0
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 0x45e1a6
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 0x45e1a6
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 0x45e396
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 0x45e396
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 0x45e396
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x45e38d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x45e38d
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