Function at 0x449110
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 0x44919e
mov esi, dword [esi]
test esi, esi
je 0x456e41
mov edi, 0xfffffff8
jmp 0x452a49
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x4491ba
mov esi, dword [esi]
test esi, esi
je 0x456e4e
mov edi, 0xffffffeb
jmp 0x452a49
cmp dword [ebp + 0x98], 2
jne 0x4491f1
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 0x4491f1
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.0x449224.98
movzx eax, byte [edx + 0x45705c]
jmp dword [eax*4 + 0x456f10]
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 0x4566a5
push 0x134
call dword [0x9d30e8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45669f
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
mov edx, dword [esi + 4]
test edx, edx
jne 0x4566f5
push 0x134
call dword [0x9d30e8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4566ef
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
mov edx, dword [esi + 4]
test edx, edx
jne 0x456713
push 0x134
call dword [0x9d30e8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45670d
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x456731
push 0x134
call dword [0x9d30e8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45672b
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
mov edx, dword [esi + 4]
test edx, edx
jne 0x456746
push 0x134
call dword [0x9d30e8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456740
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x44937e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x50cfc0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x4491f1
mov edi, dword [esi + 4]
test edi, edi
jne 0x456764
push 0x134
call dword [0x9d30e8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45675e
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
mov edx, dword [esi + 4]
test edx, edx
jne 0x456779
push 0x134
call dword [0x9d30e8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456773
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x456797
push 0x134
call dword [0x9d30e8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x456791
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x453f88
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.0x449224.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 0x452aeb
mov dword [esi + 0x54], ebx
jmp 0x449c8f
mov dword [esi + 0x54], ebx
jmp 0x449cb3
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 0x4495f8
mov edi, dword [0x9d80a4]
test edi, edi
je 0x4495e4
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 0x44959e
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 0x4495d3
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a49
jns 0x4495e4
mov esi, dword [esi]
test esi, esi
je 0x452f2c
jmp 0x452a49
movzx eax, byte [0x50d036]
add dword [esi + 0xc], eax
movzx eax, byte [0x50d036]
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.0x44961e.146
movzx eax, byte [eax + 0x457118]
jmp dword [eax*4 + 0x457100]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x44961e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x449657
cmp edx, dword [edi + 4]
je 0x449657
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x452d83
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x452d83
cmp dword [ebp + 0xa4], ebx
je case.0x44961e.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.0x44961e.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 0x452d83
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x4496a0
jmp 0x452d83
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 0x449704
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x449704
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x44961e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x44961e.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 0x452d83
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 0x449759
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x449768
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x449737
jmp 0x452d83
mov dword [esi + 0x58], 1
jmp 0x452d83
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4567ac
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4567a6
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x449804
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x4491e6
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 0x4491e6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x449853
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 0x4491e6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x4498a6
cmp edx, 0x9f
je 0x4498a6
cmp dword [ebp + 0xa4], ebx
jne 0x4498a6
cmp dword [ebp + 0x5c], ebx
jne 0x449895
cmp dword [ebp + 0x60], ebx
je 0x4498a6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x4498a6
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a49
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 0x452f2c
jmp 0x452a49
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x4498ff
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x452e7d
mov dword [esi + 0x58], ebx
jmp 0x452e7d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x44992b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x452fcb
mov dword [esi + 0x58], ebx
jmp 0x452fcb
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x449992
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x449978
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x450176.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x449974
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x449968
test edx, edx
jg 0x449950
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x4491e6
mov dword [ebp + 0x84], eax
jmp 0x4491e6
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 0x449978
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a50
mov edi, dword [0x9d80a4]
test edi, edi
je 0x449a9c
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 0x449a56
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 0x449a8b
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a49
jns 0x449a9c
mov esi, dword [esi]
test esi, esi
je 0x452f2c
jmp 0x452a49
add dword [esi + 0xc], 6
jmp 0x4491ea
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 0x449ac6
xor edx, edx
jmp 0x449ad3
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 0x449af3
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x449aed
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x449b54
mov ecx, dword [ecx]
test ecx, ecx
jne 0x449ae0
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 0x449b68
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 0x4530b4
mov esi, dword [esi]
test esi, esi
je 0x456e72
mov edi, 0xffffffe6
jmp 0x452a49
shl eax, 2
push eax
call dword [0x9d30e0]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x449b2e
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x449b91
jmp 0x4491f1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4567e7
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4567e1
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x449bf0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456805
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4567ff
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x449c43
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x4491f1
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 0x449c8f
cmp eax, 0x8b
jne 0x449cb3
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 0x449cd0
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 0x453b9d
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 0x449d4d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x456b97
push 0x134
call dword [0x9d30e8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456b8d
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x449da8
cmp al, 0x81
je 0x449da8
mov dword [esi + 0x38], ebx
jmp 0x449db9
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 0x449dc6
cmp al, 0x80
jbe 0x449dca
cmp al, 0x82
jne 0x449df6
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 0x456ea6
mov edi, 1
jmp 0x452a49
cmp al, 0x85
je 0x449e0a
cmp al, 0x8a
je 0x449e0a
cmp al, 0x86
je 0x449e0a
cmp al, 0x8b
jne 0x449ed1
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 0x449e46
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x449e46
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x449ddc
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 0x449e75
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x449ed1
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x449e95
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x449e95
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 0x449ed1
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x449f07
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 0x456e7f
mov edi, 0xfffffc1a
jmp 0x452a49
cmp cl, 0x78
je 0x449f80
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x449f80
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x449f4e
test ecx, ecx
jne 0x456826
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456820
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test ecx, ecx
jne 0x456847
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456841
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4531e7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456865
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45685f
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
cmp dword [ebp + 0x44], ebx
je case.0x449224.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x449224.1
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a49
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x44a0a8
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a49
cmp dword [ebp + 0x44], ebx
je 0x44a01a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44a01a
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a49
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x44aa64
cmp ecx, dword [ebp + 0x78]
je 0x44a080
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44a058
cmp ecx, edx
jbe 0x44a080
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004590d0
add esp, 0x14
test eax, eax
jne 0x44aa64
jmp 0x44a080
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x44a080
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44a080
cmp edi, 1
je 0x44aa64
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44aa64
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a49
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x449fe5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x4491f1
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44a16a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44a0e5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00458f80
add esp, 0x14
test eax, eax
jne 0x44aa64
jmp 0x44a109
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44a109
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44a109
cmp edx, 1
je 0x44aa64
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44aa64
cmp dword [ebp + 0x88], ebx
je case.0x450176.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x450176.14
cmp dword [ebp + 0x18], ebx
jne case.0x450176.14
cmp dword [edi], 2
jne case.0x450176.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x450176.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x450176.14
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edi, 0xfffffff4
jmp 0x452a49
cmp dword [ebp + 0x48], ebx
jne 0x449feb
cmp dword [ebp + 0x88], ebx
je 0x44aa64
cmp ecx, dword [ebp + 0x84]
jbe 0x44aa64
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44aa64
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edi, 0xfffffff4
jmp 0x452a49
cmp dword [ebp + 0x48], ebx
jne 0x449feb
cmp dword [ebp + 0x58], ebx
je case.0x449224.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x449feb
cmp dword [ebp + 0x88], ebx
je 0x44a0a8
cmp eax, dword [ebp + 0x84]
jbe 0x44a0a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44a0a8
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edi, 0xfffffff4
jmp 0x452a49
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44a275
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44a23d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00458f80
add esp, 0x14
test eax, eax
jne 0x44a265
jmp 0x44a109
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44a109
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44a109
cmp edx, 1
je 0x44a265
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x44a109
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x44a109
cmp dword [ebp + 0x88], ebx
je 0x44aa64
cmp ecx, dword [ebp + 0x84]
jbe 0x44aa64
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44aa64
jmp 0x44a156
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44a577
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x44a2c5
mov dword [esi + 0x5c], ebx
jmp 0x44a3fe
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x44a2da
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x44a2d0
cmp edx, dword [ebp + 0x84]
jae 0x44a2e8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44a39c
test bl, 0x20
jne 0x44a310
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x44a39c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44a32a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x44a392
and eax, 0x3f
test bl, 8
jne 0x44a345
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44a392
test bl, 4
jne 0x44a369
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 0x44a392
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 0x44a437
cmp ebx, 0x5f
jne 0x44a3b4
mov dword [esi + 0x5c], 1
jmp 0x44a3fe
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44a3d6
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x44a448
cmp eax, 3
je 0x44a448
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44a44f
cmp dword [ebp + 0x88], 0
je 0x44a42b
cmp edx, dword [ebp + 0x84]
jbe 0x44a42b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
mov dword [esi + 0x54], 0
jmp 0x44a6b5
cmp ebx, 0x100
jae 0x44a3f9
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44a3f9
mov eax, 1
jmp 0x44a3fb
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44a4f9
test bl, 0x20
jne 0x44a46f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x44a4f1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44a489
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x44a4f1
and eax, 0x3f
test bl, 8
jne 0x44a4a4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x44a4f1
test bl, 4
jne 0x44a4c8
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 0x44a4f1
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 0x44a55c
cmp ebx, 0x5f
jne 0x44a510
mov dword [esi + 0x54], 1
jmp 0x44a6b5
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44a532
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x44a56d
cmp eax, 3
je 0x44a56d
xor eax, eax
jmp 0x44a6b2
cmp ebx, 0x100
jae 0x44a555
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44a555
mov eax, 1
jmp 0x44a6b2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44a587
mov dword [esi + 0x5c], ebx
jmp 0x44a622
cmp eax, dword [ebp + 0x84]
ja 0x44a596
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x44a60e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x44a5b0
mov dword [esi + 0x5c], 1
jmp 0x44a622
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e948]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a5d2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x44a600
cmp eax, 3
je 0x44a600
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x44a61f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x44a61f
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 0x44a663
cmp dword [ebp + 0x88], ebx
je 0x44a65e
cmp eax, dword [ebp + 0x84]
jbe 0x44a65e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44a65e
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edi, 0xfffffff4
jmp 0x452a50
mov dword [esi + 0x54], ebx
jmp 0x44a6b5
cmp dword [ebp + 0x54], ebx
je 0x44a6a2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x44a679
mov dword [esi + 0x54], 1
jmp 0x44a6b5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e948]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a69b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x44a534
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 0x44a6d0
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x44a6d8
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x4491f1
jmp 0x449feb
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x44a71d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x44a748
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.00458f80
add esp, 0x14
test eax, eax
jne 0x449feb
jmp 0x44a748
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x44a748
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44a748
cmp edx, 1
je 0x449feb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x449feb
cmp dword [ebp + 0x88], ebx
je case.0x449224.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x449224.13
cmp dword [ebp + 0x18], ebx
jne case.0x449224.13
cmp dword [ebp + 0x1c], 2
jne case.0x449224.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x449224.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44a7a6
cmp dword [ebp + 0x88], ebx
je case.0x450176.14
cmp eax, dword [ebp + 0x84]
jbe case.0x450176.14
jmp 0x44a142
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x44a0a8
cmp eax, dword [ebp + 0x78]
jae 0x44a0a8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44a0a8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x44a7c2
inc dword [esi + 0xc]
jmp 0x4491f1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44a789
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x4491f1
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x44a81d
cmp dword [ebp + 0x88], ebx
je case.0x450176.14
cmp edi, dword [ebp + 0x84]
jbe case.0x450176.14
jmp 0x44a142
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44a919
cmp ebx, 0xc0
jb 0x44a919
test bl, 0x20
jne 0x44a85a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44a916
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44a884
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44a919
mov edx, dword [esi + 8]
test bl, 8
jne 0x44a8aa
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 0x44a90d
test bl, 4
jne 0x44a8d9
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 0x44a90d
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 0x44aa64
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44aa64
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a50
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44aa4b
cmp ebx, 0xc0
jb 0x44aa4b
test bl, 0x20
jne 0x44a98c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44aa48
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44a9b6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44aa4b
mov edx, dword [esi + 8]
test bl, 8
jne 0x44a9dc
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 0x44aa3f
test bl, 4
jne 0x44aa0b
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 0x44aa3f
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 0x4499ad
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4499ad
inc dword [esi + 0xc]
jmp 0x4491ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44ab74
cmp ebx, 0xc0
jb 0x44ab74
test bl, 0x20
jne 0x44aab5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ab71
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44aadf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44ab74
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ab05
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 0x44ab68
test bl, 4
jne 0x44ab34
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 0x44ab68
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 0x44aa64
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x44a92c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44ac94
cmp ebx, 0xc0
jb 0x44ac94
test bl, 0x20
jne 0x44abd5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ac91
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44abff
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44ac94
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ac25
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 0x44ac88
test bl, 4
jne 0x44ac54
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 0x44ac88
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 0x4499ad
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x4499ad
inc dword [esi + 0xc]
jmp 0x4491ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44adbd
cmp ebx, 0xc0
jb 0x44adbd
test bl, 0x20
jne 0x44acfe
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44adba
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ad28
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44adbd
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ad4e
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 0x44adb1
test bl, 4
jne 0x44ad7d
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 0x44adb1
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 0x44aa64
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x44a92c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44aedd
cmp ebx, 0xc0
jb 0x44aedd
test bl, 0x20
jne 0x44ae1e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44aeda
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ae48
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44aedd
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ae6e
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 0x44aed1
test bl, 4
jne 0x44ae9d
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 0x44aed1
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 0x4499ad
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4499ad
inc dword [esi + 0xc]
jmp 0x4491ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44b006
cmp ebx, 0xc0
jb 0x44b006
test bl, 0x20
jne 0x44af47
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b003
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44af71
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44b006
mov edx, dword [esi + 8]
test bl, 8
jne 0x44af97
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 0x44affa
test bl, 4
jne 0x44afc6
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 0x44affa
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 0x44b07f
je 0x44b021
cmp ebx, 0xa
je 0x44aa64
jbe 0x44a932
cmp ebx, 0xc
jmp 0x44b099
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44b06a
cmp dword [ebp + 0x88], 0
je 0x44aa64
cmp eax, dword [ebp + 0x84]
jbe 0x44aa64
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44aa64
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edi, 0xfffffff4
jmp 0x452a50
cmp byte [eax], 0xa
jne 0x44aa64
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x4491ea
cmp ebx, 0x85
je 0x44b09f
cmp ebx, 0x2027
jbe 0x44a932
cmp ebx, 0x2029
ja 0x44a932
cmp dword [ebp + 0x68], 0
jmp 0x44a92c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44b1b0
cmp ebx, 0xc0
jb 0x44b1b0
test bl, 0x20
jne 0x44b0f1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b1ad
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b11b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44b1b0
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b141
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 0x44b1a4
test bl, 4
jne 0x44b170
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 0x44b1a4
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 0x44b1e8
je 0x4499ad
cmp ebx, 0xa0
ja 0x44b1dd
je 0x4499ad
cmp ebx, 9
je 0x4499ad
cmp ebx, 0x20
jmp 0x44aa5e
cmp ebx, 0x1680
jmp 0x44aa5e
cmp ebx, 0x205f
ja 0x44b219
je 0x4499ad
cmp ebx, 0x2000
jb 0x44aa64
cmp ebx, 0x200a
jbe 0x4499ad
cmp ebx, 0x202f
jmp 0x44aa5e
cmp ebx, 0x3000
je 0x4499ad
inc dword [esi + 0xc]
jmp 0x4491ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44b335
cmp ebx, 0xc0
jb 0x44b335
test bl, 0x20
jne 0x44b276
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b332
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b2a0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44b335
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b2c6
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 0x44b329
test bl, 4
jne 0x44b2f5
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 0x44b329
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 0x44b36d
je 0x44aa64
cmp ebx, 0xa0
ja 0x44b362
je 0x44aa64
cmp ebx, 9
je 0x44aa64
cmp ebx, 0x20
jmp 0x44a92c
cmp ebx, 0x1680
jmp 0x44a92c
cmp ebx, 0x205f
ja 0x44b39e
je 0x44aa64
cmp ebx, 0x2000
jb 0x44a932
cmp ebx, 0x200a
jbe 0x44aa64
cmp ebx, 0x202f
jmp 0x44a92c
cmp ebx, 0x3000
jmp 0x44a92c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44b4b1
cmp ebx, 0xc0
jb 0x44b4b1
test bl, 0x20
jne 0x44b3f2
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b4ae
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b41c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44b4b1
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b442
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 0x44b4a5
test bl, 4
jne 0x44b471
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 0x44b4a5
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 0x44b4d9
je 0x44a932
cmp ebx, 0xa
jb 0x44aa64
cmp ebx, 0xd
jbe 0x44a932
inc dword [esi + 0xc]
jmp 0x4491ea
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44aa64
jmp 0x44a932
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44b5f5
cmp ebx, 0xc0
jb 0x44b5f5
test bl, 0x20
jne 0x44b536
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b5f2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b560
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44b5f5
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b586
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 0x44b5e9
test bl, 4
jne 0x44b5b5
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 0x44b5e9
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 0x44b61a
je 0x44aa64
cmp ebx, 0xa
jb 0x4499ad
cmp ebx, 0xd
jbe 0x44aa64
jmp 0x4499ad
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4499ad
inc dword [esi + 0xc]
jmp 0x4491ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44b72d
cmp ebx, 0xc0
jb 0x44b72d
test bl, 0x20
jne 0x44b679
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b72a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b6a1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x44b72d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b6c7
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 0x44b72a
test bl, 4
jne 0x44b6f6
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 0x44b72a
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 + 0x50e948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44b750
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 + 0x510b48]
cmp eax, 0xa
ja case.default.0x44b76a
jmp dword [eax*4 + 0x45712c]
cmp dword [esi + 0x9c], 0xf
jne 0x4491e6
jmp 0x449feb
mov al, byte [edx*8 + 0x50d2c9]
cmp al, 9
je 0x44b79a
cmp al, 5
je 0x44b79a
cmp al, 8
je 0x44b79a
xor ecx, ecx
jmp 0x44b79f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x4491e6
jmp 0x449feb
movzx ecx, byte [edx*8 + 0x50d2c9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x50d0d8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x4491e6
jmp 0x449feb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50d2c9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x4491e6
jmp 0x449feb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50d2c8]
jmp 0x44b7fb
movzx eax, byte [edx*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x44b79a
cmp eax, 3
je 0x44b79a
xor ecx, ecx
jmp 0x44b79f
cmp ebx, 0x180e
ja 0x44b893
je case.0x44b76a.0
cmp ebx, 0x85
ja 0x44b87f
je case.0x44b76a.0
cmp ebx, 9
jb case.0x44b8b3.8203
cmp ebx, 0xd
jbe case.0x44b76a.0
cmp ebx, 0x20
jmp 0x44b8cc
cmp ebx, 0xa0
je case.0x44b76a.0
cmp ebx, 0x1680
jmp 0x44b8cc
cmp ebx, 0x202f
ja 0x44b8ba
je case.0x44b76a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x44b8b3.8203
movzx eax, byte [ebx + 0x457160]
jmp dword [eax*4 + 0x457158]
cmp ebx, 0x205f
je case.0x44b76a.0
cmp ebx, 0x3000
je case.0x44b76a.0
movzx eax, byte [edx*8 + 0x50d2c9]
xor ecx, ecx
cmp dword [eax*4 + 0x50d0d8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x44b807
movzx eax, byte [edx*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x44b79a
cmp eax, 3
je 0x44b79a
cmp ebx, 0x5f
je 0x44b79a
xor ecx, ecx
jmp 0x44b79f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x50d188]
lea eax, [eax*4 + 0x50d188]
cmp ebx, ecx
jb 0x44b94d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x44b95f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x44b940
cmp dword [esi + 0x9c], 0x10
jne 0x4491e6
jmp 0x449feb
cmp dword [esi + 0x9c], 0x10
je 0x4491e6
jmp 0x449feb
cmp ebx, 0x24
je 0x44b79a
cmp ebx, 0x40
je 0x44b79a
cmp ebx, 0x60
je 0x44b79a
cmp ebx, 0xa0
jb 0x44b9a0
cmp ebx, 0xd7ff
jbe 0x44b79a
cmp ebx, 0xe000
jae 0x44b79a
xor ecx, ecx
jmp 0x44b79f
mov esi, dword [esi]
test esi, esi
je case.default.0x452a64
mov edi, 0xfffffff2
jmp 0x452a49
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x44bad2
cmp ebx, 0xc0
jb 0x44bad2
test bl, 0x20
jne 0x44ba10
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44bacf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ba3f
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 0x44bad2
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ba65
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 0x44bac8
test bl, 4
jne 0x44ba94
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 0x44bac8
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44baf4
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44bc86
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x44bc1e
cmp ebx, 0xc0
jb 0x44bc1e
test bl, 0x20
jne 0x44bb55
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x44bc16
test bl, 0x10
jne 0x44bb7a
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 0x44bc16
test bl, 8
jne 0x44bba8
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 0x44bc16
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x44bbe2
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 0x44bc16
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44bc40
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx ecx, byte [eax*8 + 0x50d2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d150], eax
je 0x44bc86
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 0x44bb20
cmp dword [ebp + 0x88], 0
je 0x44aa64
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44aa64
cmp eax, dword [ebp + 0x84]
jbe 0x44aa64
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44aa64
jmp 0x44a156
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 0x44bdb4
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 0x44bd44
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x44bd4d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x44bd20
jmp 0x44bdb4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x44bdb4
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 0x44bda4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x44bda4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x44bdae
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.0x44bdcf
movzx eax, byte [eax + 0x457194]
jmp dword [eax*4 + 0x45718c]
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 + 0x50c618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50c624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44be5d
mov dword [esi + 0x8c], closesocket
jmp 0x44be5d
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 0x44be59
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x4491f1
jns 0x44be81
cmp dword [esi + 0x90], 0
je 0x4491f1
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44bebf
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.00457690
add esp, 0x14
test eax, eax
js 0x44bef1
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x44be90
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x4491f1
cmp dword [esp + 0x80], 0
je 0x44bf1a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x453302
cmp eax, 0xfffffffe
jne 0x44befc
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x450176.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x450176.14
jmp 0x44a795
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x44bf30
cmp edi, dword [esi + 0x8c]
jge 0x453351
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00457690
add esp, 0x14
test eax, eax
js 0x44bf65
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x44bf30
cmp eax, 0xfffffffe
jne 0x453351
cmp dword [ebp + 0x88], 0
je 0x453351
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x453351
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x453351
jmp 0x44a156
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.00457690
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x44c029
cmp eax, 0xfffffffe
jne 0x44bfd5
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x45392d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x45392d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x45392d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x45392d.14
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x452a54
add dword [esi + 8], eax
jmp 0x4491ea
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.0x44c057
movzx eax, byte [eax + 0x4571a4]
jmp dword [eax*4 + 0x45719c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x44c07a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x44c085
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50c618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50c624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44c11c
mov dword [esi + 0x8c], closesocket
jmp 0x44c11c
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 0x44c102
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x44c11c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44c27c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44c2d1
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x44c22c
test bl, 0x20
jne 0x44c17a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44c229
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44c1a1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44c227
test bl, 8
jne 0x44c1c4
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 0x44c227
test bl, 4
jne 0x44c1f3
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 0x44c227
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 0x44c23d
cmp dword [esi + 0x9c], 0x6e
jmp 0x44c252
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.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44c140
jmp 0x44c2c3
cmp dword [ebp + 0x88], 0
je case.0x450176.14
mov eax, dword [esi + 8]
jmp 0x44a795
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44c2ca
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c267
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.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44c290
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4491ea
test ebx, ebx
je 0x44c2fa
test edx, edx
jne 0x456567
mov dword [esi + 0x84], eax
jmp 0x4533eb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x44c4b2
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x44c49f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x44c477
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x44c426
test bl, 0x20
jne 0x44c36b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x44c426
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44c393
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x44c41c
and eax, 0x3f
test bl, 8
jne 0x44c3b9
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 0x44c41c
test bl, 4
jne 0x44c3e8
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 0x44c41c
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 0x44c437
cmp dword [esi + 0x9c], 0x6e
jmp 0x44c44c
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 0x44c49f
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 0x44c321
jmp 0x44c49f
cmp dword [ebp + 0x88], 0
je 0x44c49f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44c49f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
je 0x4543ac
jmp 0x4491ea
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x44c52a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44c502
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 0x44c52a
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 0x44c4c1
jmp 0x44c52a
cmp dword [ebp + 0x88], 0
je 0x44c52a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44c52a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
je 0x45342b
jmp 0x4491ea
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.0x44c575
movzx eax, byte [eax + 0x4571b8]
jmp dword [eax*4 + 0x4571b0]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x44c598
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x44c5a3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50c618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50c624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44c63a
mov dword [esi + 0x8c], closesocket
jmp 0x44c63a
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 0x44c620
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x44c63a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44c775
jmp 0x44c650
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44c74a
cmp edx, 0xc0
jb 0x44c74a
test dl, 0x20
jne 0x44c698
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44c747
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44c6bf
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44c745
test dl, 8
jne 0x44c6e2
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 0x44c745
test dl, 4
jne 0x44c711
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 0x44c745
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.00458910
add esp, 0xc
test eax, eax
je case.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44c650
jmp 0x44c77c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4491f1
cmp dword [esp + 0x84], 0
jne 0x456578
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 0x44c90d
jmp 0x44c7c0
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44c8e3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x44c8ab
cmp edx, 0xc0
jb 0x44c8ab
test dl, 0x20
jne 0x44c80c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x44c8ab
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x44c82b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x44c8a1
and eax, 0x3f
test dl, 8
jne 0x44c84b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x44c8a1
test dl, 4
jne 0x44c874
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 0x44c8a1
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.00458910
add esp, 0xc
test eax, eax
je 0x44c90d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x44c7c0
jmp 0x44c90d
cmp dword [ebp + 0x88], 0
je 0x44c906
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44c906
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x44a156
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x4491f1
jmp 0x4541c1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44caf9
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 0x44ca80
test al, 0x20
jne 0x44c980
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 0x44ca80
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x44c9ba
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 0x44ca80
test al, 8
jne 0x44c9f6
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 0x44ca80
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44ca3b
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 0x44ca80
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 0x44cab9
cmp dword [ebp + 0x88], ebx
je case.0x450176.14
cmp edx, edi
jb case.0x450176.14
cmp edx, dword [ebp + 0x84]
jbe case.0x450176.14
jmp 0x44a142
test ecx, ecx
jle 0x44caee
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.0x450176.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x44cac0
dec dword [esi + 0x88]
jmp 0x4491ea
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x44cb46
cmp dword [ebp + 0x88], ebx
je 0x4499ad
cmp edi, dword [ebp + 0x84]
jbe 0x4499ad
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4499ad
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edi, 0xfffffff4
jmp 0x452a50
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 0x44ce5b
jmp 0x449feb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a800
cmp dword [esp + 0x8c], ebx
je 0x44ce3c
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 0x44cccb
test al, 0x20
jne 0x44cbcb
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 0x44cccb
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x44cc05
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 0x44cccb
test al, 8
jne 0x44cc41
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 0x44cccb
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44cc86
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 0x44cccb
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 0x44ccf9
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x449feb
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x4491ea
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x44cddb
test bl, 0x20
jne 0x44cd29
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44cdd8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44cd50
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44cdd6
test bl, 8
jne 0x44cd73
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 0x44cdd6
test bl, 4
jne 0x44cda2
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 0x44cdd6
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 0x4491ea
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44ce15
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b48]
mov eax, dword [eax*8 + 0x50d2cc]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x4491f1
jmp 0x449feb
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 0x449feb
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x4491ea
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 0x44cf8d
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 0x44cec4
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x44cecf
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x44cf8d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44cf94
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x44cf94
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x44cf94
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 + 0x50c618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50c624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44cf8d
mov dword [esi + 0x8c], closesocket
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x44d408
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 0x44d0db
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x44cff1
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 0x44d0db
test bl, 0x10
jne 0x44d026
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 0x44d0db
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 0x44d064
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 0x44d0db
test bl, 4
jne 0x44d09d
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 0x44d0db
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 0x44d417
cmp dword [esi + 0x9c], 0x2e
jb 0x44d14c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44d123
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b48]
mov ecx, dword [eax*8 + 0x50d2cc]
add ecx, edi
cmp ecx, edi
je 0x44d14c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.004588b0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x44d153
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x44d286
jmp 0x44d170
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 0x44d1f4
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x44d1a8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44d1b1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44d197
cmp edi, 0xfffffffc
je 0x44d268
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44d1ea
cmp edi, 0xfffffffd
je 0x44d268
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44d1ea
cmp edi, 0xfffffffe
je 0x44d268
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44d1ea
cmp edi, 0xffffffff
je 0x44d268
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44d268
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x44befc
sub ecx, ebx
cmp edi, ecx
ja 0x44befc
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x44d226
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44d22b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44d215
cmp edi, 0xfffffffc
je 0x44d268
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44befc
cmp edi, 0xfffffffd
je 0x44d268
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44befc
cmp edi, 0xfffffffe
je 0x44d268
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44befc
cmp edi, 0xffffffff
je 0x44d268
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44befc
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x44d170
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x4491f1
cmp dword [esp + 0x84], 0
jne 0x456589
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 0x44d3f5
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 0x44d34c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x44d308
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44d311
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44d2f7
cmp edi, 0xfffffffc
je 0x44d3a8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44d342
cmp edi, 0xfffffffd
je 0x44d3a8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44d342
cmp edi, 0xfffffffe
je 0x44d3a8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44d342
cmp edi, 0xffffffff
je 0x44d3a8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44d3a8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x44d3c8
sub ecx, ebx
cmp edi, ecx
ja 0x44d3c8
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x44d376
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44d37b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44d365
cmp edi, 0xfffffffc
je 0x44d3a8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44d3c8
cmp edi, 0xfffffffd
je 0x44d3a8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44d3c8
cmp edi, 0xfffffffe
je 0x44d3a8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44d3c8
cmp edi, 0xffffffff
je 0x44d3a8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44d3c8
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x44d2d0
jmp 0x44d3f5
cmp dword [ebp + 0x88], 0
je 0x44d3f5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44d3f5
cmp eax, dword [ebp + 0x84]
jbe 0x44d3f5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
je 0x45456c
jmp 0x4491ea
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x44d50f
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 0x44d474
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c267
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x44d467
cmp dword [esi + 0x94], ecx
jne case.0x450176.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x44d444
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4491ea
cmp dword [esp + 0x84], 0
je 0x44d49b
mov dword [esi + 0x84], eax
jmp 0x4534cb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x44d502
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44d4da
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x44d4cb
cmp dword [esi + 0x94], ecx
jne 0x44d502
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x44d4b0
jmp 0x44d502
cmp dword [ebp + 0x88], 0
je 0x44d502
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44d502
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
test edi, edi
je 0x45350b
jmp 0x4491ea
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44d54a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44d520
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x4491f1
cmp dword [esp + 0x84], 0
je 0x44d578
mov dword [esi + 0x84], eax
jmp 0x453598
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x44d5dc
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44d5b4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x44d5dc
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x44d590
jmp 0x44d5dc
cmp dword [ebp + 0x88], 0
je 0x44d5dc
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44d5dc
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
je 0x4535d8
jmp 0x4491f1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x44d614
cmp dword [ebp + 0x88], ebx
je case.0x450176.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x450176.14
jmp 0x44a142
test edi, edi
je 0x44d88c
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 0x44d715
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x44d652
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44d712
test bl, 0x10
jne 0x44d673
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 0x44d712
test bl, 8
jne 0x44d69e
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 0x44d715
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x44d6d7
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 0x44d712
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 0x44d808
test dl, 0x20
jne 0x44d74f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44d7fe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44d776
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44d7fc
test dl, 8
jne 0x44d799
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 0x44d7fc
test dl, 4
jne 0x44d7c8
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 0x44d7fc
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 0x44d825
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x4491f1
jmp 0x449feb
cmp ebx, 0x7f
jbe 0x44d862
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44d84d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b48]
mov ecx, dword [eax*8 + 0x50d2cc]
add ecx, ebx
jmp 0x44d869
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x449feb
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x4491f1
jmp 0x449feb
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.0x450176.14
cmp dword [esi + 0x9c], 0x20
jne 0x44ce5b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x450176.14
add dword [esi + 0xc], 2
jmp 0x4491ea
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 0x44da26
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 0x44d92b
cmp al, 0x4f
je 0x44d92b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x44da26
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x44da26
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44da26
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44da26
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44da26
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 0x44da26
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 + 0x50c618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50c624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44da26
mov dword [esi + 0x8c], closesocket
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 0x44db81
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x44db81
test al, 0x20
jne 0x44da78
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 0x44db81
test al, 0x10
jne 0x44daab
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 0x44db81
test al, 8
jne 0x44daed
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 0x44db81
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44db38
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 0x44db7a
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 0x44dfa5
test edx, edx
je 0x44dbdc
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x44dbdc
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44dbc0
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x510b48]
mov eax, dword [eax*8 + 0x50d2cc]
add eax, edi
jmp 0x44dbe9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x44dd30
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44dd7b
jmp 0x44dc10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x44dd09
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x44dc4a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44dd06
test cl, 0x10
jne 0x44dc6b
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 0x44dd06
test cl, 8
jne 0x44dc95
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 0x44dd06
test cl, 4
jne 0x44dccb
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 0x44dd06
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.0x450176.14
cmp dword [esi + 0x94], ecx
je case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44dc10
jmp 0x44dd74
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x44dd74
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c267
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x450176.14
cmp dword [esi + 0x94], ecx
je case.0x450176.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x44dd40
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4491ea
test ebx, ebx
je 0x44dda4
test edx, edx
jne 0x45659a
mov dword [esi + 0x84], eax
jmp 0x45366f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x44df2d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44df1a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x44def2
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x44dece
test dl, 0x20
jne 0x44de02
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x44dece
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x44de2c
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 0x44decc
test dl, 8
jne 0x44de58
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 0x44decc
test dl, 4
jne 0x44de90
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 0x44decc
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 0x44df1a
cmp dword [esi + 0x94], edx
je 0x44df1a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x44ddc4
jmp 0x44df1a
cmp dword [ebp + 0x88], 0
je 0x44df1a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44df1a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
je 0x45474c
jmp 0x4491ea
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x44df92
jmp 0x44df40
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44df6a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x44df92
cmp dword [esi + 0x94], ecx
je 0x44df92
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x44df40
jmp 0x44df92
cmp dword [ebp + 0x88], 0
je 0x44df92
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44df92
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
je 0x4536af
jmp 0x4491ea
test edx, edx
je 0x44e0c7
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44e105
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44e0ac
test dl, 0x20
jne 0x44dffa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44e0a9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44e021
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44e0a7
test dl, 8
jne 0x44e044
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 0x44e0a7
test dl, 4
jne 0x44e073
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 0x44e0a7
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.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44dfc0
jmp 0x44e0fe
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44e105
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e0d4
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4491ea
cmp dword [esp + 0x84], 0
je 0x44e134
test edx, edx
jne 0x4565af
mov dword [esi + 0x84], eax
jmp 0x45373c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x44e2b8
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44e2a5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x44e27d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x44e261
test dl, 0x20
jne 0x44e192
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x44e261
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x44e1bc
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 0x44e25f
test dl, 8
jne 0x44e1eb
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 0x44e25f
test dl, 4
jne 0x44e223
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 0x44e25f
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 0x44e2a5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x44e154
jmp 0x44e2a5
cmp dword [ebp + 0x88], 0
je 0x44e2a5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44e2a5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
je 0x454910
jmp 0x4491ea
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x44e312
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e2ea
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x44e312
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x44e2c6
jmp 0x44e312
cmp dword [ebp + 0x88], 0
je 0x44e312
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44e312
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
je 0x45377c
jmp 0x4491ea
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 0x44e464
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 0x44e464
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44e464
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44e464
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44e464
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 0x44e464
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x50c5c3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x50c5cf]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44e464
mov dword [esi + 0x8c], closesocket
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 0x44e486
cmp ecx, 0xf
je 0x44e486
mov dword [esi + 0x60], 0xffffffff
jmp 0x44e4a9
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 0x45044b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x44f258
cmp eax, 0xa
ja case.default.0x44b76a
jmp dword [eax*4 + 0x4571c4]
cmp dword [esi + 0x68], ebx
jne 0x449feb
mov edx, 1
cmp ecx, edx
jl 0x45044b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x44e52f
cmp ecx, 0xc0
jb 0x44e52f
test cl, 0x20
jne 0x44e50b
inc eax
jmp 0x44e52c
test cl, 0x10
jne 0x44e515
add eax, 2
jmp 0x44e52c
test cl, 8
jne 0x44e51f
add eax, 3
jmp 0x44e52c
test cl, 4
jne 0x44e529
add eax, 4
jmp 0x44e52c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x44e4e8
jmp 0x45044b
cmp dword [ebp + 0x88], ebx
je case.0x450176.14
mov eax, dword [esi + 8]
jmp 0x44a795
mov edi, 1
cmp ecx, edi
jl 0x45044b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44e65a
cmp ebx, 0xc0
jb 0x44e65a
test bl, 0x20
jne 0x44e5a8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44e657
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e5cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44e655
test bl, 8
jne 0x44e5f2
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 0x44e655
test bl, 4
jne 0x44e621
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 0x44e655
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44e67c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
cmp eax, 9
je 0x44e6a1
cmp eax, 5
je 0x44e6a1
cmp eax, 8
je 0x44e6a1
xor eax, eax
jmp 0x44e6a6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e560
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x45044b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44e7c8
cmp ebx, 0xc0
jb 0x44e7c8
test bl, 0x20
jne 0x44e718
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44e7c5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e73f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44e7c5
test bl, 8
jne 0x44e762
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 0x44e7c5
test bl, 4
jne 0x44e791
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 0x44e7c5
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44e7ea
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e6d0
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x45044b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44e92b
cmp ebx, 0xc0
jb 0x44e92b
test bl, 0x20
jne 0x44e87b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44e928
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e8a2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44e928
test bl, 8
jne 0x44e8c5
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 0x44e928
test bl, 4
jne 0x44e8f4
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 0x44e928
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44e94d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e833
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x45044b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44ea88
cmp ebx, 0xc0
jb 0x44ea88
test bl, 0x20
jne 0x44e9d8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44ea85
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e9ff
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44ea85
test bl, 8
jne 0x44ea22
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 0x44ea85
test bl, 4
jne 0x44ea51
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 0x44ea85
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44eaaa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e990
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x45044b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44ebea
cmp ebx, 0xc0
jb 0x44ebea
test bl, 0x20
jne 0x44eb38
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44ebe7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44eb5f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44ebe5
test bl, 8
jne 0x44eb82
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 0x44ebe5
test bl, 4
jne 0x44ebb1
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 0x44ebe5
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44ec0c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x44ec33
cmp eax, 3
je 0x44ec33
xor eax, eax
jmp 0x44ec38
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44eaf0
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x45044b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44ed5a
cmp ebx, 0xc0
jb 0x44ed5a
test bl, 0x20
jne 0x44eca8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44ed57
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44eccf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44ed55
test bl, 8
jne 0x44ecf2
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 0x44ed55
test bl, 4
jne 0x44ed21
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 0x44ed55
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 0x44ed9d
je case.0x44edb9.8192
cmp ebx, 0x85
ja 0x44ed89
je case.0x44edb9.8192
cmp ebx, 9
jb case.0x44edb9.8203
cmp ebx, 0xd
jbe case.0x44edb9.8192
cmp ebx, 0x20
jmp 0x44edce
cmp ebx, 0xa0
je case.0x44edb9.8192
cmp ebx, 0x1680
jmp 0x44edce
cmp ebx, 0x202f
ja 0x44edc0
je case.0x44edb9.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x44edb9.8203
movzx eax, byte [eax + 0x4571f8]
jmp dword [eax*4 + 0x4571f0]
cmp ebx, 0x205f
je case.0x44edb9.8192
cmp ebx, 0x3000
je case.0x44edb9.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44edf2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
cmp dword [eax*4 + 0x50d0d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x450176.14
jmp 0x44ee26
cmp dword [esi + 0x68], 0
jne case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44ec60
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x45044b
jmp 0x44ee50
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44ef48
cmp ebx, 0xc0
jb 0x44ef48
test bl, 0x20
jne 0x44ee98
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44ef45
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44eebf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44ef45
test bl, 8
jne 0x44eee2
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 0x44ef45
test bl, 4
jne 0x44ef11
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 0x44ef45
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 + 0x50e948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44ef6b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x44ef97
cmp eax, 3
je 0x44ef97
cmp ebx, 0x5f
je 0x44ef97
xor eax, eax
jmp 0x44ef9c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x450176.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44ee50
jmp 0x45044b
mov ebx, 1
cmp ecx, ebx
jl 0x45044b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44f0bc
cmp edx, 0xc0
jb 0x44f0bc
test dl, 0x20
jne 0x44f00c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44f0b9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44f033
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x44f0b9
test dl, 8
jne 0x44f056
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 0x44f0b9
test dl, 4
jne 0x44f085
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 0x44f0b9
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 + 0x50d188]
lea eax, [eax*4 + 0x50d188]
cmp edx, ecx
jb 0x44f0de
lea eax, [eax + 4]
cmp edx, ecx
je 0x44f0fa
mov ecx, dword [eax]
cmp edx, ecx
jae 0x44f0d1
cmp dword [esi + 0x68], 0
je case.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44efc4
jmp 0x45044b
cmp dword [esi + 0x68], 0
jne case.0x450176.14
jmp 0x44f0e8
mov ebx, 1
cmp ecx, ebx
jl 0x45044b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44f20d
cmp edx, 0xc0
jb 0x44f20d
test dl, 0x20
jne 0x44f15b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44f20a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44f182
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44f208
test dl, 8
jne 0x44f1a5
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 0x44f208
test dl, 4
jne 0x44f1d4
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 0x44f208
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 0x44f238
cmp edx, 0x40
je 0x44f238
cmp edx, 0x60
je 0x44f238
cmp edx, 0xa0
jb 0x44f22c
cmp edx, 0xd7ff
jbe 0x44f238
cmp edx, 0xe000
jae 0x44f238
xor eax, eax
jmp 0x44f23d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f113
jmp 0x45044b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x44f583
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x45044b
jmp 0x44f280
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c267
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x44f380
cmp ebx, 0xc0
jb 0x44f380
test bl, 0x20
jne 0x44f2c9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44f37d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f2f0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44f376
test bl, 8
jne 0x44f313
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 0x44f376
test bl, 4
jne 0x44f342
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 0x44f376
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44f3a2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2ca]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f53d
jmp 0x44f3d0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x44f4ce
cmp ebx, 0xc0
jb 0x44f4ce
test bl, 0x20
jne 0x44f405
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x44f4c6
test bl, 0x10
jne 0x44f42a
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 0x44f4c6
test bl, 8
jne 0x44f458
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 0x44f4c6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x44f492
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 0x44f4c6
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44f4f0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx ecx, byte [eax*8 + 0x50d2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d150], eax
je 0x44f536
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 0x44f3d0
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x44f56a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44f56a
cmp eax, dword [ebp + 0x84]
jbe 0x44f56a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x44f280
jmp 0x45044b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x45004f
cmp eax, 0xf
ja case.0x452597.9
jmp dword [eax*4 + 0x457224]
mov ebx, 1
cmp ecx, ebx
jl 0x450452
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44c267
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44f5e7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00458f80
add esp, 0x14
test eax, eax
jne case.0x450176.14
jmp 0x44f60b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44f60b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44f60b
cmp edx, 1
je case.0x450176.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x450176.14
cmp dword [ebp + 0x88], 0
je 0x44f646
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x44f646
cmp dword [ebp + 0x18], 0
jne 0x44f646
cmp dword [edi], 2
jne 0x44f646
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x44f646
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44f662
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44f662
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x44f651
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f5b2
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x44e53d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x44f6b8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44f6b8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x44f6a0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44f684
jmp 0x45044b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x449feb
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x45044b
mov ebx, 1
cmp ecx, ebx
jl 0x450452
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44f7dc
test dl, 0x20
jne 0x44f72a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44f7d9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44f751
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44f7d7
test dl, 8
jne 0x44f774
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 0x44f7d7
test dl, 4
jne 0x44f7a3
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 0x44f7d7
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 0x44f800
je 0x44f7ed
cmp edx, 0xa
je 0x44f821
lea eax, [edx - 0xb]
jmp 0x44f80e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f821
cmp byte [eax], 0xa
jne 0x44f821
inc eax
mov dword [esi + 8], eax
jmp 0x44f821
cmp edx, 0x85
je 0x44f817
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x450176.14
cmp dword [ebp + 0x68], 0
jne case.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f6f0
jmp 0x45044b
mov ebx, 1
cmp ecx, ebx
jl 0x450452
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44f92c
test dl, 0x20
jne 0x44f87a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44f929
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44f8a1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44f927
test dl, 8
jne 0x44f8c4
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 0x44f927
test dl, 4
jne 0x44f8f3
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 0x44f927
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 0x44f95e
je case.0x450176.14
cmp edx, 0xa0
ja 0x44f956
je case.0x450176.14
cmp edx, 9
je case.0x450176.14
cmp edx, 0x20
jmp 0x44f98e
cmp edx, 0x1680
jmp 0x44f98e
cmp edx, 0x205f
ja 0x44f988
je case.0x450176.14
cmp edx, 0x2000
jb 0x44f994
cmp edx, 0x200a
jbe case.0x450176.14
cmp edx, 0x202f
jmp 0x44f98e
cmp edx, 0x3000
je case.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f840
jmp 0x45044b
mov ebx, 1
cmp ecx, ebx
jl 0x450452
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44fa9f
test dl, 0x20
jne 0x44f9ed
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44fa9c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44fa14
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44fa9a
test dl, 8
jne 0x44fa37
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 0x44fa9a
test dl, 4
jne 0x44fa66
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 0x44fa9a
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 0x44fac5
je 0x44faf7
cmp edx, 0xa0
ja 0x44fabd
je 0x44faf7
cmp edx, 9
je 0x44faf7
cmp edx, 0x20
jmp 0x44faf1
cmp edx, 0x1680
jmp 0x44faf1
cmp edx, 0x205f
ja 0x44faeb
je 0x44faf7
cmp edx, 0x2000
jb case.0x450176.14
cmp edx, 0x200a
jbe 0x44faf7
cmp edx, 0x202f
jmp 0x44faf1
cmp edx, 0x3000
jne case.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f9b3
jmp 0x45044b
mov ebx, 1
cmp ecx, ebx
jl 0x450452
jmp 0x44fb20
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44fc0c
test dl, 0x20
jne 0x44fb5a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44fc09
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44fb81
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44fc07
test dl, 8
jne 0x44fba4
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 0x44fc07
test dl, 4
jne 0x44fbd3
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 0x44fc07
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 0x44fc24
je case.0x450176.14
cmp edx, 0xa
jb 0x44fc38
cmp edx, 0xd
jmp 0x44fc32
cmp edx, 0x2028
jb 0x44fc38
cmp edx, 0x2029
jbe case.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44fb20
jmp 0x45044b
mov ebx, 1
cmp ecx, ebx
jl 0x450452
jmp 0x44fc60
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44fd4c
test dl, 0x20
jne 0x44fc9a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44fd49
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44fcc1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44fd47
test dl, 8
jne 0x44fce4
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 0x44fd47
test dl, 4
jne 0x44fd13
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 0x44fd47
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 0x44fd5e
je 0x44fd6d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x44fd67
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44fc60
jmp 0x45044b
mov ebx, 1
cmp ecx, ebx
jl 0x450452
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c267
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44fe7c
test dl, 0x20
jne 0x44fdca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44fe79
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44fdf1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44fe77
test dl, 8
jne 0x44fe14
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 0x44fe77
test dl, 4
jne 0x44fe43
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 0x44fe77
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 0x44fe91
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x450176.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44fd90
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e53d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x450176.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x450176.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x44feb0
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x44e53d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x44ff23
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x450176.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x44ff48
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44ff48
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x44ff30
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44ff00
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e53d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x450176.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x450176.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x44ff63
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x44e53d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x44ffd3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x450176.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x44fff8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44fff8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x44ffe0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44ffb0
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e53d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x450176.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x450176.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x450013
jmp 0x45044b
cmp eax, 0xf
ja case.0x452597.9
jmp dword [eax*4 + 0x457264]
mov ebx, 1
cmp ecx, ebx
jl 0x450452
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44c267
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4500a0
push 0
push edi
push eax
push edx
push ecx
call fcn.00458f80
add esp, 0x14
test eax, eax
jne case.0x450176.14
jmp 0x4500c4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x4500c4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4500c4
cmp edx, 1
je case.0x450176.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x450176.14
cmp dword [ebp + 0x88], 0
je 0x4500ff
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4500ff
cmp dword [ebp + 0x18], 0
jne 0x4500ff
cmp dword [edi], 2
jne 0x4500ff
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4500ff
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x450070
jmp 0x45044b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x44f6d6
cmp dword [ebp + 0x88], ebx
je case.0x450176.14
cmp edx, dword [ebp + 0x84]
jbe case.0x450176.14
jmp 0x44a142
mov edx, 1
cmp ecx, edx
jl 0x45044b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e53d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x450176.14
movzx eax, byte [eax + 0x4572b4]
jmp dword [eax*4 + 0x4572a4]
cmp ecx, dword [ebp + 0x78]
jae case.0x450176.10
cmp byte [ecx], 0xa
jne case.0x450176.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x450176.10
cmp dword [ebp + 0x68], ebx
jne case.0x450176.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x450150
jmp 0x45044b
mov edx, 1
cmp ecx, edx
jl 0x45044b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x450176.14
cmp ecx, 0x20
je case.0x450176.14
cmp ecx, 0xa0
je case.0x450176.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4501b3
jmp 0x45044b
mov edx, 1
cmp ecx, edx
jl 0x45044b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x450229
cmp ecx, 0x20
je 0x450229
cmp ecx, 0xa0
jne case.0x450176.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x450200
jmp 0x45044b
mov edx, 1
cmp ecx, edx
jl 0x45044b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x450271
cmp ecx, 0xd
jle case.0x450176.14
cmp ecx, 0x85
je case.0x450176.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x450244
jmp 0x45044b
mov edx, 1
cmp ecx, edx
jl 0x45044b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x450176.14
cmp ecx, 0xd
jle 0x4502bd
cmp ecx, 0x85
jne case.0x450176.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x450290
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
jmp 0x4502e0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x450176.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4502e0
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x450176.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x450320
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x450176.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x450360
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x450176.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4503a0
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
jmp 0x4503e0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x450176.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4503e0
jmp 0x45044b
mov edi, 1
cmp ecx, edi
jl 0x450452
jmp 0x450420
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e53d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x450176.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x450420
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x4491ea
cmp dword [esp + 0x84], 0
je 0x4504b2
mov eax, dword [esi + 0x60]
test eax, eax
js 0x450495
cmp eax, 0xa
ja case.0x452597.9
jmp dword [eax*4 + 0x457330]
mov esi, dword [esi]
test esi, esi
je case.default.0x452a64
mov edi, 0xfffffff2
jmp 0x452a50
cmp dword [esi + 0x7c], 0x16
je 0x456683
test edx, edx
jne 0x45666e
mov dword [esi + 0x84], ecx
jmp 0x4538e5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4514eb
cmp eax, 0xa
ja case.0x452597.9
jmp dword [eax*4 + 0x45735c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4514d8
mov ebx, dword [esp + 0x8c]
jmp 0x4504f0
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x45055b
movzx ecx, byte [edx]
test ebx, ebx
je 0x45053e
cmp ecx, 0xc0
jb 0x45053e
test cl, 0x20
jne 0x450518
mov eax, 2
jmp 0x45053e
test cl, 0x10
jne 0x450524
mov eax, 3
jmp 0x45053e
test cl, 8
jne 0x450530
mov eax, 4
jmp 0x45053e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4514d8
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4504f0
jmp 0x4514d8
cmp dword [ebp + 0x88], 0
je 0x4514d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4514d8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4514d8
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x452a50
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4514d8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45071e
movzx ebx, byte [edi]
test edx, edx
je 0x45069c
cmp ebx, 0xc0
jb 0x45069c
test bl, 0x20
jne 0x4505fe
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x450694
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45061d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x450694
and eax, 0x3f
test bl, 8
jne 0x45063d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x450694
test bl, 4
jne 0x450666
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 0x450694
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4506be
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
cmp eax, 9
je 0x4506e3
cmp eax, 5
je 0x4506e3
cmp eax, 8
je 0x4506e3
xor eax, eax
jmp 0x4506e8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4514d8
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 0x4505c0
jmp 0x4514d8
cmp dword [ebp + 0x88], 0
je 0x4514d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4514d8
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4514d8
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edi, 0xfffffff4
jmp 0x452a50
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4514d8
jmp 0x450780
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x450902
movzx ebx, byte [edi]
test edx, edx
je 0x450883
cmp ebx, 0xc0
jb 0x450883
test bl, 0x20
jne 0x4507ca
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45087b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4507f2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45087b
and eax, 0x3f
test bl, 8
jne 0x450818
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 0x45087b
test bl, 4
jne 0x450847
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 0x45087b
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4508a5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4514d8
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 0x450780
jmp 0x4514d8
cmp dword [ebp + 0x88], 0
je 0x4514d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4514d8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x450743
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4514d8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x450902
movzx ebx, byte [edi]
test edx, edx
je 0x450a4f
cmp ebx, 0xc0
jb 0x450a4f
test bl, 0x20
jne 0x450996
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x450a47
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4509be
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x450a47
and eax, 0x3f
test bl, 8
jne 0x4509e4
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 0x450a47
test bl, 4
jne 0x450a13
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 0x450a47
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x450a71
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4514d8
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 0x450950
jmp 0x4514d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4514d8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x450902
movzx ebx, byte [edi]
test edx, edx
je 0x450be3
cmp ebx, 0xc0
jb 0x450be3
test bl, 0x20
jne 0x450b2a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x450bdb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x450b52
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x450bdb
and eax, 0x3f
test bl, 8
jne 0x450b78
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 0x450bdb
test bl, 4
jne 0x450ba7
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 0x450bdb
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x450c05
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4514d8
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 0x450ae0
jmp 0x4514d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4514d8
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45071e
movzx ebx, byte [edi]
test edx, edx
je 0x450d53
cmp ebx, 0xc0
jb 0x450d53
test bl, 0x20
jne 0x450cb2
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x450d4b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x450cd4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x450d4b
and eax, 0x3f
test bl, 8
jne 0x450cf4
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x450d4b
test bl, 4
jne 0x450d1d
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 0x450d4b
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x450d75
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x450d9c
cmp eax, 3
je 0x450d9c
xor eax, eax
jmp 0x450da1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4514d8
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 0x450c74
jmp 0x4514d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4514d8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x450902
movzx ebx, byte [edi]
test edx, edx
je 0x450efd
cmp ebx, 0xc0
jb 0x450efd
test bl, 0x20
jne 0x450e42
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x450efd
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x450e6a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x450ef3
and eax, 0x3f
test bl, 8
jne 0x450e90
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 0x450ef3
test bl, 4
jne 0x450ebf
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 0x450ef3
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 0x450f40
je case.0x450f60.8192
cmp ebx, 0x85
ja 0x450f2c
je case.0x450f60.8192
cmp ebx, 9
jb case.0x450f60.8203
cmp ebx, 0xd
jbe case.0x450f60.8192
cmp ebx, 0x20
jmp 0x450f75
cmp ebx, 0xa0
je case.0x450f60.8192
cmp ebx, 0x1680
jmp 0x450f75
cmp ebx, 0x202f
ja 0x450f67
je case.0x450f60.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x450f60.8203
movzx eax, byte [eax + 0x457390]
jmp dword [eax*4 + 0x457388]
cmp ebx, 0x205f
je case.0x450f60.8192
cmp ebx, 0x3000
je case.0x450f60.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x450f99
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
cmp dword [eax*4 + 0x50d0d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4514d8
mov edx, dword [esp + 0x8c]
jmp 0x450fd4
cmp dword [esi + 0x68], 0
jne 0x4514d8
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 0x450df0
jmp 0x4514d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4514d8
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x450902
movzx ebx, byte [edi]
test edx, edx
je 0x451123
cmp ebx, 0xc0
jb 0x451123
test bl, 0x20
jne 0x45106a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45111b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x451092
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45111b
and eax, 0x3f
test bl, 8
jne 0x4510b8
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 0x45111b
test bl, 4
jne 0x4510e7
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 0x45111b
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 + 0x50e948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x451146
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x451172
cmp eax, 3
je 0x451172
cmp ebx, 0x5f
je 0x451172
xor eax, eax
jmp 0x451177
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4514d8
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 0x451020
jmp 0x4514d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4514d8
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45130f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4512b1
cmp edx, 0xc0
jb 0x4512b1
test dl, 0x20
jne 0x451214
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4512a9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451233
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4512a9
and eax, 0x3f
test dl, 8
jne 0x451253
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4512a9
test dl, 4
jne 0x45127c
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 0x4512a9
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 + 0x50d188]
lea eax, [eax*4 + 0x50d188]
cmp edx, ecx
jb 0x4512d3
lea eax, [eax + 4]
cmp edx, ecx
je 0x451303
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4512c6
cmp dword [esi + 0x68], 0
je 0x4514d8
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 0x4511d0
jmp 0x4514d8
cmp dword [esi + 0x68], 0
jne 0x4514d8
jmp 0x4512dd
cmp dword [ebp + 0x88], 0
je 0x4514d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4514d8
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x4514d8
jmp 0x44a156
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4514d8
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4514b0
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x451467
cmp edx, 0xc0
jb 0x451467
test dl, 0x20
jne 0x45139d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x451467
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4513c7
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 0x451467
test dl, 8
jne 0x4513f3
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 0x451467
test dl, 4
jne 0x45142b
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 0x451467
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 0x451492
cmp edx, 0x40
je 0x451492
cmp edx, 0x60
je 0x451492
cmp edx, 0xa0
jb 0x451486
cmp edx, 0xd7ff
jbe 0x451492
cmp edx, 0xe000
jae 0x451492
xor ecx, ecx
jmp 0x451497
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x4514d8
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451351
jmp 0x4514d8
cmp dword [ebp + 0x88], 0
je 0x4514d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4514d8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
je 0x45598c
jmp 0x4491ea
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x451887
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x451838
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x451810
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x451610
cmp ebx, 0xc0
jb 0x451610
test bl, 0x20
jne 0x451559
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45160d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451580
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x451606
test bl, 8
jne 0x4515a3
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 0x451606
test bl, 4
jne 0x4515d2
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 0x451606
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x451632
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2ca]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4517cd
jmp 0x451660
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45175e
cmp ebx, 0xc0
jb 0x45175e
test bl, 0x20
jne 0x451695
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x451756
test bl, 0x10
jne 0x4516ba
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 0x451756
test bl, 8
jne 0x4516e8
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 0x451756
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x451722
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 0x451756
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x451780
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx ecx, byte [eax*8 + 0x50d2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d150], eax
je 0x4517c6
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 0x451660
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x4517fa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4517fa
cmp eax, dword [ebp + 0x84]
jbe 0x4517fa
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x451510
jmp 0x451838
cmp dword [ebp + 0x88], 0
je 0x451838
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x451838
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
cmp dword [esp + 0x80], 0
jne 0x4491ea
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456db5
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456dab
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
add eax, 0xfffffffa
test edx, edx
je 0x45258e
cmp eax, 0xf
ja case.0x452597.9
jmp dword [eax*4 + 0x4573bc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x451976
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4518e9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00458f80
add esp, 0x14
test eax, eax
jne 0x45257b
jmp 0x45190d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45190d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45190d
cmp edx, 1
je 0x45257b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45257b
cmp dword [ebp + 0x88], 0
je 0x451948
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x451948
cmp dword [ebp + 0x18], 0
jne 0x451948
cmp dword [edi], 2
jne 0x451948
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x451948
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x451964
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x451964
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x451953
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4518b4
jmp 0x45257b
cmp dword [ebp + 0x88], 0
je 0x45257b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45257b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45257b
jmp 0x44a156
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x451a08
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x45257b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x451976
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4519fa
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4519fa
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4519e2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4519d0
jmp 0x45257b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x45257b
cmp eax, dword [ebp + 0x84]
jbe 0x45257b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45257b
jmp 0x450749
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 0x451a8f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x45257b
cmp edx, dword [ebp + 0x84]
jbe 0x45257b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45257b
jmp 0x44a156
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x45257b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x451976
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x451bba
test dl, 0x20
jne 0x451aee
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x451bba
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x451b18
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 0x451bb8
test dl, 8
jne 0x451b44
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 0x451bb8
test dl, 4
jne 0x451b7c
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 0x451bb8
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 0x451bd6
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x45257b
cmp byte [eax], 0xa
jne 0x451c10
inc eax
jmp 0x451c0d
cmp edx, 0xa
je 0x451c0b
cmp dword [ebp + 0x68], 0
jne 0x45257b
cmp edx, 0xb
je 0x451c0b
cmp edx, 0xc
je 0x451c0b
cmp edx, 0x85
je 0x451c0b
cmp edx, 0x2028
je 0x451c0b
cmp edx, 0x2029
jne 0x45257b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x451ab0
jmp 0x45257b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451d8a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x451d08
test dl, 0x20
jne 0x451c6a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x451d00
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451c89
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x451d00
and eax, 0x3f
test dl, 8
jne 0x451ca9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x451d00
test dl, 4
jne 0x451cd2
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 0x451d00
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 0x451d2e
je 0x451d5c
cmp edx, 0xa0
ja 0x451d26
je 0x451d5c
cmp edx, 9
je 0x451d5c
cmp edx, 0x20
jmp 0x451d56
cmp edx, 0x1680
jmp 0x451d56
cmp edx, 0x205f
ja 0x451d50
je 0x451d5c
cmp edx, 0x2000
jb 0x451d58
cmp edx, 0x200a
jbe 0x451d5c
cmp edx, 0x202f
jmp 0x451d56
cmp edx, 0x3000
je 0x451d5c
xor edx, edx
jmp 0x451d61
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x45257b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451c34
jmp 0x45257b
cmp dword [ebp + 0x88], 0
je 0x45257b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45257b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x45257b
jmp 0x44a156
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451d8a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x451ea0
test dl, 0x20
jne 0x451e02
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x451e98
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451e21
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x451e98
and eax, 0x3f
test dl, 8
jne 0x451e41
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x451e98
test dl, 4
jne 0x451e6a
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 0x451e98
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 0x451edf
je 0x451eea
cmp edx, 0xa
jb 0x451eb4
cmp edx, 0xd
jbe 0x451eea
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x45257b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451dd0
jmp 0x45257b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x451eb4
mov edx, 1
jmp 0x451eb6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451d8a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x451fd7
test dl, 0x20
jne 0x451f39
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x451fcf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451f58
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x451fcf
and eax, 0x3f
test dl, 8
jne 0x451f78
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x451fcf
test dl, 4
jne 0x451fa1
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 0x451fcf
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 0x451fec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x45257b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451f03
jmp 0x45257b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
jmp 0x452020
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451d8a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4520f4
test dl, 0x20
jne 0x452056
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4520ec
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x452075
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4520ec
and eax, 0x3f
test dl, 8
jne 0x452095
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4520ec
test dl, 4
jne 0x4520be
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 0x4520ec
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 0x45257b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x45257b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452020
jmp 0x45257b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
jmp 0x452140
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451d8a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x452214
test dl, 0x20
jne 0x452176
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45220c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x452195
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45220c
and eax, 0x3f
test dl, 8
jne 0x4521b5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45220c
test dl, 4
jne 0x4521de
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 0x45220c
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 0x452229
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x45257b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452140
jmp 0x45257b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451d8a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x452327
test dl, 0x20
jne 0x452289
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45231f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4522a8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45231f
and eax, 0x3f
test dl, 8
jne 0x4522c8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45231f
test dl, 4
jne 0x4522f1
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 0x45231f
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 0x45257b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x45257b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452253
jmp 0x45257b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451d8a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x452444
test dl, 0x20
jne 0x4523a6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45243c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4523c5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45243c
and eax, 0x3f
test dl, 8
jne 0x4523e5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45243c
test dl, 4
jne 0x45240e
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 0x45243c
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 0x452459
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x45257b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452370
jmp 0x45257b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45257b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451d8a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x452557
test dl, 0x20
jne 0x4524b9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45254f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4524d8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45254f
and eax, 0x3f
test dl, 8
jne 0x4524f8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45254f
test dl, 4
jne 0x452521
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 0x45254f
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 0x45257b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x45257b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452483
cmp dword [esp + 0x80], 0
je 0x454e48
jmp 0x4491ea
cmp eax, 0xf
ja case.0x452597.9
jmp dword [eax*4 + 0x4573fc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x452a27
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x452654
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4525e0
push 0
push edi
push eax
push edx
push ecx
call fcn.00458f80
add esp, 0x14
test eax, eax
jne 0x452a27
jmp 0x452604
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x452604
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x452604
cmp edx, 1
je 0x452a27
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x452a27
cmp dword [ebp + 0x88], 0
je 0x45263f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45263f
cmp dword [ebp + 0x18], 0
jne 0x45263f
cmp dword [edi], 2
jne 0x45263f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45263f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4525b0
jmp 0x452a27
cmp dword [ebp + 0x88], 0
je 0x452a27
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x452a27
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x452a27
jmp 0x44a156
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 0x4526d8
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x452a27
cmp edx, dword [ebp + 0x84]
jbe 0x452a27
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x452a27
jmp 0x44a156
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x452a27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x452a27
jmp 0x452700
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452654
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x45272b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x452a27
cmp byte [eax], 0xa
jne 0x452755
inc eax
jmp 0x452752
cmp eax, 0xa
je 0x45274f
cmp dword [ebp + 0x68], 0
jne 0x452a27
cmp eax, 0xb
je 0x45274f
cmp eax, 0xc
je 0x45274f
cmp eax, 0x85
jne 0x452a27
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x452700
jmp 0x452a27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x452a27
jmp 0x452780
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452654
mov al, byte [ecx]
cmp al, 9
je 0x452a27
cmp al, 0x20
je 0x452a27
cmp al, 0xa0
je 0x452a27
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x452780
jmp 0x452a27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x452a27
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452654
mov al, byte [ecx]
cmp al, 9
je 0x4527ee
cmp al, 0x20
je 0x4527ee
cmp al, 0xa0
jne 0x452a27
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4527d0
jmp 0x452a27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x452a27
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452654
mov al, byte [ecx]
cmp al, 0xa
jb 0x452836
cmp al, 0xd
jbe 0x452a27
cmp al, 0x85
je 0x452a27
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x452814
jmp 0x452a27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x452a27
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452654
mov al, byte [ecx]
cmp al, 0xa
jb 0x452a27
cmp al, 0xd
jbe 0x452882
cmp al, 0x85
jne 0x452a27
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x452860
jmp 0x452a27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x452a27
jmp 0x4528b0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452654
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x452a27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4528b0
jmp 0x452a27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x452a27
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452654
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x452a27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4528f2
jmp 0x452a27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x452a27
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452654
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x452a27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x452934
jmp 0x452a27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x452a27
jmp 0x452980
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452654
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x452a27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x452980
jmp 0x452a27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x452a27
jmp 0x4529c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452654
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x452a27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4529c0
jmp 0x452a27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x452a27
jmp 0x452a00
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452654
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x452a27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x452a00
cmp dword [esp + 0x80], 0
je 0x453a8a
jmp 0x4491ea
mov esi, dword [esi]
test esi, esi
je 0x456f01
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.0x452a64
jmp dword [eax*4 + 0x45743c]
cmp edi, 0xfffffc1b
je 0x452b36
cmp edi, 0xfffffc20
jne 0x452ab3
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.0x452a64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x452aaf
cmp byte [ecx], 0x77
jne case.0x452a64.49
xor edi, edi
jmp 0x452abb
test edi, edi
jne case.0x452a64.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 0x452b36
cmp dword [esi + 0x9c], 0x88
jb 0x452b01
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45688a
push 0x134
call dword [0x9d30e8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456880
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x452f2c
mov edx, dword [esp + 0x8c]
jmp 0x452a54
cmp edi, 0xfffffc20
jne 0x452bf3
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 0x452c41
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x452bbe
cmp byte [ecx], 0x77
jne 0x452c41
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 0x452c57
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a54
test edi, edi
je 0x452bbe
cmp edi, 0xfffffc1b
jne 0x452c41
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x452c33
cmp al, 0x77
jne 0x452c24
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 0x452c10
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 0x452f2c
mov edx, dword [esp + 0x8c]
jmp 0x452a54
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x452ca9
cmp eax, 0x81
je 0x452ca9
cmp dword [ebp + 0x6c], 0
jne 0x452cb3
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 0x452cb3
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x50cfc0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x449170
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 0x4568ac
push 0x134
call dword [0x9d30e8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4568a2
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
cmp edi, 1
jne 0x452d73
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x452d10
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x452d23
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 0x452d59
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 0x452d40
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x50cfc0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x44961e.145
test edi, edi
je 0x452d83
cmp edi, 0xfffffc20
jne case.0x452a64.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x452d99
movzx eax, byte [edx + 0x50cfc0]
jmp 0x452d9c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x452db9
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x4491f1
cmp dword [esi + 0x9c], 0x8c
jne 0x449170
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4568ce
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4568c4
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
cmp edi, 1
je 0x452eb2
cmp edi, 0xfffffc19
je 0x452eb2
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x452e5a
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.0x452a64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x452e62
cmp byte [ecx], 0x77
jmp 0x452e5c
test edi, edi
jne case.0x452a64.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 0x452eb8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4568e7
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4568dd
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x452ed1
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a54
cmp dword [esi + 0x58], 0
je 0x45650e
mov esi, dword [esi]
test esi, esi
je 0x456ea6
mov edi, 1
jmp 0x452a54
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x452f9d
je 0x452f36
cmp edi, 0xfffffc19
je 0x4537d3
cmp edi, 0xfffffc1b
jle case.0x452a64.49
cmp edi, 0xfffffc1f
jle 0x452f5e
mov esi, dword [esi]
test esi, esi
jne 0x452a54
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 0x452f5e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x452fb0
cmp byte [ecx], 0x77
je 0x452fb0
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 0x452f61
cmp dword [esi + 0x58], 0
je 0x4531e7
mov esi, dword [esi]
test esi, esi
je 0x456ea6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x452a54
mov eax, edi
sub eax, 0
je 0x452fb0
dec eax
je 0x4537d3
jmp case.0x452a64.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 0x452f78
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4568fd
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4568f3
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
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 0x45653c
cmp edi, 0xfffffc19
je 0x45653c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x453069
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x449feb
push ecx
call dword [0x9d30e4]
add esp, 4
jmp 0x449feb
test edi, edi
je 0x453093
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x453084
push ecx
call dword [0x9d30e4]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x452f2c
jmp 0x452a49
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 0x4530f9
cmp dword [esi + 0x58], 0
je 0x4530c4
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x456943
push 0x134
call dword [0x9d30e8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456939
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x453049
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x453153
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456991
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456987
mov esi, dword [esi]
test esi, esi
je 0x456e5b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452a54
cmp al, 0x88
jb 0x456694
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4569b3
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4569a9
mov esi, dword [esi]
test esi, esi
je 0x456e5b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452a54
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x456eb3
mov edi, 0xfffffc1b
jmp 0x452a54
test edi, edi
jne case.0x452a64.49
mov edx, dword [esi + 0x2c]
jmp 0x4531d0
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 0x4531d0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x4491ea
test edi, edi
je 0x44aa64
jmp case.0x452a64.49
test edi, edi
je 0x45319f
jmp case.0x452a64.49
cmp edi, 0xfffffc1b
jne 0x45321b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x45321d
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x45400b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4569d5
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4569cb
mov esi, dword [esi]
test esi, esi
je 0x456e5b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452a54
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x453290
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.00457690
add esp, 0x14
test eax, eax
jns 0x4532f7
cmp eax, 0xfffffffe
jne 0x4532b9
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x454dd1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x454dd1
cmp eax, dword [ebp + 0x84]
jbe 0x454dd1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44c00e
jmp 0x454dd1
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4569fa
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4569f0
mov esi, dword [esi]
test esi, esi
je 0x456e5b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x452a54
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x450176.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456a13
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456a09
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4533b7
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454eb6
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 0x454dd1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456a2c
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456a22
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x449feb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456a45
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456a3b
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x453491
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454eb6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4534c1
cmp dword [esi + 0x94], ecx
je 0x4534c1
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a54
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456a5e
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456a54
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
dec dword [esi + 8]
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456a77
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456a6d
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x453571
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454eb6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x454dd1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456a90
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456a86
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
dec dword [esi + 8]
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456aa9
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456a9f
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45363e
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454eb6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4537d3
cmp dword [esi + 0x94], ecx
je 0x4537d3
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456ac2
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456ab8
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456adb
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456ad1
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x453715
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454eb6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x454dd1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456af1
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456ae7
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456b07
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456afd
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4537e4
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a54
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x45382b
cmp dword [ebp + 0x88], 0
je 0x453813
cmp ecx, dword [ebp + 0x84]
jbe 0x453813
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44c00e
mov esi, dword [esi]
test esi, esi
je 0x456e68
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452a54
cmp dword [esi + 0x7c], 0xc
jne 0x453852
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x453874
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00458f80
add esp, 0x14
test eax, eax
jne 0x453891
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.0x45386d.15
jmp dword [eax*4 + 0x457548]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x453852
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x453852
cmp edi, 1
je 0x453891
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x453852
mov esi, dword [esi]
test esi, esi
je 0x456e68
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452a54
cmp dword [ebp + 0x88], 0
je case.0x45386d.13
cmp edx, dword [ebp + 0x78]
jb case.0x45386d.13
cmp dword [ebp + 0x18], 0
jne case.0x45386d.13
cmp dword [ebp + 0x1c], 2
jne case.0x45386d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x45386d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44c00e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456b1d
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456b13
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x45392d.14
movzx eax, byte [ecx + 0x457598]
jmp dword [eax*4 + 0x457588]
cmp edx, dword [ebp + 0x78]
jae case.0x45386d.13
cmp byte [edx], 0xa
jne case.0x45386d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x45386d.13
cmp dword [ebp + 0x68], 0
je case.0x45386d.13
jmp case.0x45392d.14
cmp ecx, 9
je case.0x45392d.14
cmp ecx, 0x20
je case.0x45392d.14
cmp ecx, 0xa0
jmp 0x453a2a
cmp ecx, 9
je case.0x45386d.13
cmp ecx, 0x20
je case.0x45386d.13
cmp ecx, 0xa0
je case.0x45386d.13
jmp case.0x45392d.14
cmp ecx, 0xa
jb case.0x45386d.13
cmp ecx, 0xd
jbe case.0x45392d.14
cmp ecx, 0x85
jmp 0x453a2a
cmp ecx, 0xa
jb case.0x45392d.14
cmp ecx, 0xd
jbe case.0x45386d.13
cmp ecx, 0x85
je case.0x45386d.13
jmp case.0x45392d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x45386d.13
jmp case.0x45392d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x453a2a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x45386d.13
jmp case.0x45392d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x453a2a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x45386d.13
mov esi, dword [esi]
test esi, esi
je 0x456e68
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452a54
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x45386d.13
mov esi, dword [esi]
test esi, esi
je 0x456e68
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452a54
mov esi, dword [esi]
test esi, esi
je case.default.0x452a64
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x452a54
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x453a8a
cmp eax, dword [esi + 0x30]
jbe 0x453a8a
cmp byte [eax], 0xa
jne 0x453a8a
cmp byte [eax - 1], 0xd
jne 0x453a8a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456b33
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456b29
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
cmp edi, 0xfffffc1a
jne 0x453b21
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 0x453b19
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 0x453b00
jmp 0x453b78
mov dword [esi + 8], eax
jmp 0x453b9d
cmp edi, 0xfffffc20
jne 0x453b55
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.0x452a64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x453b5d
cmp byte [ecx], 0x77
jmp 0x453b57
test edi, edi
jne case.0x452a64.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 0x453b91
cmp dword [esi + 0x5c], 0
jne 0x4531e7
cmp dword [esi + 0x54], 0
jne 0x4531e7
jmp 0x454dd1
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x453bb3
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x456b75
push 0x134
call dword [0x9d30e8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456b6b
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
mov esi, dword [esi]
test edi, edi
jne 0x452f24
test esi, esi
je 0x456ecd
mov edi, 0xfffffc1c
jmp 0x452a54
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x456ee7
mov edi, 0xfffffc1e
jmp 0x452a54
cmp edi, 1
je 0x453c33
cmp edi, 0xfffffc19
jne 0x453c4d
cmp dword [ebp + 0xac], 0
jne 0x453c4d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x452c41
cmp edi, 0xfffffc1f
jne 0x452c41
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x453c82
test dl, dl
je 0x453c7e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x453c82
add eax, 2
add ecx, 2
test dl, dl
jne 0x453c62
xor eax, eax
jmp 0x453c87
sbb eax, eax
or eax, 1
test eax, eax
jne 0x452c41
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x456ee7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x452a54
cmp edi, 1
je 0x453cbd
cmp edi, 0xfffffc19
jne case.0x452a64.51
cmp dword [ebp + 0xac], 0
jne case.0x452a64.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x452f24
test esi, esi
je 0x456ec0
mov edi, 0xfffffc1d
jmp 0x452a54
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x456ef4
mov edi, 0xfffffc1f
jmp 0x452a54
cmp edi, 1
je 0x453d20
cmp edi, 0xfffffc19
jne case.0x452a64.54
cmp dword [ebp + 0xac], 0
jne case.0x452a64.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x456eda
mov edi, 0xfffffc20
jmp 0x452a54
cmp edi, 0xfffffc1a
jne 0x453dc1
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 0x453db9
mov edx, dword [esi + 0xc]
jmp 0x453da0
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 0x453da0
jmp 0x453e28
mov dword [esi + 8], eax
jmp 0x449d22
cmp edi, 0xfffffc20
jne 0x453df5
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.0x452a64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x453dfd
cmp byte [ecx], 0x77
jmp 0x453df7
test edi, edi
jne case.0x452a64.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 0x449d22
cmp dword [esi + 0x5c], 0
jne 0x453e68
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 0x4491e6
cmp dword [esi + 0x5c], 0
jne 0x4491e6
jmp 0x454dd1
cmp edi, 1
jne 0x453f24
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x453ea1
cmp al, 0x77
jne 0x454dd1
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 0x453ea1
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 0x4491e6
cmp ecx, dword [esi + 0x38]
je 0x4491e6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x453fbd
test ecx, ecx
jne 0x456bde
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456bd4
mov esi, dword [esi]
test esi, esi
je 0x456e5b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452a54
cmp edi, 0xfffffc20
jne 0x453f58
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.0x452a64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x453f60
cmp byte [ecx], 0x77
jmp 0x453f5a
test edi, edi
jne case.0x452a64.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 0x453e90
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456bb9
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456baf
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test ecx, ecx
jne 0x456c03
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456bf9
mov esi, dword [esi]
test esi, esi
je 0x456e5b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452a54
test edi, edi
je 0x456694
jmp case.0x452a64.49
test edi, edi
jne case.0x452a64.49
add dword [esi + 0xc], 3
jmp 0x449170
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x454039
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45413a
cmp ebx, 0xc0
jb 0x45413a
test bl, 0x20
jne 0x45407b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454137
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4540a5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45413a
mov edx, dword [esi + 8]
test bl, 8
jne 0x4540cb
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 0x45412e
test bl, 4
jne 0x4540fa
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 0x45412e
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.00458910
add esp, 0xc
test eax, eax
je 0x449feb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c25
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c1b
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x454dd1
cmp dword [esp + 0x8c], edi
je 0x4541c1
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4541c1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4541b5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c3e
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c34
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45421b
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x454310
test bl, 0x20
jne 0x454255
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45430d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45427f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x454310
mov edx, dword [esi + 8]
test bl, 8
jne 0x4542a8
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 0x45430b
test bl, 4
jne 0x4542d7
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 0x45430b
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 0x454326
cmp dword [esi + 0x9c], 0x6e
jne 0x454343
jmp 0x449feb
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 0x449feb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c57
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c4d
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x449feb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4543ac
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4543a0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c70
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c66
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x454406
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
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 0x454475
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x454435
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45443a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x454424
cmp edi, 0xfffffffc
je 0x454467
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x454472
cmp edi, 0xfffffffd
je 0x454467
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x454472
cmp edi, 0xfffffffe
je 0x454467
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x454472
cmp edi, 0xffffffff
je 0x454467
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x454472
mov eax, dword [esi + 0x88]
jmp 0x4544e0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x454520
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x454520
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4544a7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4544ac
add ecx, 4
add edx, 4
sub edi, 4
jae 0x454496
cmp edi, 0xfffffffc
je 0x4544dd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x454520
cmp edi, 0xfffffffd
je 0x4544dd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x454520
cmp edi, 0xfffffffe
je 0x4544dd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x454520
cmp edi, 0xffffffff
je 0x4544dd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x454520
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 0x456c89
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c7f
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
cmp dword [ebp + 0x88], 0
je case.0x450176.14
cmp ebx, dword [ebp + 0x78]
jb case.0x450176.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x450176.14
jmp 0x44a142
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45456c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x454560
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456ca2
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c98
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4545d2
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4546d2
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x45460c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4546cf
test dl, 0x10
jne 0x45462e
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 0x4546d2
mov ecx, dword [esi + 8]
test dl, 8
jne 0x45465e
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 0x4546cf
test dl, 4
jne 0x454694
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 0x4546cf
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 0x453891
cmp dword [esi + 0x94], edx
je 0x453891
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x454719
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x453325
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x456b3d
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45474c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x454740
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456cbb
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456cb1
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4547b2
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x4548a7
test bl, 0x20
jne 0x4547ec
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4548a4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x454816
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4548a7
mov edx, dword [esi + 8]
test bl, 8
jne 0x45483f
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 0x4548a2
test bl, 4
jne 0x45486e
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 0x4548a2
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 0x449feb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456cd4
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456cca
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454910
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x454904
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456ced
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456ce3
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x454976
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4549b2
cmp dword [ebp + 0x88], 0
je 0x454dd1
cmp ecx, dword [ebp + 0x84]
jbe 0x454dd1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44c00e
jmp 0x454dd1
cmp dword [esi + 0x7c], 0xc
jne 0x454a04
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4549df
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00458f80
add esp, 0x14
test eax, eax
jne 0x454dd1
jmp 0x454a04
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x454a04
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x454a04
cmp edi, 1
je 0x454dd1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x454dd1
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x454aec
test dl, 0x20
jne 0x454a37
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x454ae9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x454a5e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x454ae7
test dl, 8
jne 0x454a84
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 0x454ae7
test dl, 4
jne 0x454ab3
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 0x454ae7
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.0x454afb.15
jmp dword [eax*4 + 0x457614]
cmp dword [ebp + 0x88], 0
je case.0x454afb.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x454afb.13
cmp dword [ebp + 0x18], 0
jne case.0x454afb.13
cmp dword [ebp + 0x1c], 2
jne case.0x454afb.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x454afb.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x454afb.13
jmp 0x44c00e
cmp edx, 0xd
ja 0x454b7e
je 0x454b6b
cmp edx, 0xa
je case.0x454afb.13
jbe 0x454dd1
cmp edx, 0xc
jmp 0x454b98
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x454afb.13
cmp byte [eax], 0xa
jne case.0x454afb.13
inc eax
mov dword [esi + 8], eax
jmp case.0x454afb.13
cmp edx, 0x85
je 0x454b9e
cmp edx, 0x2027
jbe 0x454dd1
cmp edx, 0x2029
ja 0x454dd1
cmp dword [ebp + 0x68], 0
je case.0x454afb.13
jmp 0x454dd1
cmp edx, 0x180e
ja 0x454c1d
je 0x454dd1
cmp edx, 0xa0
ja 0x454c15
je 0x454dd1
cmp edx, 9
je 0x454dd1
cmp edx, 0x20
je 0x454dd1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x454c06
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x453325
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x456b3d
cmp edx, 0x1680
jmp 0x454bd1
cmp edx, 0x205f
ja 0x454c47
je 0x454dd1
cmp edx, 0x2000
jb case.0x454afb.13
cmp edx, 0x200a
jbe 0x454dd1
cmp edx, 0x202f
jmp 0x454bd1
cmp edx, 0x3000
jmp 0x454dcb
cmp edx, 0x180e
ja 0x454c84
je case.0x454afb.13
cmp edx, 0xa0
ja 0x454c7c
je case.0x454afb.13
cmp edx, 9
je case.0x454afb.13
cmp edx, 0x20
jmp 0x454cb8
cmp edx, 0x1680
jmp 0x454cb8
cmp edx, 0x205f
ja 0x454cb2
je case.0x454afb.13
cmp edx, 0x2000
jb 0x454dd1
cmp edx, 0x200a
jbe case.0x454afb.13
cmp edx, 0x202f
jmp 0x454cb8
cmp edx, 0x3000
je case.0x454afb.13
jmp 0x454dd1
cmp edx, 0x85
ja 0x454ce8
je 0x454dd1
cmp edx, 0xa
jb case.0x454afb.13
cmp edx, 0xd
jbe 0x454dd1
jmp case.0x454afb.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x454afb.13
jmp 0x454dd1
cmp edx, 0x85
ja 0x454d18
je case.0x454afb.13
cmp edx, 0xa
jb 0x454dd1
cmp edx, 0xd
jmp 0x454d21
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x454afb.13
jmp 0x454dd1
cmp edx, 0x100
jae case.0x454afb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x454afb.13
jmp 0x454dd1
cmp edx, 0x100
jae 0x454dd1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x454dcb
cmp edx, 0x100
jae case.0x454afb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x454afb.13
jmp 0x454dd1
cmp edx, 0x100
jae 0x454dd1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x454dcb
cmp edx, 0x100
jae case.0x454afb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x454afb.13
mov esi, dword [esi]
test esi, esi
je 0x456e68
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452a54
cmp edx, 0x100
jae 0x454dd1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x454afb.13
mov esi, dword [esi]
test esi, esi
je 0x456e68
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452a54
mov esi, dword [esi]
test esi, esi
je case.default.0x452a64
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x452a54
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454e2c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x454e20
cmp dword [esi + 0x7c], 0x11
jne 0x454e48
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x454e48
cmp byte [eax], 0xa
jne 0x454e48
dec eax
cmp byte [eax], 0xd
jne 0x454e48
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456d06
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456cfc
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x454eae
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x454ece
cmp dword [ebp + 0x88], 0
je 0x4537d3
cmp eax, dword [ebp + 0x84]
jmp 0x455629
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x454f0d
cmp ecx, 0xc0
jb 0x454f0d
test cl, 0x20
jne 0x454ee9
inc eax
jmp 0x454f0a
test cl, 0x10
jne 0x454ef3
add eax, 2
jmp 0x454f0a
test cl, 8
jne 0x454efd
add eax, 3
jmp 0x454f0a
test cl, 4
jne 0x454f07
add eax, 4
jmp 0x454f0a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x454f24
mov esi, dword [esi]
test esi, esi
je 0x456e68
xor edi, edi
jmp 0x452a54
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x454f53
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x453325
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x456b3d
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x454f87
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455081
cmp ebx, 0xc0
jb 0x455081
test bl, 0x20
jne 0x454fc9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45507e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x454ff3
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455081
mov edx, dword [esi + 8]
test bl, 8
jne 0x455019
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 0x45507c
test bl, 4
jne 0x455048
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 0x45507c
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4550a3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
cmp eax, 9
je 0x4550c8
cmp eax, 5
je 0x4550c8
cmp eax, 8
je 0x4550c8
xor eax, eax
jmp 0x4550cd
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x449feb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456d1f
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456d15
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455136
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45522c
cmp ebx, 0xc0
jb 0x45522c
test bl, 0x20
jne 0x455178
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455229
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4551a0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45522c
mov edx, dword [esi + 8]
test bl, 8
jne 0x4551c6
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 0x455229
test bl, 4
jne 0x4551f5
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 0x455229
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45524e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x449feb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456d38
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456d2e
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4552d8
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4553ce
cmp ebx, 0xc0
jb 0x4553ce
test bl, 0x20
jne 0x45531a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4553cb
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455342
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4553ce
mov edx, dword [esi + 8]
test bl, 8
jne 0x455368
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 0x4553cb
test bl, 4
jne 0x455397
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 0x4553cb
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4553f0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x449feb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456d51
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456d47
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455473
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455569
cmp ebx, 0xc0
jb 0x455569
test bl, 0x20
jne 0x4554b5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455566
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4554dd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x455569
mov edx, dword [esi + 8]
test bl, 8
jne 0x455503
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 0x455566
test bl, 4
jne 0x455532
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 0x455566
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45558b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x449feb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456d6a
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456d60
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45560e
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x455657
cmp dword [ebp + 0x88], 0
je 0x4537d3
cmp edi, dword [ebp + 0x84]
jbe 0x4537d3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4537d3
mov esi, dword [esi]
test esi, esi
je 0x456e8c
mov edi, 0xfffffff4
jmp 0x452a54
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455745
cmp ebx, 0xc0
jb 0x455745
test bl, 0x20
jne 0x45568d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455742
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4556b7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455745
mov edx, dword [esi + 8]
test bl, 8
jne 0x4556dd
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 0x455740
test bl, 4
jne 0x45570c
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 0x455740
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x455767
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4558f8
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x455897
cmp ebx, 0xc0
jb 0x455897
test bl, 0x20
jne 0x4557cb
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45588f
test bl, 0x10
jne 0x4557f0
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 0x45588f
test bl, 8
jne 0x455821
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 0x45588f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45585b
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 0x45588f
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4558b9
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx ecx, byte [eax*8 + 0x50d2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d150], eax
je 0x4558f8
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x455790
cmp dword [ebp + 0x88], 0
je 0x455925
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x455925
cmp eax, dword [ebp + 0x84]
jbe 0x455925
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a156
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456d83
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456d79
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x45598c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45598c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x455980
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449170
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456d9c
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456d92
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x4559e7
movzx ebx, byte [ecx]
jmp 0x455ad5
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4559fc
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4559f0
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x455ad5
test bl, 0x20
jne 0x455a1f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x455acd
test bl, 0x10
jne 0x455a3f
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 0x455acd
test bl, 8
jne 0x455a68
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 0x455acd
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x455a9d
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 0x455acd
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x455af7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2ca]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x449170
dec edi
cmp dword [esp + 0x8c], 0
jne 0x455b2f
movzx ebx, byte [edi]
jmp 0x455bee
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x455b41
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x455b37
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x455bee
test bl, 0x20
jne 0x455b61
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x455be6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x455b7e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x455be6
and eax, 0x3f
test bl, 8
jne 0x455b99
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x455be6
test bl, 4
jne 0x455bbd
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 0x455be6
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x455c10
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx edx, byte [eax*8 + 0x50d2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d150], eax
je 0x451846
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x455b10
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455c71
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455d6b
cmp ebx, 0xc0
jb 0x455d6b
test bl, 0x20
jne 0x455cb3
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455d68
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455cdd
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455d6b
mov edx, dword [esi + 8]
test bl, 8
jne 0x455d03
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 0x455d66
test bl, 4
jne 0x455d32
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 0x455d66
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 + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x455d8d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x455db4
cmp eax, 3
je 0x455db4
xor eax, eax
jmp 0x455db9
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x449feb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456dce
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456dc4
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455e22
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455f23
cmp ebx, 0xc0
jb 0x455f23
test bl, 0x20
jne 0x455e64
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455f20
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455e8e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455f23
mov edx, dword [esi + 8]
test bl, 8
jne 0x455eb4
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 0x455f17
test bl, 4
jne 0x455ee3
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 0x455f17
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 0x455f4e
cmp ebx, 0x40
je 0x455f4e
cmp ebx, 0x60
je 0x455f4e
cmp ebx, 0xa0
jb 0x455f42
cmp ebx, 0xd7ff
jbe 0x455f4e
cmp ebx, 0xe000
jae 0x455f4e
xor eax, eax
jmp 0x455f53
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44a932
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456de7
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456ddd
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455fbc
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4560bd
cmp ebx, 0xc0
jb 0x4560bd
test bl, 0x20
jne 0x455ffe
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4560ba
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x456028
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4560bd
mov edx, dword [esi + 8]
test bl, 8
jne 0x45604e
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 0x4560b1
test bl, 4
jne 0x45607d
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 0x4560b1
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 0x456100
je case.0x456120.8192
cmp ebx, 0x85
ja 0x4560ec
je case.0x456120.8192
cmp ebx, 9
jb case.0x456120.8203
cmp ebx, 0xd
jbe case.0x456120.8192
cmp ebx, 0x20
jmp 0x456135
cmp ebx, 0xa0
je case.0x456120.8192
cmp ebx, 0x1680
jmp 0x456135
cmp ebx, 0x202f
ja 0x456127
je case.0x456120.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x456120.8203
movzx eax, byte [eax + 0x45765c]
jmp dword [eax*4 + 0x457654]
cmp ebx, 0x205f
je case.0x456120.8192
cmp ebx, 0x3000
je case.0x456120.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e948]
shl eax, 7
and ebx, 0x8000007f
jns 0x456159
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
cmp dword [eax*4 + 0x50d0d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x45618c
jmp 0x449feb
cmp dword [esi + 0x68], 0
jne 0x44a932
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456e00
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456df6
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4561ec
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4562e2
cmp ebx, 0xc0
jb 0x4562e2
test bl, 0x20
jne 0x45622e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4562df
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x456256
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4562e2
mov edx, dword [esi + 8]
test bl, 8
jne 0x45627c
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 0x4562df
test bl, 4
jne 0x4562ab
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 0x4562df
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 + 0x50e948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x456305
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b48]
movzx eax, byte [eax*8 + 0x50d2c9]
mov eax, dword [eax*4 + 0x50d0d8]
cmp eax, 1
je 0x456331
cmp eax, 3
je 0x456331
cmp ebx, 0x5f
je 0x456331
xor eax, eax
jmp 0x456336
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x449feb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456e19
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456e0f
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
test edi, edi
jne case.0x452a64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45639f
mov esi, dword [esi]
test esi, esi
je 0x456e68
jmp 0x452a54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x455616
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45649c
cmp ebx, 0xc0
jb 0x45649c
test bl, 0x20
jne 0x4563e1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x456499
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x456409
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45649c
mov edx, dword [esi + 8]
test bl, 8
jne 0x45642f
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 0x456492
test bl, 4
jne 0x45645e
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 0x456492
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 + 0x50d188]
lea eax, [eax*4 + 0x50d188]
cmp ebx, ecx
jb 0x4564be
lea eax, [eax + 4]
cmp ebx, ecx
je 0x456503
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x4564b1
cmp dword [esi + 0x68], 0
je 0x44a932
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456e32
push 0x134
call dword [0x9d30e8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456e28
mov esi, dword [esi]
test esi, esi
je 0x456e5b
lea edi, [eax - 6]
jmp 0x452a49
cmp dword [esi + 0x68], 0
je 0x4564c8
jmp 0x44a932
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 0x456511
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x4491ea
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x456553
push ecx
call dword [0x9d30e4]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x4491ea
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x454349
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x454155
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4544eb
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4546f0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4548b9
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x454f2a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4550dc
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45527e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x455419
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4555b4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x455dc8
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x456192
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x456345
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4564ce
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x455f62
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x454bdd
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45592b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x449170
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 + 0x50cfc0]
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 0x449160
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 0x456956
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 0x456956
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x4566af
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 0x456956
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x4566af
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 0x456956
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x4566af
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 0x449160
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 0x456b46
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 0x456b46
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 0x456b46
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 0x456b46
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 0x456b46
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 0x456956
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 0x456956
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x456907
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 0x449160
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 + 0x50cfc0]
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 0x449160
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 0x456b46
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 0x456b46
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 0x456b46
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x456b3d
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 0x449160
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 0x456956
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 0x456956
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 0x456b46
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 0x456b46
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 0x456b46
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x456b3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x456b3d
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