Function at 0x44e5e0
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 0x44e66e
mov esi, dword [esi]
test esi, esi
je 0x45c311
mov edi, 0xfffffff8
jmp 0x457f19
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x44e68a
mov esi, dword [esi]
test esi, esi
je 0x45c31e
mov edi, 0xffffffeb
jmp 0x457f19
cmp dword [ebp + 0x98], 2
jne 0x44e6c1
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 0x44e6c1
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.0x44e6f4.98
movzx eax, byte [edx + 0x45c52c]
jmp dword [eax*4 + 0x45c3e0]
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 0x45bb75
push 0x134
call dword [0xa5ce74]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45bb6f
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
mov edx, dword [esi + 4]
test edx, edx
jne 0x45bbc5
push 0x134
call dword [0xa5ce74]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45bbbf
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
mov edx, dword [esi + 4]
test edx, edx
jne 0x45bbe3
push 0x134
call dword [0xa5ce74]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45bbdd
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x45bc01
push 0x134
call dword [0xa5ce74]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45bbfb
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
mov edx, dword [esi + 4]
test edx, edx
jne 0x45bc16
push 0x134
call dword [0xa5ce74]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45bc10
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x44e84e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x528fb8]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x44e6c1
mov edi, dword [esi + 4]
test edi, edi
jne 0x45bc34
push 0x134
call dword [0xa5ce74]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45bc2e
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
mov edx, dword [esi + 4]
test edx, edx
jne 0x45bc49
push 0x134
call dword [0xa5ce74]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45bc43
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x45bc67
push 0x134
call dword [0xa5ce74]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45bc61
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x459458
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.0x44e6f4.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 0x457fbb
mov dword [esi + 0x54], ebx
jmp 0x44f15f
mov dword [esi + 0x54], ebx
jmp 0x44f183
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 0x44eac8
mov edi, dword [0xa63204]
test edi, edi
je 0x44eab4
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 0x44ea6e
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 0x44eaa3
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f19
jns 0x44eab4
mov esi, dword [esi]
test esi, esi
je 0x4583fc
jmp 0x457f19
movzx eax, byte [0x52902e]
add dword [esi + 0xc], eax
movzx eax, byte [0x52902e]
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.0x44eaee.146
movzx eax, byte [eax + 0x45c5e8]
jmp dword [eax*4 + 0x45c5d0]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x44eaee.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x44eb27
cmp edx, dword [edi + 4]
je 0x44eb27
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x458253
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x458253
cmp dword [ebp + 0xa4], ebx
je case.0x44eaee.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.0x44eaee.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 0x458253
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x44eb70
jmp 0x458253
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 0x44ebd4
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x44ebd4
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x44eaee.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x44eaee.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 0x458253
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 0x44ec29
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x44ec38
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x44ec07
jmp 0x458253
mov dword [esi + 0x58], 1
jmp 0x458253
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bc7c
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bc76
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x44ecd4
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44e6b6
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 0x44e6b6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x44ed23
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 0x44e6b6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x44ed76
cmp edx, 0x9f
je 0x44ed76
cmp dword [ebp + 0xa4], ebx
jne 0x44ed76
cmp dword [ebp + 0x5c], ebx
jne 0x44ed65
cmp dword [ebp + 0x60], ebx
je 0x44ed76
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x44ed76
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f19
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 0x4583fc
jmp 0x457f19
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x44edcf
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x45834d
mov dword [esi + 0x58], ebx
jmp 0x45834d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x44edfb
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x45849b
mov dword [esi + 0x58], ebx
jmp 0x45849b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x44ee62
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x44ee48
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x455646.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44ee44
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44ee38
test edx, edx
jg 0x44ee20
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x44e6b6
mov dword [ebp + 0x84], eax
jmp 0x44e6b6
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 0x44ee48
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f20
mov edi, dword [0xa63204]
test edi, edi
je 0x44ef6c
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 0x44ef26
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 0x44ef5b
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f19
jns 0x44ef6c
mov esi, dword [esi]
test esi, esi
je 0x4583fc
jmp 0x457f19
add dword [esi + 0xc], 6
jmp 0x44e6ba
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 0x44ef96
xor edx, edx
jmp 0x44efa3
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 0x44efc3
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x44efbd
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x44f024
mov ecx, dword [ecx]
test ecx, ecx
jne 0x44efb0
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 0x44f038
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 0x458584
mov esi, dword [esi]
test esi, esi
je 0x45c342
mov edi, 0xffffffe6
jmp 0x457f19
shl eax, 2
push eax
call dword [0xa5ce6c]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x44effe
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x44f061
jmp 0x44e6c1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bcb7
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bcb1
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x44f0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bcd5
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bccf
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x44f113
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x44e6c1
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 0x44f15f
cmp eax, 0x8b
jne 0x44f183
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 0x44f1a0
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 0x45906d
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 0x44f21d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45c067
push 0x134
call dword [0xa5ce74]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45c05d
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x44f278
cmp al, 0x81
je 0x44f278
mov dword [esi + 0x38], ebx
jmp 0x44f289
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 0x44f296
cmp al, 0x80
jbe 0x44f29a
cmp al, 0x82
jne 0x44f2c6
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 0x45c376
mov edi, 1
jmp 0x457f19
cmp al, 0x85
je 0x44f2da
cmp al, 0x8a
je 0x44f2da
cmp al, 0x86
je 0x44f2da
cmp al, 0x8b
jne 0x44f3a1
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 0x44f316
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x44f316
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x44f2ac
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 0x44f345
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44f3a1
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x44f365
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x44f365
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 0x44f3a1
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x44f3d7
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 0x45c34f
mov edi, 0xfffffc1a
jmp 0x457f19
cmp cl, 0x78
je 0x44f450
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x44f450
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x44f41e
test ecx, ecx
jne 0x45bcf6
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bcf0
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test ecx, ecx
jne 0x45bd17
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bd11
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4586b7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bd35
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bd2f
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
cmp dword [ebp + 0x44], ebx
je case.0x44e6f4.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x44e6f4.1
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f19
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x44f578
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f19
cmp dword [ebp + 0x44], ebx
je 0x44f4ea
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44f4ea
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f19
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x44ff34
cmp ecx, dword [ebp + 0x78]
je 0x44f550
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44f528
cmp ecx, edx
jbe 0x44f550
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045e5a0
add esp, 0x14
test eax, eax
jne 0x44ff34
jmp 0x44f550
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x44f550
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44f550
cmp edi, 1
je 0x44ff34
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44ff34
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f19
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x44f4b5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x44e6c1
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44f63a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44f5b5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045e450
add esp, 0x14
test eax, eax
jne 0x44ff34
jmp 0x44f5d9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44f5d9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44f5d9
cmp edx, 1
je 0x44ff34
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44ff34
cmp dword [ebp + 0x88], ebx
je case.0x455646.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x455646.14
cmp dword [ebp + 0x18], ebx
jne case.0x455646.14
cmp dword [edi], 2
jne case.0x455646.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x455646.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x455646.14
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edi, 0xfffffff4
jmp 0x457f19
cmp dword [ebp + 0x48], ebx
jne 0x44f4bb
cmp dword [ebp + 0x88], ebx
je 0x44ff34
cmp ecx, dword [ebp + 0x84]
jbe 0x44ff34
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ff34
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edi, 0xfffffff4
jmp 0x457f19
cmp dword [ebp + 0x48], ebx
jne 0x44f4bb
cmp dword [ebp + 0x58], ebx
je case.0x44e6f4.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44f4bb
cmp dword [ebp + 0x88], ebx
je 0x44f578
cmp eax, dword [ebp + 0x84]
jbe 0x44f578
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44f578
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edi, 0xfffffff4
jmp 0x457f19
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44f745
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44f70d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045e450
add esp, 0x14
test eax, eax
jne 0x44f735
jmp 0x44f5d9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44f5d9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44f5d9
cmp edx, 1
je 0x44f735
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x44f5d9
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x44f5d9
cmp dword [ebp + 0x88], ebx
je 0x44ff34
cmp ecx, dword [ebp + 0x84]
jbe 0x44ff34
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ff34
jmp 0x44f626
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44fa47
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x44f795
mov dword [esi + 0x5c], ebx
jmp 0x44f8ce
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x44f7aa
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x44f7a0
cmp edx, dword [ebp + 0x84]
jae 0x44f7b8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44f86c
test bl, 0x20
jne 0x44f7e0
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x44f86c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44f7fa
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x44f862
and eax, 0x3f
test bl, 8
jne 0x44f815
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44f862
test bl, 4
jne 0x44f839
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 0x44f862
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 0x44f907
cmp ebx, 0x5f
jne 0x44f884
mov dword [esi + 0x5c], 1
jmp 0x44f8ce
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x44f8a6
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x44f918
cmp eax, 3
je 0x44f918
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44f91f
cmp dword [ebp + 0x88], 0
je 0x44f8fb
cmp edx, dword [ebp + 0x84]
jbe 0x44f8fb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
mov dword [esi + 0x54], 0
jmp 0x44fb85
cmp ebx, 0x100
jae 0x44f8c9
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44f8c9
mov eax, 1
jmp 0x44f8cb
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44f9c9
test bl, 0x20
jne 0x44f93f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x44f9c1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44f959
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x44f9c1
and eax, 0x3f
test bl, 8
jne 0x44f974
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x44f9c1
test bl, 4
jne 0x44f998
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 0x44f9c1
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 0x44fa2c
cmp ebx, 0x5f
jne 0x44f9e0
mov dword [esi + 0x54], 1
jmp 0x44fb85
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x44fa02
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x44fa3d
cmp eax, 3
je 0x44fa3d
xor eax, eax
jmp 0x44fb82
cmp ebx, 0x100
jae 0x44fa25
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44fa25
mov eax, 1
jmp 0x44fb82
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44fa57
mov dword [esi + 0x5c], ebx
jmp 0x44faf2
cmp eax, dword [ebp + 0x84]
ja 0x44fa66
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x44fade
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x44fa80
mov dword [esi + 0x5c], 1
jmp 0x44faf2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52a940]
shl eax, 7
and ecx, 0x8000007f
jns 0x44faa2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x44fad0
cmp eax, 3
je 0x44fad0
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x44faef
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x44faef
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 0x44fb33
cmp dword [ebp + 0x88], ebx
je 0x44fb2e
cmp eax, dword [ebp + 0x84]
jbe 0x44fb2e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44fb2e
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edi, 0xfffffff4
jmp 0x457f20
mov dword [esi + 0x54], ebx
jmp 0x44fb85
cmp dword [ebp + 0x54], ebx
je 0x44fb72
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x44fb49
mov dword [esi + 0x54], 1
jmp 0x44fb85
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52a940]
shl eax, 7
and ecx, 0x8000007f
jns 0x44fb6b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x44fa04
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 0x44fba0
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x44fba8
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x44e6c1
jmp 0x44f4bb
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x44fbed
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x44fc18
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0045e450
add esp, 0x14
test eax, eax
jne 0x44f4bb
jmp 0x44fc18
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x44fc18
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44fc18
cmp edx, 1
je 0x44f4bb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44f4bb
cmp dword [ebp + 0x88], ebx
je case.0x44e6f4.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x44e6f4.13
cmp dword [ebp + 0x18], ebx
jne case.0x44e6f4.13
cmp dword [ebp + 0x1c], 2
jne case.0x44e6f4.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x44e6f4.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44fc76
cmp dword [ebp + 0x88], ebx
je case.0x455646.14
cmp eax, dword [ebp + 0x84]
jbe case.0x455646.14
jmp 0x44f612
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x44f578
cmp eax, dword [ebp + 0x78]
jae 0x44f578
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44f578
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x44fc92
inc dword [esi + 0xc]
jmp 0x44e6c1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44fc59
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x44e6c1
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x44fced
cmp dword [ebp + 0x88], ebx
je case.0x455646.14
cmp edi, dword [ebp + 0x84]
jbe case.0x455646.14
jmp 0x44f612
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44fde9
cmp ebx, 0xc0
jb 0x44fde9
test bl, 0x20
jne 0x44fd2a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44fde6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44fd54
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44fde9
mov edx, dword [esi + 8]
test bl, 8
jne 0x44fd7a
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 0x44fddd
test bl, 4
jne 0x44fda9
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 0x44fddd
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 0x44ff34
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44ff34
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f20
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44ff1b
cmp ebx, 0xc0
jb 0x44ff1b
test bl, 0x20
jne 0x44fe5c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ff18
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44fe86
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44ff1b
mov edx, dword [esi + 8]
test bl, 8
jne 0x44feac
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 0x44ff0f
test bl, 4
jne 0x44fedb
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 0x44ff0f
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 0x44ee7d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44ee7d
inc dword [esi + 0xc]
jmp 0x44e6ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x450044
cmp ebx, 0xc0
jb 0x450044
test bl, 0x20
jne 0x44ff85
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x450041
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ffaf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x450044
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ffd5
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 0x450038
test bl, 4
jne 0x450004
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 0x450038
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 0x44ff34
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x44fdfc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x450164
cmp ebx, 0xc0
jb 0x450164
test bl, 0x20
jne 0x4500a5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x450161
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4500cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x450164
mov edx, dword [esi + 8]
test bl, 8
jne 0x4500f5
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 0x450158
test bl, 4
jne 0x450124
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 0x450158
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 0x44ee7d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x44ee7d
inc dword [esi + 0xc]
jmp 0x44e6ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45028d
cmp ebx, 0xc0
jb 0x45028d
test bl, 0x20
jne 0x4501ce
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45028a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4501f8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45028d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45021e
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 0x450281
test bl, 4
jne 0x45024d
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 0x450281
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 0x44ff34
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x44fdfc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4503ad
cmp ebx, 0xc0
jb 0x4503ad
test bl, 0x20
jne 0x4502ee
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4503aa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x450318
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4503ad
mov edx, dword [esi + 8]
test bl, 8
jne 0x45033e
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 0x4503a1
test bl, 4
jne 0x45036d
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 0x4503a1
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 0x44ee7d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44ee7d
inc dword [esi + 0xc]
jmp 0x44e6ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4504d6
cmp ebx, 0xc0
jb 0x4504d6
test bl, 0x20
jne 0x450417
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4504d3
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x450441
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4504d6
mov edx, dword [esi + 8]
test bl, 8
jne 0x450467
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 0x4504ca
test bl, 4
jne 0x450496
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 0x4504ca
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 0x45054f
je 0x4504f1
cmp ebx, 0xa
je 0x44ff34
jbe 0x44fe02
cmp ebx, 0xc
jmp 0x450569
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45053a
cmp dword [ebp + 0x88], 0
je 0x44ff34
cmp eax, dword [ebp + 0x84]
jbe 0x44ff34
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ff34
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edi, 0xfffffff4
jmp 0x457f20
cmp byte [eax], 0xa
jne 0x44ff34
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x44e6ba
cmp ebx, 0x85
je 0x45056f
cmp ebx, 0x2027
jbe 0x44fe02
cmp ebx, 0x2029
ja 0x44fe02
cmp dword [ebp + 0x68], 0
jmp 0x44fdfc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x450680
cmp ebx, 0xc0
jb 0x450680
test bl, 0x20
jne 0x4505c1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45067d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4505eb
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x450680
mov edx, dword [esi + 8]
test bl, 8
jne 0x450611
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 0x450674
test bl, 4
jne 0x450640
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 0x450674
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 0x4506b8
je 0x44ee7d
cmp ebx, 0xa0
ja 0x4506ad
je 0x44ee7d
cmp ebx, 9
je 0x44ee7d
cmp ebx, 0x20
jmp 0x44ff2e
cmp ebx, 0x1680
jmp 0x44ff2e
cmp ebx, 0x205f
ja 0x4506e9
je 0x44ee7d
cmp ebx, 0x2000
jb 0x44ff34
cmp ebx, 0x200a
jbe 0x44ee7d
cmp ebx, 0x202f
jmp 0x44ff2e
cmp ebx, 0x3000
je 0x44ee7d
inc dword [esi + 0xc]
jmp 0x44e6ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x450805
cmp ebx, 0xc0
jb 0x450805
test bl, 0x20
jne 0x450746
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x450802
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x450770
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x450805
mov edx, dword [esi + 8]
test bl, 8
jne 0x450796
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 0x4507f9
test bl, 4
jne 0x4507c5
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 0x4507f9
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 0x45083d
je 0x44ff34
cmp ebx, 0xa0
ja 0x450832
je 0x44ff34
cmp ebx, 9
je 0x44ff34
cmp ebx, 0x20
jmp 0x44fdfc
cmp ebx, 0x1680
jmp 0x44fdfc
cmp ebx, 0x205f
ja 0x45086e
je 0x44ff34
cmp ebx, 0x2000
jb 0x44fe02
cmp ebx, 0x200a
jbe 0x44ff34
cmp ebx, 0x202f
jmp 0x44fdfc
cmp ebx, 0x3000
jmp 0x44fdfc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x450981
cmp ebx, 0xc0
jb 0x450981
test bl, 0x20
jne 0x4508c2
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45097e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4508ec
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x450981
mov edx, dword [esi + 8]
test bl, 8
jne 0x450912
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 0x450975
test bl, 4
jne 0x450941
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 0x450975
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 0x4509a9
je 0x44fe02
cmp ebx, 0xa
jb 0x44ff34
cmp ebx, 0xd
jbe 0x44fe02
inc dword [esi + 0xc]
jmp 0x44e6ba
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44ff34
jmp 0x44fe02
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x450ac5
cmp ebx, 0xc0
jb 0x450ac5
test bl, 0x20
jne 0x450a06
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x450ac2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x450a30
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x450ac5
mov edx, dword [esi + 8]
test bl, 8
jne 0x450a56
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 0x450ab9
test bl, 4
jne 0x450a85
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 0x450ab9
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 0x450aea
je 0x44ff34
cmp ebx, 0xa
jb 0x44ee7d
cmp ebx, 0xd
jbe 0x44ff34
jmp 0x44ee7d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44ee7d
inc dword [esi + 0xc]
jmp 0x44e6ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x450bfd
cmp ebx, 0xc0
jb 0x450bfd
test bl, 0x20
jne 0x450b49
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x450bfa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x450b71
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x450bfd
mov edx, dword [esi + 8]
test bl, 8
jne 0x450b97
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 0x450bfa
test bl, 4
jne 0x450bc6
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 0x450bfa
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 + 0x52a940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x450c20
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 + 0x52cb40]
cmp eax, 0xa
ja case.default.0x450c3a
jmp dword [eax*4 + 0x45c5fc]
cmp dword [esi + 0x9c], 0xf
jne 0x44e6b6
jmp 0x44f4bb
mov al, byte [edx*8 + 0x5292c1]
cmp al, 9
je 0x450c6a
cmp al, 5
je 0x450c6a
cmp al, 8
je 0x450c6a
xor ecx, ecx
jmp 0x450c6f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x44e6b6
jmp 0x44f4bb
movzx ecx, byte [edx*8 + 0x5292c1]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x5290d0]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x44e6b6
jmp 0x44f4bb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x5292c1]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x44e6b6
jmp 0x44f4bb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x5292c0]
jmp 0x450ccb
movzx eax, byte [edx*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x450c6a
cmp eax, 3
je 0x450c6a
xor ecx, ecx
jmp 0x450c6f
cmp ebx, 0x180e
ja 0x450d63
je case.0x450c3a.0
cmp ebx, 0x85
ja 0x450d4f
je case.0x450c3a.0
cmp ebx, 9
jb case.0x450d83.8203
cmp ebx, 0xd
jbe case.0x450c3a.0
cmp ebx, 0x20
jmp 0x450d9c
cmp ebx, 0xa0
je case.0x450c3a.0
cmp ebx, 0x1680
jmp 0x450d9c
cmp ebx, 0x202f
ja 0x450d8a
je case.0x450c3a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x450d83.8203
movzx eax, byte [ebx + 0x45c630]
jmp dword [eax*4 + 0x45c628]
cmp ebx, 0x205f
je case.0x450c3a.0
cmp ebx, 0x3000
je case.0x450c3a.0
movzx eax, byte [edx*8 + 0x5292c1]
xor ecx, ecx
cmp dword [eax*4 + 0x5290d0], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x450cd7
movzx eax, byte [edx*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x450c6a
cmp eax, 3
je 0x450c6a
cmp ebx, 0x5f
je 0x450c6a
xor ecx, ecx
jmp 0x450c6f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x529180]
lea eax, [eax*4 + 0x529180]
cmp ebx, ecx
jb 0x450e1d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x450e2f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x450e10
cmp dword [esi + 0x9c], 0x10
jne 0x44e6b6
jmp 0x44f4bb
cmp dword [esi + 0x9c], 0x10
je 0x44e6b6
jmp 0x44f4bb
cmp ebx, 0x24
je 0x450c6a
cmp ebx, 0x40
je 0x450c6a
cmp ebx, 0x60
je 0x450c6a
cmp ebx, 0xa0
jb 0x450e70
cmp ebx, 0xd7ff
jbe 0x450c6a
cmp ebx, 0xe000
jae 0x450c6a
xor ecx, ecx
jmp 0x450c6f
mov esi, dword [esi]
test esi, esi
je case.default.0x457f34
mov edi, 0xfffffff2
jmp 0x457f19
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x450fa2
cmp ebx, 0xc0
jb 0x450fa2
test bl, 0x20
jne 0x450ee0
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x450f9f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x450f0f
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 0x450fa2
mov edx, dword [esi + 8]
test bl, 8
jne 0x450f35
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 0x450f98
test bl, 4
jne 0x450f64
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 0x450f98
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x450fc4
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x451156
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x4510ee
cmp ebx, 0xc0
jb 0x4510ee
test bl, 0x20
jne 0x451025
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4510e6
test bl, 0x10
jne 0x45104a
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 0x4510e6
test bl, 8
jne 0x451078
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 0x4510e6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4510b2
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 0x4510e6
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x451110
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx ecx, byte [eax*8 + 0x5292c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x529148], eax
je 0x451156
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 0x450ff0
cmp dword [ebp + 0x88], 0
je 0x44ff34
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44ff34
cmp eax, dword [ebp + 0x84]
jbe 0x44ff34
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ff34
jmp 0x44f626
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 0x451284
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 0x451214
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x45121d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x4511f0
jmp 0x451284
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x451284
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 0x451274
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x451274
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x45127e
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.0x45129f
movzx eax, byte [eax + 0x45c664]
jmp dword [eax*4 + 0x45c65c]
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 + 0x528610]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52861c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45132d
mov dword [esi + 0x8c], accept
jmp 0x45132d
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 0x451329
mov dword [esi + 0x8c], accept
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x44e6c1
jns 0x451351
cmp dword [esi + 0x90], 0
je 0x44e6c1
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45138f
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.0045cb60
add esp, 0x14
test eax, eax
js 0x4513c1
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x451360
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44e6c1
cmp dword [esp + 0x80], 0
je 0x4513ea
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4587d2
cmp eax, 0xfffffffe
jne 0x4513cc
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x455646.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x455646.14
jmp 0x44fc65
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x451400
cmp edi, dword [esi + 0x8c]
jge 0x458821
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0045cb60
add esp, 0x14
test eax, eax
js 0x451435
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x451400
cmp eax, 0xfffffffe
jne 0x458821
cmp dword [ebp + 0x88], 0
je 0x458821
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x458821
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x458821
jmp 0x44f626
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0045cb60
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x4514f9
cmp eax, 0xfffffffe
jne 0x4514a5
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x458dfd.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x458dfd.14
cmp eax, dword [ebp + 0x84]
jbe case.0x458dfd.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x458dfd.14
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x457f24
add dword [esi + 8], eax
jmp 0x44e6ba
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.0x451527
movzx eax, byte [eax + 0x45c674]
jmp dword [eax*4 + 0x45c66c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x45154a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x451555
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x528610]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52861c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4515ec
mov dword [esi + 0x8c], accept
jmp 0x4515ec
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 0x4515d2
mov dword [esi + 0x8c], accept
add dword [esi + 0xc], 5
jmp 0x4515ec
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x45174c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4517a1
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x4516fc
test bl, 0x20
jne 0x45164a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4516f9
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451671
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4516f7
test bl, 8
jne 0x451694
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 0x4516f7
test bl, 4
jne 0x4516c3
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 0x4516f7
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 0x45170d
cmp dword [esi + 0x9c], 0x6e
jmp 0x451722
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.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451610
jmp 0x451793
cmp dword [ebp + 0x88], 0
je case.0x455646.14
mov eax, dword [esi + 8]
jmp 0x44fc65
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x45179a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x451737
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.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x451760
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44e6ba
test ebx, ebx
je 0x4517ca
test edx, edx
jne 0x45ba37
mov dword [esi + 0x84], eax
jmp 0x4588bb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x451982
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45196f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x451947
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x4518f6
test bl, 0x20
jne 0x45183b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x4518f6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x451863
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x4518ec
and eax, 0x3f
test bl, 8
jne 0x451889
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 0x4518ec
test bl, 4
jne 0x4518b8
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 0x4518ec
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 0x451907
cmp dword [esi + 0x9c], 0x6e
jmp 0x45191c
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 0x45196f
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 0x4517f1
jmp 0x45196f
cmp dword [ebp + 0x88], 0
je 0x45196f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45196f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
je 0x45987c
jmp 0x44e6ba
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4519fa
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4519d2
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 0x4519fa
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 0x451991
jmp 0x4519fa
cmp dword [ebp + 0x88], 0
je 0x4519fa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4519fa
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
je 0x4588fb
jmp 0x44e6ba
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.0x451a45
movzx eax, byte [eax + 0x45c688]
jmp dword [eax*4 + 0x45c680]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x451a68
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x451a73
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x528610]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52861c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x451b0a
mov dword [esi + 0x8c], accept
jmp 0x451b0a
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 0x451af0
mov dword [esi + 0x8c], accept
add dword [esi + 0xc], 5
jmp 0x451b0a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x451c45
jmp 0x451b20
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x451c1a
cmp edx, 0xc0
jb 0x451c1a
test dl, 0x20
jne 0x451b68
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x451c17
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x451b8f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x451c15
test dl, 8
jne 0x451bb2
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 0x451c15
test dl, 4
jne 0x451be1
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 0x451c15
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.0045dde0
add esp, 0xc
test eax, eax
je case.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x451b20
jmp 0x451c4c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44e6c1
cmp dword [esp + 0x84], 0
jne 0x45ba48
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 0x451ddd
jmp 0x451c90
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451db3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x451d7b
cmp edx, 0xc0
jb 0x451d7b
test dl, 0x20
jne 0x451cdc
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x451d7b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451cfb
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x451d71
and eax, 0x3f
test dl, 8
jne 0x451d1b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x451d71
test dl, 4
jne 0x451d44
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 0x451d71
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.0045dde0
add esp, 0xc
test eax, eax
je 0x451ddd
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x451c90
jmp 0x451ddd
cmp dword [ebp + 0x88], 0
je 0x451dd6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x451dd6
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x44f626
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x44e6c1
jmp 0x459691
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x451fc9
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 0x451f50
test al, 0x20
jne 0x451e50
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 0x451f50
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x451e8a
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 0x451f50
test al, 8
jne 0x451ec6
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 0x451f50
test al, 4
mov eax, dword [esi + 0x80]
jne 0x451f0b
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 0x451f50
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 0x451f89
cmp dword [ebp + 0x88], ebx
je case.0x455646.14
cmp edx, edi
jb case.0x455646.14
cmp edx, dword [ebp + 0x84]
jbe case.0x455646.14
jmp 0x44f612
test ecx, ecx
jle 0x451fbe
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.0x455646.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x451f90
dec dword [esi + 0x88]
jmp 0x44e6ba
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x452016
cmp dword [ebp + 0x88], ebx
je 0x44ee7d
cmp edi, dword [ebp + 0x84]
jbe 0x44ee7d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ee7d
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edi, 0xfffffff4
jmp 0x457f20
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 0x45232b
jmp 0x44f4bb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44fcd0
cmp dword [esp + 0x8c], ebx
je 0x45230c
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 0x45219b
test al, 0x20
jne 0x45209b
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 0x45219b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x4520d5
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 0x45219b
test al, 8
jne 0x452111
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 0x45219b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x452156
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 0x45219b
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 0x4521c9
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x44f4bb
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x44e6ba
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x4522ab
test bl, 0x20
jne 0x4521f9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4522a8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452220
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4522a6
test bl, 8
jne 0x452243
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 0x4522a6
test bl, 4
jne 0x452272
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 0x4522a6
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 0x44e6ba
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52a940]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4522e5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52cb40]
mov eax, dword [eax*8 + 0x5292c4]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x44e6c1
jmp 0x44f4bb
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 0x44f4bb
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x44e6ba
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 0x45245d
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 0x452394
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x45239f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x45245d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], accept
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x452464
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], accept
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x452464
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x452464
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 + 0x528610]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x52861c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45245d
mov dword [esi + 0x8c], accept
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x4528d8
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 0x4525ab
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x4524c1
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 0x4525ab
test bl, 0x10
jne 0x4524f6
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 0x4525ab
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 0x452534
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 0x4525ab
test bl, 4
jne 0x45256d
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 0x4525ab
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 0x4528e7
cmp dword [esi + 0x9c], 0x2e
jb 0x45261c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52a940]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4525f3
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52cb40]
mov ecx, dword [eax*8 + 0x5292c4]
add ecx, edi
cmp ecx, edi
je 0x45261c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0045dd80
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x452623
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x452756
jmp 0x452640
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 0x4526c4
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x452678
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x452681
add ecx, 4
add edx, 4
sub edi, 4
jae 0x452667
cmp edi, 0xfffffffc
je 0x452738
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4526ba
cmp edi, 0xfffffffd
je 0x452738
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4526ba
cmp edi, 0xfffffffe
je 0x452738
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4526ba
cmp edi, 0xffffffff
je 0x452738
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x452738
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x4513cc
sub ecx, ebx
cmp edi, ecx
ja 0x4513cc
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x4526f6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4526fb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4526e5
cmp edi, 0xfffffffc
je 0x452738
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4513cc
cmp edi, 0xfffffffd
je 0x452738
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4513cc
cmp edi, 0xfffffffe
je 0x452738
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4513cc
cmp edi, 0xffffffff
je 0x452738
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4513cc
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x452640
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44e6c1
cmp dword [esp + 0x84], 0
jne 0x45ba59
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 0x4528c5
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 0x45281c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x4527d8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4527e1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4527c7
cmp edi, 0xfffffffc
je 0x452878
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x452812
cmp edi, 0xfffffffd
je 0x452878
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x452812
cmp edi, 0xfffffffe
je 0x452878
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x452812
cmp edi, 0xffffffff
je 0x452878
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x452878
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x452898
sub ecx, ebx
cmp edi, ecx
ja 0x452898
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x452846
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45284b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x452835
cmp edi, 0xfffffffc
je 0x452878
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x452898
cmp edi, 0xfffffffd
je 0x452878
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x452898
cmp edi, 0xfffffffe
je 0x452878
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x452898
cmp edi, 0xffffffff
je 0x452878
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x452898
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x4527a0
jmp 0x4528c5
cmp dword [ebp + 0x88], 0
je 0x4528c5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4528c5
cmp eax, dword [ebp + 0x84]
jbe 0x4528c5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
je 0x459a3c
jmp 0x44e6ba
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x4529df
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 0x452944
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x451737
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x452937
cmp dword [esi + 0x94], ecx
jne case.0x455646.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x452914
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44e6ba
cmp dword [esp + 0x84], 0
je 0x45296b
mov dword [esi + 0x84], eax
jmp 0x45899b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4529d2
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4529aa
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45299b
cmp dword [esi + 0x94], ecx
jne 0x4529d2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x452980
jmp 0x4529d2
cmp dword [ebp + 0x88], 0
je 0x4529d2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4529d2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
test edi, edi
je 0x4589db
jmp 0x44e6ba
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x452a1a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4529f0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44e6c1
cmp dword [esp + 0x84], 0
je 0x452a48
mov dword [esi + 0x84], eax
jmp 0x458a68
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x452aac
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452a84
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x452aac
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x452a60
jmp 0x452aac
cmp dword [ebp + 0x88], 0
je 0x452aac
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x452aac
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
je 0x458aa8
jmp 0x44e6c1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x452ae4
cmp dword [ebp + 0x88], ebx
je case.0x455646.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x455646.14
jmp 0x44f612
test edi, edi
je 0x452d5c
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 0x452be5
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x452b22
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x452be2
test bl, 0x10
jne 0x452b43
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 0x452be2
test bl, 8
jne 0x452b6e
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 0x452be5
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x452ba7
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 0x452be2
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 0x452cd8
test dl, 0x20
jne 0x452c1f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452cce
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452c46
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452ccc
test dl, 8
jne 0x452c69
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 0x452ccc
test dl, 4
jne 0x452c98
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 0x452ccc
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 0x452cf5
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x44e6c1
jmp 0x44f4bb
cmp ebx, 0x7f
jbe 0x452d32
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52a940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x452d1d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52cb40]
mov ecx, dword [eax*8 + 0x5292c4]
add ecx, ebx
jmp 0x452d39
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x44f4bb
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x44e6c1
jmp 0x44f4bb
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.0x455646.14
cmp dword [esi + 0x9c], 0x20
jne 0x45232b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x455646.14
add dword [esi + 0xc], 2
jmp 0x44e6ba
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 0x452ef6
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 0x452dfb
cmp al, 0x4f
je 0x452dfb
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x452ef6
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x452ef6
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], accept
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x452ef6
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], accept
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x452ef6
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x452ef6
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 0x452ef6
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 + 0x528610]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x52861c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x452ef6
mov dword [esi + 0x8c], accept
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 0x453051
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x453051
test al, 0x20
jne 0x452f48
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 0x453051
test al, 0x10
jne 0x452f7b
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 0x453051
test al, 8
jne 0x452fbd
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 0x453051
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x453008
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 0x45304a
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 0x453475
test edx, edx
je 0x4530ac
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x4530ac
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52a940]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x453090
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x52cb40]
mov eax, dword [eax*8 + 0x5292c4]
add eax, edi
jmp 0x4530b9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x453200
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45324b
jmp 0x4530e0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x4531d9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x45311a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4531d6
test cl, 0x10
jne 0x45313b
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 0x4531d6
test cl, 8
jne 0x453165
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 0x4531d6
test cl, 4
jne 0x45319b
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 0x4531d6
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.0x455646.14
cmp dword [esi + 0x94], ecx
je case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4530e0
jmp 0x453244
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x453244
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x451737
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x455646.14
cmp dword [esi + 0x94], ecx
je case.0x455646.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x453210
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44e6ba
test ebx, ebx
je 0x453274
test edx, edx
jne 0x45ba6a
mov dword [esi + 0x84], eax
jmp 0x458b3f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x4533fd
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4533ea
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4533c2
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45339e
test dl, 0x20
jne 0x4532d2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45339e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4532fc
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 0x45339c
test dl, 8
jne 0x453328
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 0x45339c
test dl, 4
jne 0x453360
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 0x45339c
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 0x4533ea
cmp dword [esi + 0x94], edx
je 0x4533ea
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x453294
jmp 0x4533ea
cmp dword [ebp + 0x88], 0
je 0x4533ea
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4533ea
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
je 0x459c1c
jmp 0x44e6ba
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x453462
jmp 0x453410
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45343a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x453462
cmp dword [esi + 0x94], ecx
je 0x453462
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x453410
jmp 0x453462
cmp dword [ebp + 0x88], 0
je 0x453462
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x453462
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
je 0x458b7f
jmp 0x44e6ba
test edx, edx
je 0x453597
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4535d5
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45357c
test dl, 0x20
jne 0x4534ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x453579
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4534f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x453577
test dl, 8
jne 0x453514
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 0x453577
test dl, 4
jne 0x453543
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 0x453577
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.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x453490
jmp 0x4535ce
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4535d5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4535a4
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44e6ba
cmp dword [esp + 0x84], 0
je 0x453604
test edx, edx
jne 0x45ba7f
mov dword [esi + 0x84], eax
jmp 0x458c0c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x453788
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x453775
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45374d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x453731
test dl, 0x20
jne 0x453662
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x453731
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45368c
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 0x45372f
test dl, 8
jne 0x4536bb
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 0x45372f
test dl, 4
jne 0x4536f3
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 0x45372f
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 0x453775
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x453624
jmp 0x453775
cmp dword [ebp + 0x88], 0
je 0x453775
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x453775
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
je 0x459de0
jmp 0x44e6ba
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4537e2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4537ba
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x4537e2
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x453796
jmp 0x4537e2
cmp dword [ebp + 0x88], 0
je 0x4537e2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4537e2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
je 0x458c4c
jmp 0x44e6ba
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 0x453934
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 0x453934
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], accept
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x453934
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], accept
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x453934
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x453934
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 0x453934
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x5285bb]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x5285c7]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x453934
mov dword [esi + 0x8c], accept
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 0x453956
cmp ecx, 0xf
je 0x453956
mov dword [esi + 0x60], 0xffffffff
jmp 0x453979
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 0x45591b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x454728
cmp eax, 0xa
ja case.default.0x450c3a
jmp dword [eax*4 + 0x45c694]
cmp dword [esi + 0x68], ebx
jne 0x44f4bb
mov edx, 1
cmp ecx, edx
jl 0x45591b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x4539ff
cmp ecx, 0xc0
jb 0x4539ff
test cl, 0x20
jne 0x4539db
inc eax
jmp 0x4539fc
test cl, 0x10
jne 0x4539e5
add eax, 2
jmp 0x4539fc
test cl, 8
jne 0x4539ef
add eax, 3
jmp 0x4539fc
test cl, 4
jne 0x4539f9
add eax, 4
jmp 0x4539fc
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4539b8
jmp 0x45591b
cmp dword [ebp + 0x88], ebx
je case.0x455646.14
mov eax, dword [esi + 8]
jmp 0x44fc65
mov edi, 1
cmp ecx, edi
jl 0x45591b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x453b2a
cmp ebx, 0xc0
jb 0x453b2a
test bl, 0x20
jne 0x453a78
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x453b27
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x453a9f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x453b25
test bl, 8
jne 0x453ac2
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 0x453b25
test bl, 4
jne 0x453af1
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 0x453b25
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x453b4c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
cmp eax, 9
je 0x453b71
cmp eax, 5
je 0x453b71
cmp eax, 8
je 0x453b71
xor eax, eax
jmp 0x453b76
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453a30
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x45591b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x453c98
cmp ebx, 0xc0
jb 0x453c98
test bl, 0x20
jne 0x453be8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x453c95
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x453c0f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x453c95
test bl, 8
jne 0x453c32
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 0x453c95
test bl, 4
jne 0x453c61
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 0x453c95
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x453cba
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453ba0
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x45591b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x453dfb
cmp ebx, 0xc0
jb 0x453dfb
test bl, 0x20
jne 0x453d4b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x453df8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x453d72
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x453df8
test bl, 8
jne 0x453d95
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 0x453df8
test bl, 4
jne 0x453dc4
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 0x453df8
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x453e1d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453d03
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x45591b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x453f58
cmp ebx, 0xc0
jb 0x453f58
test bl, 0x20
jne 0x453ea8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x453f55
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x453ecf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x453f55
test bl, 8
jne 0x453ef2
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 0x453f55
test bl, 4
jne 0x453f21
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 0x453f55
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x453f7a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453e60
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x45591b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4540ba
cmp ebx, 0xc0
jb 0x4540ba
test bl, 0x20
jne 0x454008
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4540b7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45402f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4540b5
test bl, 8
jne 0x454052
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 0x4540b5
test bl, 4
jne 0x454081
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 0x4540b5
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4540dc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x454103
cmp eax, 3
je 0x454103
xor eax, eax
jmp 0x454108
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453fc0
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x45591b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45422a
cmp ebx, 0xc0
jb 0x45422a
test bl, 0x20
jne 0x454178
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x454227
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45419f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x454225
test bl, 8
jne 0x4541c2
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 0x454225
test bl, 4
jne 0x4541f1
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 0x454225
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 0x45426d
je case.0x454289.8192
cmp ebx, 0x85
ja 0x454259
je case.0x454289.8192
cmp ebx, 9
jb case.0x454289.8203
cmp ebx, 0xd
jbe case.0x454289.8192
cmp ebx, 0x20
jmp 0x45429e
cmp ebx, 0xa0
je case.0x454289.8192
cmp ebx, 0x1680
jmp 0x45429e
cmp ebx, 0x202f
ja 0x454290
je case.0x454289.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x454289.8203
movzx eax, byte [eax + 0x45c6c8]
jmp dword [eax*4 + 0x45c6c0]
cmp ebx, 0x205f
je case.0x454289.8192
cmp ebx, 0x3000
je case.0x454289.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4542c2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
cmp dword [eax*4 + 0x5290d0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x455646.14
jmp 0x4542f6
cmp dword [esi + 0x68], 0
jne case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x454130
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x45591b
jmp 0x454320
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x454418
cmp ebx, 0xc0
jb 0x454418
test bl, 0x20
jne 0x454368
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x454415
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45438f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x454415
test bl, 8
jne 0x4543b2
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 0x454415
test bl, 4
jne 0x4543e1
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 0x454415
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 + 0x52a940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45443b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x454467
cmp eax, 3
je 0x454467
cmp ebx, 0x5f
je 0x454467
xor eax, eax
jmp 0x45446c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x455646.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x454320
jmp 0x45591b
mov ebx, 1
cmp ecx, ebx
jl 0x45591b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45458c
cmp edx, 0xc0
jb 0x45458c
test dl, 0x20
jne 0x4544dc
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x454589
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x454503
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x454589
test dl, 8
jne 0x454526
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 0x454589
test dl, 4
jne 0x454555
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 0x454589
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 + 0x529180]
lea eax, [eax*4 + 0x529180]
cmp edx, ecx
jb 0x4545ae
lea eax, [eax + 4]
cmp edx, ecx
je 0x4545ca
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4545a1
cmp dword [esi + 0x68], 0
je case.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454494
jmp 0x45591b
cmp dword [esi + 0x68], 0
jne case.0x455646.14
jmp 0x4545b8
mov ebx, 1
cmp ecx, ebx
jl 0x45591b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x4546dd
cmp edx, 0xc0
jb 0x4546dd
test dl, 0x20
jne 0x45462b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4546da
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x454652
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4546d8
test dl, 8
jne 0x454675
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 0x4546d8
test dl, 4
jne 0x4546a4
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 0x4546d8
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 0x454708
cmp edx, 0x40
je 0x454708
cmp edx, 0x60
je 0x454708
cmp edx, 0xa0
jb 0x4546fc
cmp edx, 0xd7ff
jbe 0x454708
cmp edx, 0xe000
jae 0x454708
xor eax, eax
jmp 0x45470d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4545e3
jmp 0x45591b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x454a53
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x45591b
jmp 0x454750
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451737
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x454850
cmp ebx, 0xc0
jb 0x454850
test bl, 0x20
jne 0x454799
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45484d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4547c0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x454846
test bl, 8
jne 0x4547e3
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 0x454846
test bl, 4
jne 0x454812
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 0x454846
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x454872
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c2]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454a0d
jmp 0x4548a0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45499e
cmp ebx, 0xc0
jb 0x45499e
test bl, 0x20
jne 0x4548d5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x454996
test bl, 0x10
jne 0x4548fa
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 0x454996
test bl, 8
jne 0x454928
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 0x454996
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x454962
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 0x454996
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4549c0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx ecx, byte [eax*8 + 0x5292c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x529148], eax
je 0x454a06
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 0x4548a0
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x454a3a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x454a3a
cmp eax, dword [ebp + 0x84]
jbe 0x454a3a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x454750
jmp 0x45591b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x45551f
cmp eax, 0xf
ja case.0x457a67.9
jmp dword [eax*4 + 0x45c6f4]
mov ebx, 1
cmp ecx, ebx
jl 0x455922
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x451737
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x454ab7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045e450
add esp, 0x14
test eax, eax
jne case.0x455646.14
jmp 0x454adb
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x454adb
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x454adb
cmp edx, 1
je case.0x455646.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x455646.14
cmp dword [ebp + 0x88], 0
je 0x454b16
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x454b16
cmp dword [ebp + 0x18], 0
jne 0x454b16
cmp dword [edi], 2
jne 0x454b16
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x454b16
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x454b32
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454b32
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x454b21
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454a82
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x453a0d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x454b88
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454b88
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x454b70
inc edi
cmp edi, dword [esi + 0x90]
jle 0x454b54
jmp 0x45591b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x44f4bb
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x45591b
mov ebx, 1
cmp ecx, ebx
jl 0x455922
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x454cac
test dl, 0x20
jne 0x454bfa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x454ca9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x454c21
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x454ca7
test dl, 8
jne 0x454c44
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 0x454ca7
test dl, 4
jne 0x454c73
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 0x454ca7
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 0x454cd0
je 0x454cbd
cmp edx, 0xa
je 0x454cf1
lea eax, [edx - 0xb]
jmp 0x454cde
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454cf1
cmp byte [eax], 0xa
jne 0x454cf1
inc eax
mov dword [esi + 8], eax
jmp 0x454cf1
cmp edx, 0x85
je 0x454ce7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x455646.14
cmp dword [ebp + 0x68], 0
jne case.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454bc0
jmp 0x45591b
mov ebx, 1
cmp ecx, ebx
jl 0x455922
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x454dfc
test dl, 0x20
jne 0x454d4a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x454df9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x454d71
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x454df7
test dl, 8
jne 0x454d94
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 0x454df7
test dl, 4
jne 0x454dc3
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 0x454df7
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 0x454e2e
je case.0x455646.14
cmp edx, 0xa0
ja 0x454e26
je case.0x455646.14
cmp edx, 9
je case.0x455646.14
cmp edx, 0x20
jmp 0x454e5e
cmp edx, 0x1680
jmp 0x454e5e
cmp edx, 0x205f
ja 0x454e58
je case.0x455646.14
cmp edx, 0x2000
jb 0x454e64
cmp edx, 0x200a
jbe case.0x455646.14
cmp edx, 0x202f
jmp 0x454e5e
cmp edx, 0x3000
je case.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454d10
jmp 0x45591b
mov ebx, 1
cmp ecx, ebx
jl 0x455922
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x454f6f
test dl, 0x20
jne 0x454ebd
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x454f6c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x454ee4
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x454f6a
test dl, 8
jne 0x454f07
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 0x454f6a
test dl, 4
jne 0x454f36
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 0x454f6a
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 0x454f95
je 0x454fc7
cmp edx, 0xa0
ja 0x454f8d
je 0x454fc7
cmp edx, 9
je 0x454fc7
cmp edx, 0x20
jmp 0x454fc1
cmp edx, 0x1680
jmp 0x454fc1
cmp edx, 0x205f
ja 0x454fbb
je 0x454fc7
cmp edx, 0x2000
jb case.0x455646.14
cmp edx, 0x200a
jbe 0x454fc7
cmp edx, 0x202f
jmp 0x454fc1
cmp edx, 0x3000
jne case.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454e83
jmp 0x45591b
mov ebx, 1
cmp ecx, ebx
jl 0x455922
jmp 0x454ff0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4550dc
test dl, 0x20
jne 0x45502a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4550d9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x455051
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4550d7
test dl, 8
jne 0x455074
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 0x4550d7
test dl, 4
jne 0x4550a3
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 0x4550d7
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 0x4550f4
je case.0x455646.14
cmp edx, 0xa
jb 0x455108
cmp edx, 0xd
jmp 0x455102
cmp edx, 0x2028
jb 0x455108
cmp edx, 0x2029
jbe case.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454ff0
jmp 0x45591b
mov ebx, 1
cmp ecx, ebx
jl 0x455922
jmp 0x455130
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45521c
test dl, 0x20
jne 0x45516a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x455219
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x455191
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x455217
test dl, 8
jne 0x4551b4
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 0x455217
test dl, 4
jne 0x4551e3
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 0x455217
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 0x45522e
je 0x45523d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x455237
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x455130
jmp 0x45591b
mov ebx, 1
cmp ecx, ebx
jl 0x455922
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x451737
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45534c
test dl, 0x20
jne 0x45529a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x455349
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4552c1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x455347
test dl, 8
jne 0x4552e4
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 0x455347
test dl, 4
jne 0x455313
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 0x455347
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 0x455361
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x455646.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x455260
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x453a0d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x455646.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x455646.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x455380
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x453a0d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4553f3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x455646.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x455418
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x455418
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x455400
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4553d0
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x453a0d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x455646.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x455646.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x455433
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x453a0d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4554a3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x455646.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4554c8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4554c8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4554b0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x455480
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x453a0d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x455646.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x455646.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4554e3
jmp 0x45591b
cmp eax, 0xf
ja case.0x457a67.9
jmp dword [eax*4 + 0x45c734]
mov ebx, 1
cmp ecx, ebx
jl 0x455922
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x451737
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x455570
push 0
push edi
push eax
push edx
push ecx
call fcn.0045e450
add esp, 0x14
test eax, eax
jne case.0x455646.14
jmp 0x455594
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x455594
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x455594
cmp edx, 1
je case.0x455646.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x455646.14
cmp dword [ebp + 0x88], 0
je 0x4555cf
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4555cf
cmp dword [ebp + 0x18], 0
jne 0x4555cf
cmp dword [edi], 2
jne 0x4555cf
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4555cf
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x455540
jmp 0x45591b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x454ba6
cmp dword [ebp + 0x88], ebx
je case.0x455646.14
cmp edx, dword [ebp + 0x84]
jbe case.0x455646.14
jmp 0x44f612
mov edx, 1
cmp ecx, edx
jl 0x45591b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x453a0d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x455646.14
movzx eax, byte [eax + 0x45c784]
jmp dword [eax*4 + 0x45c774]
cmp ecx, dword [ebp + 0x78]
jae case.0x455646.10
cmp byte [ecx], 0xa
jne case.0x455646.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x455646.10
cmp dword [ebp + 0x68], ebx
jne case.0x455646.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x455620
jmp 0x45591b
mov edx, 1
cmp ecx, edx
jl 0x45591b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x455646.14
cmp ecx, 0x20
je case.0x455646.14
cmp ecx, 0xa0
je case.0x455646.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x455683
jmp 0x45591b
mov edx, 1
cmp ecx, edx
jl 0x45591b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x4556f9
cmp ecx, 0x20
je 0x4556f9
cmp ecx, 0xa0
jne case.0x455646.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4556d0
jmp 0x45591b
mov edx, 1
cmp ecx, edx
jl 0x45591b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x455741
cmp ecx, 0xd
jle case.0x455646.14
cmp ecx, 0x85
je case.0x455646.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x455714
jmp 0x45591b
mov edx, 1
cmp ecx, edx
jl 0x45591b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x455646.14
cmp ecx, 0xd
jle 0x45578d
cmp ecx, 0x85
jne case.0x455646.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x455760
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
jmp 0x4557b0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x455646.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4557b0
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x455646.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4557f0
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x455646.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x455830
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x455646.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x455870
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
jmp 0x4558b0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x455646.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4558b0
jmp 0x45591b
mov edi, 1
cmp ecx, edi
jl 0x455922
jmp 0x4558f0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x453a0d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x455646.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4558f0
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x44e6ba
cmp dword [esp + 0x84], 0
je 0x455982
mov eax, dword [esi + 0x60]
test eax, eax
js 0x455965
cmp eax, 0xa
ja case.0x457a67.9
jmp dword [eax*4 + 0x45c800]
mov esi, dword [esi]
test esi, esi
je case.default.0x457f34
mov edi, 0xfffffff2
jmp 0x457f20
cmp dword [esi + 0x7c], 0x16
je 0x45bb53
test edx, edx
jne 0x45bb3e
mov dword [esi + 0x84], ecx
jmp 0x458db5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4569bb
cmp eax, 0xa
ja case.0x457a67.9
jmp dword [eax*4 + 0x45c82c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4569a8
mov ebx, dword [esp + 0x8c]
jmp 0x4559c0
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x455a2b
movzx ecx, byte [edx]
test ebx, ebx
je 0x455a0e
cmp ecx, 0xc0
jb 0x455a0e
test cl, 0x20
jne 0x4559e8
mov eax, 2
jmp 0x455a0e
test cl, 0x10
jne 0x4559f4
mov eax, 3
jmp 0x455a0e
test cl, 8
jne 0x455a00
mov eax, 4
jmp 0x455a0e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4569a8
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4559c0
jmp 0x4569a8
cmp dword [ebp + 0x88], 0
je 0x4569a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4569a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4569a8
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x457f20
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4569a8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x455bee
movzx ebx, byte [edi]
test edx, edx
je 0x455b6c
cmp ebx, 0xc0
jb 0x455b6c
test bl, 0x20
jne 0x455ace
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x455b64
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x455aed
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x455b64
and eax, 0x3f
test bl, 8
jne 0x455b0d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x455b64
test bl, 4
jne 0x455b36
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 0x455b64
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x455b8e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
cmp eax, 9
je 0x455bb3
cmp eax, 5
je 0x455bb3
cmp eax, 8
je 0x455bb3
xor eax, eax
jmp 0x455bb8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4569a8
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 0x455a90
jmp 0x4569a8
cmp dword [ebp + 0x88], 0
je 0x4569a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4569a8
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4569a8
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edi, 0xfffffff4
jmp 0x457f20
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4569a8
jmp 0x455c50
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x455dd2
movzx ebx, byte [edi]
test edx, edx
je 0x455d53
cmp ebx, 0xc0
jb 0x455d53
test bl, 0x20
jne 0x455c9a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x455d4b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x455cc2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x455d4b
and eax, 0x3f
test bl, 8
jne 0x455ce8
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 0x455d4b
test bl, 4
jne 0x455d17
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 0x455d4b
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x455d75
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4569a8
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 0x455c50
jmp 0x4569a8
cmp dword [ebp + 0x88], 0
je 0x4569a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4569a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x455c13
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4569a8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x455dd2
movzx ebx, byte [edi]
test edx, edx
je 0x455f1f
cmp ebx, 0xc0
jb 0x455f1f
test bl, 0x20
jne 0x455e66
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x455f17
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x455e8e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x455f17
and eax, 0x3f
test bl, 8
jne 0x455eb4
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 0x455f17
test bl, 4
jne 0x455ee3
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 0x455f17
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x455f41
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4569a8
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 0x455e20
jmp 0x4569a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4569a8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x455dd2
movzx ebx, byte [edi]
test edx, edx
je 0x4560b3
cmp ebx, 0xc0
jb 0x4560b3
test bl, 0x20
jne 0x455ffa
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4560ab
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x456022
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4560ab
and eax, 0x3f
test bl, 8
jne 0x456048
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 0x4560ab
test bl, 4
jne 0x456077
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 0x4560ab
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4560d5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4569a8
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 0x455fb0
jmp 0x4569a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4569a8
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x455bee
movzx ebx, byte [edi]
test edx, edx
je 0x456223
cmp ebx, 0xc0
jb 0x456223
test bl, 0x20
jne 0x456182
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45621b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4561a4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45621b
and eax, 0x3f
test bl, 8
jne 0x4561c4
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45621b
test bl, 4
jne 0x4561ed
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 0x45621b
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x456245
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x45626c
cmp eax, 3
je 0x45626c
xor eax, eax
jmp 0x456271
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4569a8
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 0x456144
jmp 0x4569a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4569a8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x455dd2
movzx ebx, byte [edi]
test edx, edx
je 0x4563cd
cmp ebx, 0xc0
jb 0x4563cd
test bl, 0x20
jne 0x456312
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x4563cd
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45633a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x4563c3
and eax, 0x3f
test bl, 8
jne 0x456360
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 0x4563c3
test bl, 4
jne 0x45638f
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 0x4563c3
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 0x456410
je case.0x456430.8192
cmp ebx, 0x85
ja 0x4563fc
je case.0x456430.8192
cmp ebx, 9
jb case.0x456430.8203
cmp ebx, 0xd
jbe case.0x456430.8192
cmp ebx, 0x20
jmp 0x456445
cmp ebx, 0xa0
je case.0x456430.8192
cmp ebx, 0x1680
jmp 0x456445
cmp ebx, 0x202f
ja 0x456437
je case.0x456430.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x456430.8203
movzx eax, byte [eax + 0x45c860]
jmp dword [eax*4 + 0x45c858]
cmp ebx, 0x205f
je case.0x456430.8192
cmp ebx, 0x3000
je case.0x456430.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x456469
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
cmp dword [eax*4 + 0x5290d0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4569a8
mov edx, dword [esp + 0x8c]
jmp 0x4564a4
cmp dword [esi + 0x68], 0
jne 0x4569a8
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 0x4562c0
jmp 0x4569a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4569a8
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x455dd2
movzx ebx, byte [edi]
test edx, edx
je 0x4565f3
cmp ebx, 0xc0
jb 0x4565f3
test bl, 0x20
jne 0x45653a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4565eb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x456562
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4565eb
and eax, 0x3f
test bl, 8
jne 0x456588
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 0x4565eb
test bl, 4
jne 0x4565b7
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 0x4565eb
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 + 0x52a940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x456616
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x456642
cmp eax, 3
je 0x456642
cmp ebx, 0x5f
je 0x456642
xor eax, eax
jmp 0x456647
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4569a8
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 0x4564f0
jmp 0x4569a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4569a8
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4567df
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x456781
cmp edx, 0xc0
jb 0x456781
test dl, 0x20
jne 0x4566e4
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x456779
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x456703
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x456779
and eax, 0x3f
test dl, 8
jne 0x456723
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x456779
test dl, 4
jne 0x45674c
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 0x456779
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 + 0x529180]
lea eax, [eax*4 + 0x529180]
cmp edx, ecx
jb 0x4567a3
lea eax, [eax + 4]
cmp edx, ecx
je 0x4567d3
mov ecx, dword [eax]
cmp edx, ecx
jae 0x456796
cmp dword [esi + 0x68], 0
je 0x4569a8
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 0x4566a0
jmp 0x4569a8
cmp dword [esi + 0x68], 0
jne 0x4569a8
jmp 0x4567ad
cmp dword [ebp + 0x88], 0
je 0x4569a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4569a8
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x4569a8
jmp 0x44f626
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4569a8
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x456980
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x456937
cmp edx, 0xc0
jb 0x456937
test dl, 0x20
jne 0x45686d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x456937
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x456897
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 0x456937
test dl, 8
jne 0x4568c3
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 0x456937
test dl, 4
jne 0x4568fb
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 0x456937
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 0x456962
cmp edx, 0x40
je 0x456962
cmp edx, 0x60
je 0x456962
cmp edx, 0xa0
jb 0x456956
cmp edx, 0xd7ff
jbe 0x456962
cmp edx, 0xe000
jae 0x456962
xor ecx, ecx
jmp 0x456967
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x4569a8
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x456821
jmp 0x4569a8
cmp dword [ebp + 0x88], 0
je 0x4569a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4569a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
je 0x45ae5c
jmp 0x44e6ba
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x456d57
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x456d08
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x456ce0
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x456ae0
cmp ebx, 0xc0
jb 0x456ae0
test bl, 0x20
jne 0x456a29
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x456add
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x456a50
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x456ad6
test bl, 8
jne 0x456a73
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 0x456ad6
test bl, 4
jne 0x456aa2
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 0x456ad6
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x456b02
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c2]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x456c9d
jmp 0x456b30
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x456c2e
cmp ebx, 0xc0
jb 0x456c2e
test bl, 0x20
jne 0x456b65
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x456c26
test bl, 0x10
jne 0x456b8a
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 0x456c26
test bl, 8
jne 0x456bb8
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 0x456c26
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x456bf2
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 0x456c26
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x456c50
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx ecx, byte [eax*8 + 0x5292c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x529148], eax
je 0x456c96
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 0x456b30
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x456cca
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x456cca
cmp eax, dword [ebp + 0x84]
jbe 0x456cca
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x4569e0
jmp 0x456d08
cmp dword [ebp + 0x88], 0
je 0x456d08
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x456d08
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
cmp dword [esp + 0x80], 0
jne 0x44e6ba
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c285
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c27b
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
add eax, 0xfffffffa
test edx, edx
je 0x457a5e
cmp eax, 0xf
ja case.0x457a67.9
jmp dword [eax*4 + 0x45c88c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x456e46
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x456db9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045e450
add esp, 0x14
test eax, eax
jne 0x457a4b
jmp 0x456ddd
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x456ddd
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x456ddd
cmp edx, 1
je 0x457a4b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x457a4b
cmp dword [ebp + 0x88], 0
je 0x456e18
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x456e18
cmp dword [ebp + 0x18], 0
jne 0x456e18
cmp dword [edi], 2
jne 0x456e18
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x456e18
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x456e34
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x456e34
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x456e23
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x456d84
jmp 0x457a4b
cmp dword [ebp + 0x88], 0
je 0x457a4b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x457a4b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x457a4b
jmp 0x44f626
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x456ed8
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x457a4b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x456e46
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x456eca
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x456eca
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x456eb2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x456ea0
jmp 0x457a4b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x457a4b
cmp eax, dword [ebp + 0x84]
jbe 0x457a4b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x457a4b
jmp 0x455c19
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 0x456f5f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x457a4b
cmp edx, dword [ebp + 0x84]
jbe 0x457a4b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x457a4b
jmp 0x44f626
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x457a4b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x456e46
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45708a
test dl, 0x20
jne 0x456fbe
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45708a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x456fe8
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 0x457088
test dl, 8
jne 0x457014
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 0x457088
test dl, 4
jne 0x45704c
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 0x457088
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 0x4570a6
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x457a4b
cmp byte [eax], 0xa
jne 0x4570e0
inc eax
jmp 0x4570dd
cmp edx, 0xa
je 0x4570db
cmp dword [ebp + 0x68], 0
jne 0x457a4b
cmp edx, 0xb
je 0x4570db
cmp edx, 0xc
je 0x4570db
cmp edx, 0x85
je 0x4570db
cmp edx, 0x2028
je 0x4570db
cmp edx, 0x2029
jne 0x457a4b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x456f80
jmp 0x457a4b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45725a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4571d8
test dl, 0x20
jne 0x45713a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4571d0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x457159
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4571d0
and eax, 0x3f
test dl, 8
jne 0x457179
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4571d0
test dl, 4
jne 0x4571a2
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 0x4571d0
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 0x4571fe
je 0x45722c
cmp edx, 0xa0
ja 0x4571f6
je 0x45722c
cmp edx, 9
je 0x45722c
cmp edx, 0x20
jmp 0x457226
cmp edx, 0x1680
jmp 0x457226
cmp edx, 0x205f
ja 0x457220
je 0x45722c
cmp edx, 0x2000
jb 0x457228
cmp edx, 0x200a
jbe 0x45722c
cmp edx, 0x202f
jmp 0x457226
cmp edx, 0x3000
je 0x45722c
xor edx, edx
jmp 0x457231
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x457a4b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x457104
jmp 0x457a4b
cmp dword [ebp + 0x88], 0
je 0x457a4b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x457a4b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x457a4b
jmp 0x44f626
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45725a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x457370
test dl, 0x20
jne 0x4572d2
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x457368
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4572f1
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x457368
and eax, 0x3f
test dl, 8
jne 0x457311
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x457368
test dl, 4
jne 0x45733a
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 0x457368
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 0x4573af
je 0x4573ba
cmp edx, 0xa
jb 0x457384
cmp edx, 0xd
jbe 0x4573ba
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x457a4b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4572a0
jmp 0x457a4b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x457384
mov edx, 1
jmp 0x457386
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45725a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4574a7
test dl, 0x20
jne 0x457409
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45749f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x457428
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45749f
and eax, 0x3f
test dl, 8
jne 0x457448
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45749f
test dl, 4
jne 0x457471
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 0x45749f
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 0x4574bc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x457a4b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4573d3
jmp 0x457a4b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
jmp 0x4574f0
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45725a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4575c4
test dl, 0x20
jne 0x457526
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4575bc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x457545
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4575bc
and eax, 0x3f
test dl, 8
jne 0x457565
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4575bc
test dl, 4
jne 0x45758e
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 0x4575bc
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 0x457a4b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x457a4b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4574f0
jmp 0x457a4b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
jmp 0x457610
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45725a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4576e4
test dl, 0x20
jne 0x457646
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4576dc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x457665
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4576dc
and eax, 0x3f
test dl, 8
jne 0x457685
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4576dc
test dl, 4
jne 0x4576ae
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 0x4576dc
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 0x4576f9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x457a4b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x457610
jmp 0x457a4b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45725a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4577f7
test dl, 0x20
jne 0x457759
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4577ef
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x457778
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4577ef
and eax, 0x3f
test dl, 8
jne 0x457798
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4577ef
test dl, 4
jne 0x4577c1
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 0x4577ef
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 0x457a4b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x457a4b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x457723
jmp 0x457a4b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45725a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x457914
test dl, 0x20
jne 0x457876
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45790c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x457895
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45790c
and eax, 0x3f
test dl, 8
jne 0x4578b5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45790c
test dl, 4
jne 0x4578de
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 0x45790c
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 0x457929
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x457a4b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x457840
jmp 0x457a4b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457a4b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45725a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x457a27
test dl, 0x20
jne 0x457989
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x457a1f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4579a8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x457a1f
and eax, 0x3f
test dl, 8
jne 0x4579c8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x457a1f
test dl, 4
jne 0x4579f1
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 0x457a1f
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 0x457a4b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x457a4b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x457953
cmp dword [esp + 0x80], 0
je 0x45a318
jmp 0x44e6ba
cmp eax, 0xf
ja case.0x457a67.9
jmp dword [eax*4 + 0x45c8cc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x457ef7
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x457b24
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x457ab0
push 0
push edi
push eax
push edx
push ecx
call fcn.0045e450
add esp, 0x14
test eax, eax
jne 0x457ef7
jmp 0x457ad4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x457ad4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x457ad4
cmp edx, 1
je 0x457ef7
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x457ef7
cmp dword [ebp + 0x88], 0
je 0x457b0f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x457b0f
cmp dword [ebp + 0x18], 0
jne 0x457b0f
cmp dword [edi], 2
jne 0x457b0f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x457b0f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x457a80
jmp 0x457ef7
cmp dword [ebp + 0x88], 0
je 0x457ef7
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x457ef7
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x457ef7
jmp 0x44f626
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 0x457ba8
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x457ef7
cmp edx, dword [ebp + 0x84]
jbe 0x457ef7
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x457ef7
jmp 0x44f626
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x457ef7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x457ef7
jmp 0x457bd0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x457b24
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x457bfb
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x457ef7
cmp byte [eax], 0xa
jne 0x457c25
inc eax
jmp 0x457c22
cmp eax, 0xa
je 0x457c1f
cmp dword [ebp + 0x68], 0
jne 0x457ef7
cmp eax, 0xb
je 0x457c1f
cmp eax, 0xc
je 0x457c1f
cmp eax, 0x85
jne 0x457ef7
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x457bd0
jmp 0x457ef7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x457ef7
jmp 0x457c50
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x457b24
mov al, byte [ecx]
cmp al, 9
je 0x457ef7
cmp al, 0x20
je 0x457ef7
cmp al, 0xa0
je 0x457ef7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x457c50
jmp 0x457ef7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x457ef7
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x457b24
mov al, byte [ecx]
cmp al, 9
je 0x457cbe
cmp al, 0x20
je 0x457cbe
cmp al, 0xa0
jne 0x457ef7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x457ca0
jmp 0x457ef7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x457ef7
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x457b24
mov al, byte [ecx]
cmp al, 0xa
jb 0x457d06
cmp al, 0xd
jbe 0x457ef7
cmp al, 0x85
je 0x457ef7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x457ce4
jmp 0x457ef7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x457ef7
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x457b24
mov al, byte [ecx]
cmp al, 0xa
jb 0x457ef7
cmp al, 0xd
jbe 0x457d52
cmp al, 0x85
jne 0x457ef7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x457d30
jmp 0x457ef7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x457ef7
jmp 0x457d80
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x457b24
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x457ef7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x457d80
jmp 0x457ef7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x457ef7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x457b24
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x457ef7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x457dc2
jmp 0x457ef7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x457ef7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x457b24
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x457ef7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x457e04
jmp 0x457ef7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x457ef7
jmp 0x457e50
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x457b24
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x457ef7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x457e50
jmp 0x457ef7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x457ef7
jmp 0x457e90
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x457b24
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x457ef7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x457e90
jmp 0x457ef7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x457ef7
jmp 0x457ed0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x457b24
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x457ef7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x457ed0
cmp dword [esp + 0x80], 0
je 0x458f5a
jmp 0x44e6ba
mov esi, dword [esi]
test esi, esi
je 0x45c3d1
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.0x457f34
jmp dword [eax*4 + 0x45c90c]
cmp edi, 0xfffffc1b
je 0x458006
cmp edi, 0xfffffc20
jne 0x457f83
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.0x457f34.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x457f7f
cmp byte [ecx], 0x77
jne case.0x457f34.49
xor edi, edi
jmp 0x457f8b
test edi, edi
jne case.0x457f34.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 0x458006
cmp dword [esi + 0x9c], 0x88
jb 0x457fd1
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45bd5a
push 0x134
call dword [0xa5ce74]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45bd50
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x4583fc
mov edx, dword [esp + 0x8c]
jmp 0x457f24
cmp edi, 0xfffffc20
jne 0x4580c3
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 0x458111
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45808e
cmp byte [ecx], 0x77
jne 0x458111
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 0x458127
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f24
test edi, edi
je 0x45808e
cmp edi, 0xfffffc1b
jne 0x458111
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x458103
cmp al, 0x77
jne 0x4580f4
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 0x4580e0
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 0x4583fc
mov edx, dword [esp + 0x8c]
jmp 0x457f24
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x458179
cmp eax, 0x81
je 0x458179
cmp dword [ebp + 0x6c], 0
jne 0x458183
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 0x458183
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x528fb8]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x44e640
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 0x45bd7c
push 0x134
call dword [0xa5ce74]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45bd72
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
cmp edi, 1
jne 0x458243
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4581e0
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x4581f3
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 0x458229
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 0x458210
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x528fb8]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x44eaee.145
test edi, edi
je 0x458253
cmp edi, 0xfffffc20
jne case.0x457f34.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x458269
movzx eax, byte [edx + 0x528fb8]
jmp 0x45826c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x458289
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x44e6c1
cmp dword [esi + 0x9c], 0x8c
jne 0x44e640
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bd9e
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bd94
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
cmp edi, 1
je 0x458382
cmp edi, 0xfffffc19
je 0x458382
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x45832a
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.0x457f34.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x458332
cmp byte [ecx], 0x77
jmp 0x45832c
test edi, edi
jne case.0x457f34.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 0x458388
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bdb7
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bdad
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x4583a1
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f24
cmp dword [esi + 0x58], 0
je 0x45b9de
mov esi, dword [esi]
test esi, esi
je 0x45c376
mov edi, 1
jmp 0x457f24
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x45846d
je 0x458406
cmp edi, 0xfffffc19
je 0x458ca3
cmp edi, 0xfffffc1b
jle case.0x457f34.49
cmp edi, 0xfffffc1f
jle 0x45842e
mov esi, dword [esi]
test esi, esi
jne 0x457f24
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 0x45842e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x458480
cmp byte [ecx], 0x77
je 0x458480
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 0x458431
cmp dword [esi + 0x58], 0
je 0x4586b7
mov esi, dword [esi]
test esi, esi
je 0x45c376
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x457f24
mov eax, edi
sub eax, 0
je 0x458480
dec eax
je 0x458ca3
jmp case.0x457f34.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 0x458448
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bdcd
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bdc3
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
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 0x45ba0c
cmp edi, 0xfffffc19
je 0x45ba0c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x458539
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x44f4bb
push ecx
call dword [0xa5ce70]
add esp, 4
jmp 0x44f4bb
test edi, edi
je 0x458563
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x458554
push ecx
call dword [0xa5ce70]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x4583fc
jmp 0x457f19
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 0x4585c9
cmp dword [esi + 0x58], 0
je 0x458594
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45be13
push 0x134
call dword [0xa5ce74]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45be09
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x458519
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x458623
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45be61
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45be57
mov esi, dword [esi]
test esi, esi
je 0x45c32b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x457f24
cmp al, 0x88
jb 0x45bb64
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45be83
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45be79
mov esi, dword [esi]
test esi, esi
je 0x45c32b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x457f24
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x45c383
mov edi, 0xfffffc1b
jmp 0x457f24
test edi, edi
jne case.0x457f34.49
mov edx, dword [esi + 0x2c]
jmp 0x4586a0
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 0x4586a0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x44e6ba
test edi, edi
je 0x44ff34
jmp case.0x457f34.49
test edi, edi
je 0x45866f
jmp case.0x457f34.49
cmp edi, 0xfffffc1b
jne 0x4586eb
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x4586ed
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4594db
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bea5
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45be9b
mov esi, dword [esi]
test esi, esi
je 0x45c32b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x457f24
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458760
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0045cb60
add esp, 0x14
test eax, eax
jns 0x4587c7
cmp eax, 0xfffffffe
jne 0x458789
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x45a2a1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45a2a1
cmp eax, dword [ebp + 0x84]
jbe 0x45a2a1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4514de
jmp 0x45a2a1
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45beca
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bec0
mov esi, dword [esi]
test esi, esi
je 0x45c32b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x457f24
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x455646.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bee3
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bed9
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458887
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a386
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 0x45a2a1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45befc
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bef2
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x44f4bb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bf15
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bf0b
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458961
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a386
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x458991
cmp dword [esi + 0x94], ecx
je 0x458991
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f24
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bf2e
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bf24
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
dec dword [esi + 8]
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bf47
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bf3d
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458a41
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a386
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x45a2a1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bf60
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bf56
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
dec dword [esi + 8]
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bf79
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bf6f
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458b0e
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a386
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x458ca3
cmp dword [esi + 0x94], ecx
je 0x458ca3
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bf92
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bf88
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bfab
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bfa1
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458be5
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45a386
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x45a2a1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bfc1
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bfb7
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bfd7
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bfcd
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458cb4
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f24
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x458cfb
cmp dword [ebp + 0x88], 0
je 0x458ce3
cmp ecx, dword [ebp + 0x84]
jbe 0x458ce3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4514de
mov esi, dword [esi]
test esi, esi
je 0x45c338
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x457f24
cmp dword [esi + 0x7c], 0xc
jne 0x458d22
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x458d44
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045e450
add esp, 0x14
test eax, eax
jne 0x458d61
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.0x458d3d.15
jmp dword [eax*4 + 0x45ca18]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x458d22
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x458d22
cmp edi, 1
je 0x458d61
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x458d22
mov esi, dword [esi]
test esi, esi
je 0x45c338
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x457f24
cmp dword [ebp + 0x88], 0
je case.0x458d3d.13
cmp edx, dword [ebp + 0x78]
jb case.0x458d3d.13
cmp dword [ebp + 0x18], 0
jne case.0x458d3d.13
cmp dword [ebp + 0x1c], 2
jne case.0x458d3d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x458d3d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4514de
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45bfed
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bfe3
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x458dfd.14
movzx eax, byte [ecx + 0x45ca68]
jmp dword [eax*4 + 0x45ca58]
cmp edx, dword [ebp + 0x78]
jae case.0x458d3d.13
cmp byte [edx], 0xa
jne case.0x458d3d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x458d3d.13
cmp dword [ebp + 0x68], 0
je case.0x458d3d.13
jmp case.0x458dfd.14
cmp ecx, 9
je case.0x458dfd.14
cmp ecx, 0x20
je case.0x458dfd.14
cmp ecx, 0xa0
jmp 0x458efa
cmp ecx, 9
je case.0x458d3d.13
cmp ecx, 0x20
je case.0x458d3d.13
cmp ecx, 0xa0
je case.0x458d3d.13
jmp case.0x458dfd.14
cmp ecx, 0xa
jb case.0x458d3d.13
cmp ecx, 0xd
jbe case.0x458dfd.14
cmp ecx, 0x85
jmp 0x458efa
cmp ecx, 0xa
jb case.0x458dfd.14
cmp ecx, 0xd
jbe case.0x458d3d.13
cmp ecx, 0x85
je case.0x458d3d.13
jmp case.0x458dfd.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x458d3d.13
jmp case.0x458dfd.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x458efa
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x458d3d.13
jmp case.0x458dfd.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x458efa
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x458d3d.13
mov esi, dword [esi]
test esi, esi
je 0x45c338
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x457f24
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x458d3d.13
mov esi, dword [esi]
test esi, esi
je 0x45c338
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x457f24
mov esi, dword [esi]
test esi, esi
je case.default.0x457f34
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x457f24
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x458f5a
cmp eax, dword [esi + 0x30]
jbe 0x458f5a
cmp byte [eax], 0xa
jne 0x458f5a
cmp byte [eax - 1], 0xd
jne 0x458f5a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c003
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45bff9
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
cmp edi, 0xfffffc1a
jne 0x458ff1
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 0x458fe9
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 0x458fd0
jmp 0x459048
mov dword [esi + 8], eax
jmp 0x45906d
cmp edi, 0xfffffc20
jne 0x459025
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.0x457f34.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45902d
cmp byte [ecx], 0x77
jmp 0x459027
test edi, edi
jne case.0x457f34.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 0x459061
cmp dword [esi + 0x5c], 0
jne 0x4586b7
cmp dword [esi + 0x54], 0
jne 0x4586b7
jmp 0x45a2a1
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x459083
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45c045
push 0x134
call dword [0xa5ce74]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45c03b
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
mov esi, dword [esi]
test edi, edi
jne 0x4583f4
test esi, esi
je 0x45c39d
mov edi, 0xfffffc1c
jmp 0x457f24
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45c3b7
mov edi, 0xfffffc1e
jmp 0x457f24
cmp edi, 1
je 0x459103
cmp edi, 0xfffffc19
jne 0x45911d
cmp dword [ebp + 0xac], 0
jne 0x45911d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x458111
cmp edi, 0xfffffc1f
jne 0x458111
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x459152
test dl, dl
je 0x45914e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x459152
add eax, 2
add ecx, 2
test dl, dl
jne 0x459132
xor eax, eax
jmp 0x459157
sbb eax, eax
or eax, 1
test eax, eax
jne 0x458111
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45c3b7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x457f24
cmp edi, 1
je 0x45918d
cmp edi, 0xfffffc19
jne case.0x457f34.51
cmp dword [ebp + 0xac], 0
jne case.0x457f34.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x4583f4
test esi, esi
je 0x45c390
mov edi, 0xfffffc1d
jmp 0x457f24
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45c3c4
mov edi, 0xfffffc1f
jmp 0x457f24
cmp edi, 1
je 0x4591f0
cmp edi, 0xfffffc19
jne case.0x457f34.54
cmp dword [ebp + 0xac], 0
jne case.0x457f34.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45c3aa
mov edi, 0xfffffc20
jmp 0x457f24
cmp edi, 0xfffffc1a
jne 0x459291
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 0x459289
mov edx, dword [esi + 0xc]
jmp 0x459270
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 0x459270
jmp 0x4592f8
mov dword [esi + 8], eax
jmp 0x44f1f2
cmp edi, 0xfffffc20
jne 0x4592c5
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.0x457f34.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4592cd
cmp byte [ecx], 0x77
jmp 0x4592c7
test edi, edi
jne case.0x457f34.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 0x44f1f2
cmp dword [esi + 0x5c], 0
jne 0x459338
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 0x44e6b6
cmp dword [esi + 0x5c], 0
jne 0x44e6b6
jmp 0x45a2a1
cmp edi, 1
jne 0x4593f4
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x459371
cmp al, 0x77
jne 0x45a2a1
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 0x459371
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 0x44e6b6
cmp ecx, dword [esi + 0x38]
je 0x44e6b6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x45948d
test ecx, ecx
jne 0x45c0ae
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c0a4
mov esi, dword [esi]
test esi, esi
je 0x45c32b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x457f24
cmp edi, 0xfffffc20
jne 0x459428
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.0x457f34.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x459430
cmp byte [ecx], 0x77
jmp 0x45942a
test edi, edi
jne case.0x457f34.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 0x459360
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c089
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c07f
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test ecx, ecx
jne 0x45c0d3
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c0c9
mov esi, dword [esi]
test esi, esi
je 0x45c32b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x457f24
test edi, edi
je 0x45bb64
jmp case.0x457f34.49
test edi, edi
jne case.0x457f34.49
add dword [esi + 0xc], 3
jmp 0x44e640
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459509
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45960a
cmp ebx, 0xc0
jb 0x45960a
test bl, 0x20
jne 0x45954b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459607
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459575
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45960a
mov edx, dword [esi + 8]
test bl, 8
jne 0x45959b
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 0x4595fe
test bl, 4
jne 0x4595ca
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 0x4595fe
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.0045dde0
add esp, 0xc
test eax, eax
je 0x44f4bb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c0f5
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c0eb
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x45a2a1
cmp dword [esp + 0x8c], edi
je 0x459691
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x459691
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x459685
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c10e
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c104
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4596eb
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x4597e0
test bl, 0x20
jne 0x459725
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4597dd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45974f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4597e0
mov edx, dword [esi + 8]
test bl, 8
jne 0x459778
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 0x4597db
test bl, 4
jne 0x4597a7
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 0x4597db
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 0x4597f6
cmp dword [esi + 0x9c], 0x6e
jne 0x459813
jmp 0x44f4bb
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 0x44f4bb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c127
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c11d
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x44f4bb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45987c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x459870
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c140
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c136
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4598d6
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
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 0x459945
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x459905
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45990a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4598f4
cmp edi, 0xfffffffc
je 0x459937
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x459942
cmp edi, 0xfffffffd
je 0x459937
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x459942
cmp edi, 0xfffffffe
je 0x459937
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x459942
cmp edi, 0xffffffff
je 0x459937
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x459942
mov eax, dword [esi + 0x88]
jmp 0x4599b0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4599f0
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4599f0
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x459977
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45997c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x459966
cmp edi, 0xfffffffc
je 0x4599ad
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4599f0
cmp edi, 0xfffffffd
je 0x4599ad
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4599f0
cmp edi, 0xfffffffe
je 0x4599ad
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4599f0
cmp edi, 0xffffffff
je 0x4599ad
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4599f0
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 0x45c159
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c14f
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
cmp dword [ebp + 0x88], 0
je case.0x455646.14
cmp ebx, dword [ebp + 0x78]
jb case.0x455646.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x455646.14
jmp 0x44f612
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x459a3c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x459a30
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c172
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c168
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459aa2
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x459ba2
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x459adc
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x459b9f
test dl, 0x10
jne 0x459afe
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 0x459ba2
mov ecx, dword [esi + 8]
test dl, 8
jne 0x459b2e
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 0x459b9f
test dl, 4
jne 0x459b64
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 0x459b9f
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 0x458d61
cmp dword [esi + 0x94], edx
je 0x458d61
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459be9
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4587f5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x45c00d
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x459c1c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x459c10
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c18b
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c181
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459c82
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x459d77
test bl, 0x20
jne 0x459cbc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459d74
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459ce6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459d77
mov edx, dword [esi + 8]
test bl, 8
jne 0x459d0f
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 0x459d72
test bl, 4
jne 0x459d3e
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 0x459d72
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 0x44f4bb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c1a4
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c19a
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x459de0
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x459dd4
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c1bd
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c1b3
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459e46
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x459e82
cmp dword [ebp + 0x88], 0
je 0x45a2a1
cmp ecx, dword [ebp + 0x84]
jbe 0x45a2a1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4514de
jmp 0x45a2a1
cmp dword [esi + 0x7c], 0xc
jne 0x459ed4
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x459eaf
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045e450
add esp, 0x14
test eax, eax
jne 0x45a2a1
jmp 0x459ed4
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x459ed4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x459ed4
cmp edi, 1
je 0x45a2a1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45a2a1
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x459fbc
test dl, 0x20
jne 0x459f07
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x459fb9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x459f2e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x459fb7
test dl, 8
jne 0x459f54
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 0x459fb7
test dl, 4
jne 0x459f83
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 0x459fb7
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.0x459fcb.15
jmp dword [eax*4 + 0x45cae4]
cmp dword [ebp + 0x88], 0
je case.0x459fcb.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x459fcb.13
cmp dword [ebp + 0x18], 0
jne case.0x459fcb.13
cmp dword [ebp + 0x1c], 2
jne case.0x459fcb.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x459fcb.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x459fcb.13
jmp 0x4514de
cmp edx, 0xd
ja 0x45a04e
je 0x45a03b
cmp edx, 0xa
je case.0x459fcb.13
jbe 0x45a2a1
cmp edx, 0xc
jmp 0x45a068
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x459fcb.13
cmp byte [eax], 0xa
jne case.0x459fcb.13
inc eax
mov dword [esi + 8], eax
jmp case.0x459fcb.13
cmp edx, 0x85
je 0x45a06e
cmp edx, 0x2027
jbe 0x45a2a1
cmp edx, 0x2029
ja 0x45a2a1
cmp dword [ebp + 0x68], 0
je case.0x459fcb.13
jmp 0x45a2a1
cmp edx, 0x180e
ja 0x45a0ed
je 0x45a2a1
cmp edx, 0xa0
ja 0x45a0e5
je 0x45a2a1
cmp edx, 9
je 0x45a2a1
cmp edx, 0x20
je 0x45a2a1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a0d6
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4587f5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x45c00d
cmp edx, 0x1680
jmp 0x45a0a1
cmp edx, 0x205f
ja 0x45a117
je 0x45a2a1
cmp edx, 0x2000
jb case.0x459fcb.13
cmp edx, 0x200a
jbe 0x45a2a1
cmp edx, 0x202f
jmp 0x45a0a1
cmp edx, 0x3000
jmp 0x45a29b
cmp edx, 0x180e
ja 0x45a154
je case.0x459fcb.13
cmp edx, 0xa0
ja 0x45a14c
je case.0x459fcb.13
cmp edx, 9
je case.0x459fcb.13
cmp edx, 0x20
jmp 0x45a188
cmp edx, 0x1680
jmp 0x45a188
cmp edx, 0x205f
ja 0x45a182
je case.0x459fcb.13
cmp edx, 0x2000
jb 0x45a2a1
cmp edx, 0x200a
jbe case.0x459fcb.13
cmp edx, 0x202f
jmp 0x45a188
cmp edx, 0x3000
je case.0x459fcb.13
jmp 0x45a2a1
cmp edx, 0x85
ja 0x45a1b8
je 0x45a2a1
cmp edx, 0xa
jb case.0x459fcb.13
cmp edx, 0xd
jbe 0x45a2a1
jmp case.0x459fcb.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x459fcb.13
jmp 0x45a2a1
cmp edx, 0x85
ja 0x45a1e8
je case.0x459fcb.13
cmp edx, 0xa
jb 0x45a2a1
cmp edx, 0xd
jmp 0x45a1f1
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x459fcb.13
jmp 0x45a2a1
cmp edx, 0x100
jae case.0x459fcb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x459fcb.13
jmp 0x45a2a1
cmp edx, 0x100
jae 0x45a2a1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x45a29b
cmp edx, 0x100
jae case.0x459fcb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x459fcb.13
jmp 0x45a2a1
cmp edx, 0x100
jae 0x45a2a1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x45a29b
cmp edx, 0x100
jae case.0x459fcb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x459fcb.13
mov esi, dword [esi]
test esi, esi
je 0x45c338
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x457f24
cmp edx, 0x100
jae 0x45a2a1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x459fcb.13
mov esi, dword [esi]
test esi, esi
je 0x45c338
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x457f24
mov esi, dword [esi]
test esi, esi
je case.default.0x457f34
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x457f24
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45a2fc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45a2f0
cmp dword [esi + 0x7c], 0x11
jne 0x45a318
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45a318
cmp byte [eax], 0xa
jne 0x45a318
dec eax
cmp byte [eax], 0xd
jne 0x45a318
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c1d6
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c1cc
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a37e
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45a39e
cmp dword [ebp + 0x88], 0
je 0x458ca3
cmp eax, dword [ebp + 0x84]
jmp 0x45aaf9
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x45a3dd
cmp ecx, 0xc0
jb 0x45a3dd
test cl, 0x20
jne 0x45a3b9
inc eax
jmp 0x45a3da
test cl, 0x10
jne 0x45a3c3
add eax, 2
jmp 0x45a3da
test cl, 8
jne 0x45a3cd
add eax, 3
jmp 0x45a3da
test cl, 4
jne 0x45a3d7
add eax, 4
jmp 0x45a3da
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x45a3f4
mov esi, dword [esi]
test esi, esi
je 0x45c338
xor edi, edi
jmp 0x457f24
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a423
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4587f5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x45c00d
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a457
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45a551
cmp ebx, 0xc0
jb 0x45a551
test bl, 0x20
jne 0x45a499
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45a54e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a4c3
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45a551
mov edx, dword [esi + 8]
test bl, 8
jne 0x45a4e9
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 0x45a54c
test bl, 4
jne 0x45a518
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 0x45a54c
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45a573
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
cmp eax, 9
je 0x45a598
cmp eax, 5
je 0x45a598
cmp eax, 8
je 0x45a598
xor eax, eax
jmp 0x45a59d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44f4bb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c1ef
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c1e5
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a606
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45a6fc
cmp ebx, 0xc0
jb 0x45a6fc
test bl, 0x20
jne 0x45a648
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45a6f9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a670
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45a6fc
mov edx, dword [esi + 8]
test bl, 8
jne 0x45a696
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 0x45a6f9
test bl, 4
jne 0x45a6c5
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 0x45a6f9
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45a71e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44f4bb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c208
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c1fe
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a7a8
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45a89e
cmp ebx, 0xc0
jb 0x45a89e
test bl, 0x20
jne 0x45a7ea
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45a89b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a812
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45a89e
mov edx, dword [esi + 8]
test bl, 8
jne 0x45a838
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 0x45a89b
test bl, 4
jne 0x45a867
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 0x45a89b
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45a8c0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44f4bb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c221
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c217
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a943
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45aa39
cmp ebx, 0xc0
jb 0x45aa39
test bl, 0x20
jne 0x45a985
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45aa36
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a9ad
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45aa39
mov edx, dword [esi + 8]
test bl, 8
jne 0x45a9d3
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 0x45aa36
test bl, 4
jne 0x45aa02
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 0x45aa36
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45aa5b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44f4bb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c23a
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c230
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45aade
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45ab27
cmp dword [ebp + 0x88], 0
je 0x458ca3
cmp edi, dword [ebp + 0x84]
jbe 0x458ca3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x458ca3
mov esi, dword [esi]
test esi, esi
je 0x45c35c
mov edi, 0xfffffff4
jmp 0x457f24
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45ac15
cmp ebx, 0xc0
jb 0x45ac15
test bl, 0x20
jne 0x45ab5d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45ac12
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45ab87
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45ac15
mov edx, dword [esi + 8]
test bl, 8
jne 0x45abad
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 0x45ac10
test bl, 4
jne 0x45abdc
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 0x45ac10
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45ac37
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45adc8
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x45ad67
cmp ebx, 0xc0
jb 0x45ad67
test bl, 0x20
jne 0x45ac9b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45ad5f
test bl, 0x10
jne 0x45acc0
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 0x45ad5f
test bl, 8
jne 0x45acf1
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 0x45ad5f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45ad2b
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 0x45ad5f
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45ad89
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx ecx, byte [eax*8 + 0x5292c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x529148], eax
je 0x45adc8
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x45ac60
cmp dword [ebp + 0x88], 0
je 0x45adf5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45adf5
cmp eax, dword [ebp + 0x84]
jbe 0x45adf5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f626
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c253
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c249
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x45ae5c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45ae5c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45ae50
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44e640
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c26c
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c262
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x45aeb7
movzx ebx, byte [ecx]
jmp 0x45afa5
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45aecc
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45aec0
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x45afa5
test bl, 0x20
jne 0x45aeef
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x45af9d
test bl, 0x10
jne 0x45af0f
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 0x45af9d
test bl, 8
jne 0x45af38
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 0x45af9d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45af6d
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 0x45af9d
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45afc7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c2]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x44e640
dec edi
cmp dword [esp + 0x8c], 0
jne 0x45afff
movzx ebx, byte [edi]
jmp 0x45b0be
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x45b011
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x45b007
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x45b0be
test bl, 0x20
jne 0x45b031
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x45b0b6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45b04e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x45b0b6
and eax, 0x3f
test bl, 8
jne 0x45b069
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45b0b6
test bl, 4
jne 0x45b08d
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 0x45b0b6
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45b0e0
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx edx, byte [eax*8 + 0x5292c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x529148], eax
je 0x456d16
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x45afe0
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45b141
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45b23b
cmp ebx, 0xc0
jb 0x45b23b
test bl, 0x20
jne 0x45b183
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45b238
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45b1ad
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45b23b
mov edx, dword [esi + 8]
test bl, 8
jne 0x45b1d3
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 0x45b236
test bl, 4
jne 0x45b202
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 0x45b236
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 + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45b25d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x45b284
cmp eax, 3
je 0x45b284
xor eax, eax
jmp 0x45b289
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44f4bb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c29e
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c294
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45b2f2
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45b3f3
cmp ebx, 0xc0
jb 0x45b3f3
test bl, 0x20
jne 0x45b334
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45b3f0
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45b35e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45b3f3
mov edx, dword [esi + 8]
test bl, 8
jne 0x45b384
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 0x45b3e7
test bl, 4
jne 0x45b3b3
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 0x45b3e7
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 0x45b41e
cmp ebx, 0x40
je 0x45b41e
cmp ebx, 0x60
je 0x45b41e
cmp ebx, 0xa0
jb 0x45b412
cmp ebx, 0xd7ff
jbe 0x45b41e
cmp ebx, 0xe000
jae 0x45b41e
xor eax, eax
jmp 0x45b423
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44fe02
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c2b7
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c2ad
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45b48c
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45b58d
cmp ebx, 0xc0
jb 0x45b58d
test bl, 0x20
jne 0x45b4ce
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45b58a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45b4f8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45b58d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45b51e
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 0x45b581
test bl, 4
jne 0x45b54d
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 0x45b581
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 0x45b5d0
je case.0x45b5f0.8192
cmp ebx, 0x85
ja 0x45b5bc
je case.0x45b5f0.8192
cmp ebx, 9
jb case.0x45b5f0.8203
cmp ebx, 0xd
jbe case.0x45b5f0.8192
cmp ebx, 0x20
jmp 0x45b605
cmp ebx, 0xa0
je case.0x45b5f0.8192
cmp ebx, 0x1680
jmp 0x45b605
cmp ebx, 0x202f
ja 0x45b5f7
je case.0x45b5f0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x45b5f0.8203
movzx eax, byte [eax + 0x45cb2c]
jmp dword [eax*4 + 0x45cb24]
cmp ebx, 0x205f
je case.0x45b5f0.8192
cmp ebx, 0x3000
je case.0x45b5f0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52a940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45b629
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
cmp dword [eax*4 + 0x5290d0], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x45b65c
jmp 0x44f4bb
cmp dword [esi + 0x68], 0
jne 0x44fe02
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c2d0
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c2c6
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45b6bc
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45b7b2
cmp ebx, 0xc0
jb 0x45b7b2
test bl, 0x20
jne 0x45b6fe
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45b7af
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45b726
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45b7b2
mov edx, dword [esi + 8]
test bl, 8
jne 0x45b74c
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 0x45b7af
test bl, 4
jne 0x45b77b
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 0x45b7af
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 + 0x52a940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45b7d5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52cb40]
movzx eax, byte [eax*8 + 0x5292c1]
mov eax, dword [eax*4 + 0x5290d0]
cmp eax, 1
je 0x45b801
cmp eax, 3
je 0x45b801
cmp ebx, 0x5f
je 0x45b801
xor eax, eax
jmp 0x45b806
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44f4bb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c2e9
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c2df
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
test edi, edi
jne case.0x457f34.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45b86f
mov esi, dword [esi]
test esi, esi
je 0x45c338
jmp 0x457f24
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45aae6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45b96c
cmp ebx, 0xc0
jb 0x45b96c
test bl, 0x20
jne 0x45b8b1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45b969
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45b8d9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45b96c
mov edx, dword [esi + 8]
test bl, 8
jne 0x45b8ff
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 0x45b962
test bl, 4
jne 0x45b92e
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 0x45b962
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 + 0x529180]
lea eax, [eax*4 + 0x529180]
cmp ebx, ecx
jb 0x45b98e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x45b9d3
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x45b981
cmp dword [esi + 0x68], 0
je 0x44fe02
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45c302
push 0x134
call dword [0xa5ce74]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45c2f8
mov esi, dword [esi]
test esi, esi
je 0x45c32b
lea edi, [eax - 6]
jmp 0x457f19
cmp dword [esi + 0x68], 0
je 0x45b998
jmp 0x44fe02
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 0x45b9e1
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x44e6ba
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45ba23
push ecx
call dword [0xa5ce70]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x44e6ba
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x459819
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x459625
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4599bb
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x459bc0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x459d89
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45a3fa
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45a5ac
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45a74e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45a8e9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45aa84
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45b298
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45b662
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45b815
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45b99e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45b432
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45a0ad
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45adfb
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x44e640
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 + 0x528fb8]
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 0x44e630
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 0x45be26
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 0x45be26
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x45bb7f
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 0x45be26
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x45bb7f
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 0x45be26
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x45bb7f
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 0x44e630
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 0x45c016
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 0x45c016
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 0x45c016
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 0x45c016
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 0x45c016
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 0x45be26
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 0x45be26
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x45bdd7
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 0x44e630
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 + 0x528fb8]
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 0x44e630
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 0x45c016
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 0x45c016
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 0x45c016
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x45c00d
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 0x44e630
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 0x45be26
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 0x45be26
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 0x45c016
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 0x45c016
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 0x45c016
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x45c00d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x45c00d
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