Function at 0x43f370
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x8c
push ebx
push ebp
mov ebp, dword [esp + 0xa8]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0xac]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0xb8]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
nop
mov edx, dword [ebp]
mov ebx, dword [ebp + 0x4c]
mov dword [esp + 0x28], ebx
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, dword [ebp + 4]
jb 0x43f3fb
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44ced2
mov edi, 0xfffffff8
jmp 0x448fc4
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x43f419
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cee2
mov edi, 0xffffffeb
jmp 0x448fc4
cmp dword [ebp + 0x98], 2
jne 0x43f443
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
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], ebx
mov cl, byte [eax]
movzx eax, cl
mov dword [esi + 0x9c], eax
cmp cl, 0xa1
ja case.0x43f46f.98
movzx eax, byte [eax + 0x44d11c]
jmp dword [eax*4 + 0x44cfd0]
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 0x43f4ad
push 0x134
call dword [0x5b6c1c]
mov edi, eax
add esp, 4
test edi, edi
je 0x44cc78
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 edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x565710]
add eax, edx
add ecx, eax
mov dword [edi + 0xc], ecx
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 0x43f3c0
mov edx, dword [esi + 4]
test edx, edx
jne 0x43f51c
push 0x134
call dword [0x5b6c1c]
mov edx, eax
add esp, 4
test edx, edx
je 0x44cc78
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 0x4496e8
mov edx, dword [esi + 4]
test edx, edx
jne 0x43f559
push 0x134
call dword [0x5b6c1c]
mov edx, eax
add esp, 4
test edx, edx
je 0x44cc78
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 0x4496e8
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 0x43f5a8
push 0x134
call dword [0x5b6c1c]
mov edi, eax
add esp, 4
test edi, edi
je 0x44cc78
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x43f4b7
mov edx, dword [esi + 4]
test edx, edx
jne 0x43f5dc
push 0x134
call dword [0x5b6c1c]
mov edx, eax
add esp, 4
test edx, edx
je 0x44cc78
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 0x4496e8
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x43f61d
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x565710]
add eax, edx
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x43f443
mov edi, dword [esi + 4]
test edi, edi
jne 0x43f642
push 0x134
call dword [0x5b6c1c]
mov edi, eax
add esp, 4
test edi, edi
je 0x44cc78
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x43f4b7
mov edx, dword [esi + 4]
test edx, edx
jne 0x43f676
push 0x134
call dword [0x5b6c1c]
mov edx, eax
add esp, 4
test edx, edx
je 0x44cc78
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 0x4496e8
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 0x43f6c5
push 0x134
call dword [0x5b6c1c]
mov edi, eax
add esp, 4
test edi, edi
je 0x44cc78
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x43f4b7
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 0x44a629
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.0x43f46f.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 0x449063
mov dword [esi + 0x54], ebx
jmp 0x43ff4f
mov dword [esi + 0x54], ebx
jmp 0x43ff73
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
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0xc], eax
cmp byte [eax], 0x76
jne 0x43f891
mov edi, dword [0x5bcd88]
test edi, edi
je 0x43f87d
mov dword [esp + 0x34], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x40], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x4c], 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 + 0x5c], 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 + 0x60], ecx
mov ecx, 0xffffffff
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x34]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x44b31a
jns 0x43f87d
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x449104
jmp 0x448fc0
movzx eax, byte [0x565786]
add dword [esi + 0xc], eax
movzx eax, byte [0x565786]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ebx, dword [esi + 0xc]
movzx ecx, byte [ebx]
mov dword [esp + 0x2c], ecx
lea eax, [ecx - 0x8d]
cmp eax, 0x10
ja case.0x43f8b4.146
movzx eax, byte [eax + 0x44d1d8]
jmp dword [eax*4 + 0x44d1c0]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x43f8b4.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x43f992
cmp ecx, dword [edx + 4]
je 0x43f992
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x44933d
movzx ecx, byte [ecx + 0x565710]
jmp 0x449340
cmp dword [ebp + 0xa4], 0
je case.0x43f8b4.145
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 1]
shl edi, 8
or edi, eax
shl ecx, 8
movzx eax, byte [ebx + 2]
or ecx, eax
mov eax, dword [ebp + 0x30]
imul ecx, dword [ebp + 0x24]
add eax, ecx
test edi, edi
je 0x43f8ec
mov ebx, eax
movzx edx, byte [eax + 1]
dec edi
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
mov ecx, dword [eax + 4]
xor eax, eax
cmp edx, ecx
sete al
mov dword [esi + 0x58], eax
je 0x43f8ec
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x43f938
jmp 0x43f8ec
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x43f8e7
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x43f8e7
mov eax, 1
jmp 0x43f8e9
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ebx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
je case.0x43f8b4.145
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 0x43f9ef
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x43f9ef
mov eax, 1
jmp 0x43f9f1
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x43f8ec
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x43f9c5
jmp 0x43f8ec
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43fa3b
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
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]
jmp 0x4495b1
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 0x43faa8
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x43f443
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 edx, dword [esi + 0x98]
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jl 0x43fa9f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x43faff
mov eax, ecx
nop dword [eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x43faf0
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x43f443
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x43fb4a
cmp cl, 0x9f
je 0x43fb4a
cmp dword [ebp + 0xa4], ebx
jne 0x43fb4a
cmp dword [ebp + 0x5c], ebx
jne case.default.0x44b31a
cmp dword [ebp + 0x60], ebx
je 0x43fb4a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x44b31a
mov dword [ebp + 0x80], edi
mov edi, 0xfffffc19
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, 1
cmp dword [esi + 0x9c], ebx
cmove edi, eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x449104
jmp 0x448fc0
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x43fba7
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x449428
mov dword [esi + 0x58], ebx
jmp 0x449428
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x43fbd3
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x449572
mov dword [esi + 0x58], ebx
jmp 0x449572
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x43fc22
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x43fc40
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x449f1a.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43fc1c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x43fc10
test edx, edx
jg 0x43fbf5
jmp 0x43fc40
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x74]
jb case.0x449f1a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x43fa9f
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x43f443
mov edi, dword [0x5bcd88]
test edi, edi
je 0x43fd43
mov dword [esp + 0x68], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x74], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x80], 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 + 0x90], 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 + 0x94], ecx
mov ecx, 0xffffffff
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x68]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x44b31a
jns 0x43fd43
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x449104
jmp 0x448fc0
add dword [esi + 0xc], 6
jmp 0x43f443
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 0x43fd6d
xor edx, edx
jmp 0x43fd7a
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 0x43fd99
cmp edx, dword [ecx + 4]
jne 0x43fd91
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x43fdd6
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x43fd84
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 0x43fdec
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x43fe04
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cef2
mov edi, 0xffffffe6
jmp 0x448fc0
shl eax, 2
push eax
call dword [0x5b6c14]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x44cc78
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.00424ca0
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x449698
mov edx, dword [esi + 0xc]
nop dword [eax]
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 0x43fe30
jmp 0x43f443
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43fe78
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
nop word [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x43fea0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43fede
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
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 eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x43ff00
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x43f443
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x43ff4f
cmp eax, 0x8b
jne 0x43ff73
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 0x43ff90
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 0x44a1e6
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 0x44000d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x440036
push 0x134
call dword [0x5b6c1c]
mov edx, eax
add esp, 4
test edx, edx
je 0x44cc78
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 0x4496e8
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 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 0x440072
cmp al, 0x81
je 0x440072
mov dword [esi + 0x38], ebx
jmp 0x440083
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 0x440090
cmp al, 0x80
jbe 0x440094
cmp al, 0x82
jne 0x4400b1
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
jmp 0x449542
cmp al, 0x85
je 0x4400c5
cmp al, 0x8a
je 0x4400c5
cmp al, 0x86
je 0x4400c5
cmp al, 0x8b
jne 0x44019b
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 0x44010a
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x44010a
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x449542
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 0x440139
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44019b
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x44015f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x44015f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x440150
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 0x44019b
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x4401d3
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 eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf02
mov edi, 0xfffffc1a
jmp 0x448fc0
cmp cl, 0x78
je 0x440263
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x440263
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x440229
test ecx, ecx
jne 0x44020e
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
test ecx, ecx
jne 0x44024b
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x441ba2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x440294
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
cmp dword [ebp + 0x44], ebx
je case.0x43f46f.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x44b31a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x441366.10
jmp case.default.0x44b31a
cmp dword [ebp + 0x44], ebx
je 0x4402e2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x44b31a
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x441366.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x44b31a
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x44032d
cmp ecx, edi
jbe 0x440322
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.0044fb50
add esp, 0x14
test eax, eax
je 0x440322
mov eax, 1
jmp 0x440324
xor eax, eax
test eax, eax
jne case.0x441366.10
jmp case.default.0x44b31a
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x44b31a
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x44b31a
cmp edx, 1
je case.0x441366.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x441366.10
jmp case.default.0x44b31a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x441366.10
jmp case.default.0x44b31a
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x43f443
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x440424
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4403b2
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.0044f9c0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x441366.10
jmp 0x4403d3
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4403cf
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4403cf
cmp edi, 1
je case.0x441366.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x441366.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x449f1a.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x449f1a.14
cmp dword [ebp + 0x18], 0
jne case.0x449f1a.14
cmp dword [ebp + 0x1c], 2
jne case.0x449f1a.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x449f1a.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x44ccda
jmp case.0x449f1a.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x44b31a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x441366.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x441366.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x441366.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf92
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x448fc4
cmp dword [ebp + 0x48], ebx
jne case.default.0x44b31a
cmp dword [ebp + 0x58], ebx
je case.0x43f46f.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441372
jmp case.default.0x44b31a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x44042d
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4404be
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044f9c0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4404ec
jmp 0x4404db
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4404ec
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4404ec
cmp edi, 1
je 0x4404db
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4404ec
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x44042d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x44b31a
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x44b31a
cmp dword [ebp + 0x18], ebx
jne case.default.0x44b31a
cmp dword [ebp + 0x1c], 2
jne case.default.0x44b31a
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x44b31a
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x44b31a
jmp 0x440457
cmp dword [esp + 0x28], ebx
je 0x4407f4
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x440556
mov dword [esi + 0x5c], ebx
jmp 0x440681
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x44056e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x440562
cmp ecx, dword [ebp + 0x84]
jae 0x44057c
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x440633
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4405aa
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x44062b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x4405bd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x440625
and eax, 0x3f
test bl, 8
jne 0x4405d8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x440625
test bl, 4
jne 0x4405fc
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 0x440625
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]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp dword [ebp + 0x54], 0
mov edx, ebx
je 0x4406b7
cmp edx, 0x5f
jne 0x440649
mov dword [esi + 0x5c], 1
jmp 0x440681
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x567098]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x4406c8
cmp eax, 3
je 0x4406c8
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4406cf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4406ab
cmp edi, dword [ebp + 0x84]
jbe 0x4406ab
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x440457
mov dword [esi + 0x54], 0
jmp 0x44090f
cmp edi, 0x100
jae 0x44067c
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44067c
mov eax, 1
jmp 0x44067e
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x440786
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4406fd
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x44077e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x440710
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x440778
and eax, 0x3f
test dl, 8
jne 0x44072b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x440778
test dl, 4
jne 0x44074f
and edx, 3
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 0x440778
and edx, 1
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp dword [ebp + 0x54], 0
mov edi, edx
je 0x4407d9
cmp edi, 0x5f
jne 0x44079f
mov dword [esi + 0x54], 1
jmp 0x44090f
shr eax, 7
movzx eax, byte [eax + 0x567098]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x4407ea
cmp eax, 3
je 0x4407ea
xor eax, eax
jmp 0x44090c
cmp ebx, 0x100
jae 0x4407d2
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4407d2
mov eax, 1
jmp 0x44090c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x440804
mov dword [esi + 0x5c], ebx
jmp 0x44088e
cmp eax, dword [ebp + 0x84]
ja 0x440813
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x44087e
cmp ecx, 0x5f
jne 0x44082d
mov dword [esi + 0x5c], 1
jmp 0x44088e
mov eax, ecx
test eax, eax
jns 0x440836
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x567098]
shl eax, 7
and ecx, 0x8000007f
jns 0x440850
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x440877
cmp eax, 3
je 0x440877
xor eax, eax
jmp 0x44088b
mov eax, 1
jmp 0x44088b
mov eax, dword [ebp + 0x40]
movzx eax, byte [ecx + eax]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4408bd
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4408b8
cmp eax, dword [ebp + 0x84]
jbe 0x4408b8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x440457
mov dword [esi + 0x54], ebx
jmp 0x44090f
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x4408ff
cmp ecx, 0x5f
jne 0x4408d3
mov dword [esi + 0x54], 1
jmp 0x44090f
mov eax, ecx
test eax, eax
jns 0x4408dc
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x567098]
shl eax, 7
and ecx, 0x8000007f
jns 0x4407af
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x4407af
mov eax, 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 0x44092a
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x440932
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x43f443
jmp case.default.0x44b31a
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x440979
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x44096e
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0044f9c0
add esp, 0x14
test eax, eax
je 0x44096e
mov eax, 1
jmp 0x440970
xor eax, eax
test eax, eax
je 0x4409a4
jmp case.default.0x44b31a
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x4409a4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4409a4
cmp edx, 1
je case.default.0x44b31a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x44b31a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x43f46f.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x43f46f.13
cmp dword [ebp + 0x18], ebx
jne case.0x43f46f.13
cmp dword [ebp + 0x1c], 2
jne case.0x43f46f.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x43f46f.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x440457
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x440a12
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x44b31a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x44b31a
jmp 0x440457
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x441366.10
cmp ecx, dword [ebp + 0x78]
jae case.0x441366.10
nop dword [eax]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x441366.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x440a30
inc dword [esi + 0xc]
jmp 0x43f443
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x440a74
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x44b31a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x44b31a
jmp 0x440527
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x43f443
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x440aa1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x84]
jmp 0x4409f7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x440b8b
cmp edx, 0xc0
jb 0x440b8b
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x440adf
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x440b86
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x440b00
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x440b86
test dl, 8
jne 0x440b23
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 0x440b86
test dl, 4
jne 0x440b52
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 0x440b86
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, edx
cmp eax, 0x100
jae case.0x441366.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x441366.10
jmp case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x440bc9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edx, dword [ebp + 0x84]
jmp 0x4409f7
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x440cc6
cmp ecx, 0xc0
jb 0x440cc6
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x440c05
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x440cc1
test cl, 0x10
jne 0x440c26
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 0x440cc1
test cl, 8
jne 0x440c50
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 0x440cc1
test cl, 4
jne 0x440c86
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 0x440cc1
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
mov eax, ecx
cmp eax, 0xff
ja case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x441366.10
jmp case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x440d04
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x84]
jmp 0x4409f7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x440e0c
cmp edx, 0xc0
jb 0x440e0c
test dl, 0x20
jne 0x440d40
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x440e07
test dl, 0x10
jne 0x440d67
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x440e07
test dl, 8
jne 0x440d97
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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 0x440e07
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x440dd3
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 0x440e07
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, edx
cmp eax, 0x100
jae case.0x441366.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x441366.10
jmp case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x440e4a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edx, dword [ebp + 0x84]
jmp 0x4409f7
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x440f47
cmp ecx, 0xc0
jb 0x440f47
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x440e86
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x440f42
test cl, 0x10
jne 0x440ea7
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 0x440f42
test cl, 8
jne 0x440ed1
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 0x440f42
test cl, 4
jne 0x440f07
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 0x440f42
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
mov eax, ecx
cmp eax, 0xff
ja case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x441366.10
jmp case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x440f85
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x84]
jmp 0x4409f7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x44108d
cmp edx, 0xc0
jb 0x44108d
test dl, 0x20
jne 0x440fc1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x441088
test dl, 0x10
jne 0x440fe8
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x441088
test dl, 8
jne 0x441018
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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 0x441088
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x441054
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 0x441088
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, edx
cmp eax, 0x100
jae case.0x441366.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x441366.10
jmp case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4410cb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edx, dword [ebp + 0x84]
jmp 0x4409f7
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4411c8
cmp ecx, 0xc0
jb 0x4411c8
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x441107
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4411c3
test cl, 0x10
jne 0x441128
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 0x4411c3
test cl, 8
jne 0x441152
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 0x4411c3
test cl, 4
jne 0x441188
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 0x4411c3
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
mov eax, ecx
cmp eax, 0xff
ja case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x441366.10
jmp case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x441206
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x84]
jmp 0x4409f7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edi
mov dword [esi + 8], edi
mov ebx, edx
mov ecx, edx
mov dword [esp + 0x20], edi
je 0x441346
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x441346
test dl, 0x20
jne 0x441256
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44134a
test dl, 0x10
jne 0x441286
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44134a
test dl, 8
jne 0x4412c2
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44134a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x441307
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]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44134a
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 ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44134a
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x4413a9
cmp ecx, 0x85
je case.0x441366.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x44b31a
jmp dword [edx*4 + 0x44d1ec]
cmp edi, dword [ebp + 0x78]
jb 0x441394
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x441366.10
cmp eax, dword [ebp + 0x84]
jbe case.0x441366.10
cmp ecx, 1
jmp 0x44044a
cmp byte [eax], 0xa
jne case.0x441366.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x43f443
sub edx, 0x2028
je case.0x441366.11
sub edx, 1
jne case.default.0x44b31a
cmp dword [ebp + 0x68], 0
je case.0x441366.10
jmp case.default.0x44b31a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4413ea
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x84]
jmp 0x4409f7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ebx, edx
mov dword [esi + 8], edi
mov eax, edx
mov dword [esp + 0x20], edx
mov ecx, edx
je 0x441505
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x441505
test dl, 0x20
jne 0x441431
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4414f8
test dl, 0x10
jne 0x441458
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4414f8
test dl, 8
jne 0x441488
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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 0x4414f8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4414c4
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 0x4414f8
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 ebx, edx
mov dword [esp + 0x20], edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x20], 0x2000
mov edi, edx
ja 0x44156b
cmp ebx, 0x2000
je case.default.0x44b31a
cmp edx, 0xa0
ja 0x44154b
cmp edi, 0xa0
je case.default.0x44b31a
cmp edx, 9
je case.default.0x44b31a
cmp edx, 0x20
je case.default.0x44b31a
inc dword [esi + 0xc]
jmp 0x43f443
cmp edx, 0x1680
je case.default.0x44b31a
cmp edx, 0x180e
je case.default.0x44b31a
inc dword [esi + 0xc]
jmp 0x43f443
cmp eax, 0x3000
ja case.0x441366.10
cmp ecx, 0x3000
je case.default.0x44b31a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x441366.10
movzx eax, byte [edx + 0x44d204]
jmp dword [eax*4 + 0x44d1fc]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4415c0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edx, dword [ebp + 0x84]
jmp 0x4409f7
movzx ecx, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ebx, ecx
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x20], ecx
mov edi, ecx
je 0x4416d0
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x4416d0
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x441607
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4416c3
test cl, 0x10
jne 0x441628
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 0x4416c3
test cl, 8
jne 0x441652
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 0x4416c3
test cl, 4
jne 0x441688
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 0x4416c3
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
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x20], 0x2000
mov edx, ecx
ja 0x441730
cmp ebx, 0x2000
je case.0x441366.10
cmp ecx, 0xa0
ja 0x441713
cmp edx, 0xa0
je case.0x441366.10
cmp ecx, 9
je case.0x441366.10
cmp ecx, 0x20
je case.0x441366.10
jmp case.default.0x44b31a
cmp ecx, 0x1680
je case.0x441366.10
cmp ecx, 0x180e
je case.0x441366.10
jmp case.default.0x44b31a
cmp eax, 0x3000
ja case.default.0x44b31a
cmp edi, 0x3000
je case.0x441366.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x44b31a
movzx eax, byte [ecx + 0x44d26c]
jmp dword [eax*4 + 0x44d264]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x441785
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x84]
jmp 0x4409f7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x44189d
cmp edx, 0xc0
jb 0x44189d
test dl, 0x20
jne 0x4417c5
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x441896
test dl, 0x10
jne 0x4417ec
movzx ecx, byte [edi]
and edx, 0xf
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x441896
test dl, 8
jne 0x44181f
movzx ecx, byte [edi]
and edx, 7
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
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 0x441896
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x44185b
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 [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 0x441896
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 [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 ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x4418c3
cmp eax, 0x85
je case.0x449f1a.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x441366.10
jmp dword [edx*4 + 0x44d2cc]
sub edx, 0x2028
je case.0x449f1a.14
sub edx, 1
jne case.0x441366.10
jmp case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4418fe
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x84]
jmp 0x4409f7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x4419f0
cmp edx, 0xc0
jb 0x4419f0
test dl, 0x20
jne 0x44193c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4419e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x441963
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4419e9
test dl, 8
jne 0x441986
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 0x4419e9
test dl, 4
jne 0x4419b5
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 0x4419e9
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 ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x441a16
cmp eax, 0x85
je case.0x441366.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x449f1a.14
jmp dword [edx*4 + 0x44d2dc]
sub edx, 0x2028
je case.0x441366.10
sub edx, 1
je case.0x441366.10
jmp case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x441a51
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x84]
jmp 0x4409f7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov ebx, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
je 0x441b64
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x441b64
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x441aaa
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x441b51
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x441acb
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x441b51
test dl, 8
jne 0x441aee
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 0x441b51
test dl, 4
jne 0x441b1d
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 0x441b51
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 ecx, edx
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ecx
mov edi, dword [esi + 0xc]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x567098]
movzx ecx, byte [edi + 1]
shl eax, 7
add eax, ebx
movzx ebx, word [eax*2 + 0x569298]
cmp ecx, 0xa
ja case.0x44b298.15
jmp dword [ecx*4 + 0x44d2ec]
cmp dword [esi + 0x9c], 0xf
je case.default.0x44b31a
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x43f443
mov al, byte [ebx*8 + 0x565a19]
cmp al, 9
je 0x441bc4
cmp al, 5
je 0x441bc4
cmp al, 8
je 0x441bc4
xor ecx, ecx
jmp 0x441bc9
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x441ba2
jmp case.default.0x44b31a
movzx ecx, byte [ebx*8 + 0x565a19]
xor edx, edx
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x565828]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x441ba2
jmp case.default.0x44b31a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x565a19]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x441ba2
jmp case.default.0x44b31a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x565a18]
jmp 0x441c17
movzx eax, byte [ebx*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x441bc4
cmp eax, 3
je 0x441bc4
xor ecx, ecx
jmp 0x441bc9
cmp edx, 0x20
ja 0x441c83
je case.0x441b8e.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x441cff.8203
jmp dword [edx*4 + 0x44d318]
cmp edx, 0x2000
ja 0x441cdf
je case.0x441b8e.0
cmp edx, 0x1680
ja 0x441cd7
je case.0x441b8e.0
sub edx, 0x85
je case.0x441b8e.0
sub edx, 0x1b
je case.0x441b8e.0
movzx eax, byte [ebx*8 + 0x565a19]
xor ecx, ecx
cmp dword [eax*4 + 0x565828], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x441c23
cmp edx, 0x180e
jmp 0x441cae
cmp edx, 0x3000
ja case.0x441cff.8203
je case.0x441b8e.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x441cff.8203
movzx eax, byte [edx + 0x44d334]
jmp dword [eax*4 + 0x44d32c]
movzx eax, byte [ebx*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x441bc4
cmp eax, 3
je 0x441bc4
cmp edx, 0x5f
je 0x441bc4
xor ecx, ecx
jmp 0x441bc9
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x5658d8]
cmp ecx, dword [eax]
jb 0x441d5d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x441d6f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x441d50
cmp dword [esi + 0x9c], 0x10
jne 0x441ba2
jmp case.default.0x44b31a
cmp dword [esi + 0x9c], 0x10
je 0x441ba2
jmp case.default.0x44b31a
cmp dword [esp + 0x24], 0x24
je 0x441bc4
cmp dword [esp + 0x1c], 0x40
je 0x441bc4
cmp edx, 0x60
je 0x441bc4
cmp edx, 0xa0
jb 0x441db4
cmp edx, 0xd7ff
jbe 0x441bc4
cmp edx, 0xe000
jae 0x441bc4
xor ecx, ecx
jmp 0x441bc9
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x441de8
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edx, dword [ebp + 0x84]
jmp 0x4409f7
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x10], edx
je 0x441ed5
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x441ed5
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x441e2b
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x441eca
test al, 0x10
jne 0x441e43
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x441ec4
test al, 8
jne 0x441e64
and eax, 7
lea edi, [edx + 3]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x441ec4
test al, 4
jne 0x441e91
and eax, 3
lea edi, [edx + 4]
shl eax, 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]
jmp 0x441ec4
and eax, 1
lea edi, [edx + 5]
shl eax, 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]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x10], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a1a]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x10], edx
jae 0x442045
mov dword [esp + 0x10], edx
nop dword [eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x441fec
cmp edx, 0xc0
jb 0x441fec
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x441f51
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x441fe8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x441f6c
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x441fe2
and eax, 0x3f
test dl, 8
jne 0x441f8c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x441fe2
test dl, 4
jne 0x441fb5
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 0x441fe2
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x567098]
mov edx, dword [esp + 0x10]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x569298]
movzx ecx, byte [eax*8 + 0x565a1a]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x5658a0], eax
mov ebp, dword [esp + 0xb0]
je 0x442045
add edi, ebx
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x10], edx
cmp edi, edx
jb 0x441f10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x441366.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x441366.10
jmp 0x441380
mov edx, dword [esi + 0xc]
xor eax, eax
cmp cl, 0x74
sete al
movzx ebx, byte [edx + 3]
movzx edi, byte [edx + 1]
mov dword [esp + 0x30], eax
movzx eax, byte [edx + 4]
shl ebx, 8
or ebx, eax
shl edi, 8
movzx eax, byte [edx + 2]
or edi, eax
lea eax, [edx + 5]
imul edi, dword [ebp + 0x24]
add edi, 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
je 0x442158
mov edx, edi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
dec ebx
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [esi + 0x14]
jge 0x4420ea
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x4420fb
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x10], edi
mov edx, edi
test ebx, ebx
jg 0x4420c1
jmp 0x442158
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x442152
xor eax, eax
cmp cl, 0x72
sete al
mov dword [esp + 0x30], 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 eax, dword [esi + 0x98]
cmp eax, dword [esi + 0x14]
jge 0x442148
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x442148
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x442152
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
add ecx, 0xffffff9e
cmp ecx, 7
ja case.default.0x442173
movzx eax, byte [ecx + 0x44d39c]
jmp dword [eax*4 + 0x44d394]
lea eax, [edx + 1]
mov ebx, ecx
mov dword [esi + 0xc], eax
and ebx, 1
movsx eax, byte [ecx + 0x564d68]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x564d74]
mov dword [esp + 0x10], ebx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4421f8
mov dword [esi + 0x8c], getpeername
jmp 0x4421f8
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x10], 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 0x4421f4
mov dword [esi + 0x8c], getpeername
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x43f443
jns 0x442215
cmp dword [esi + 0x90], 0
je 0x43f443
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x44225a
mov ebx, 1
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0044df10
add esp, 0x14
test eax, eax
js 0x442278
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x442227
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43f443
cmp dword [esp + 0x10], 0
je 0x4422a3
mov dword [esi + 0x84], eax
jmp 0x449913
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x442287
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x78]
jb case.default.0x44b31a
jmp 0x4409f1
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x44995f
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0044df10
add esp, 0x14
test eax, eax
js 0x4422e6
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x4422af
cmp eax, 0xfffffffe
jne 0x44995f
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x44995f
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x44995f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x44995f
jmp 0x440457
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0044df10
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x44237f
cmp ecx, 0xfffffffe
jne 0x442354
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x44b31a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x44b31a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x44b31a
jmp 0x440527
add dword [esi + 8], ecx
jmp 0x43f443
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
lea eax, [edx + 0x21]
mov dword [esi + 0xc], eax
mov bl, byte [eax]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x4423af
movzx eax, byte [ecx + 0x44d3ac]
jmp dword [eax*4 + 0x44d3a4]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4423cc
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4423d4
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x564d68]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x564d74]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x442469
mov dword [esi + 0x8c], getpeername
jmp 0x442469
movzx ecx, byte [edx + 0x22]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], eax
movzx eax, byte [edx + 0x23]
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 0x44244f
mov dword [esi + 0x8c], getpeername
add dword [esi + 0xc], 5
jmp 0x442469
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ecx, dword [esp + 0x28]
mov ebx, 1
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x4425e3
cmp dword [esi + 0x90], ebx
jl 0x44262b
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4425a3
test bl, 0x20
jne 0x4424d7
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4425a3
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x442505
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4425a3
test bl, 8
jne 0x442532
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]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4425a3
test bl, 4
jne 0x442568
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]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4425a3
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 dword [esi + 8], eax
mov ebx, ecx
mov eax, ecx
cmp eax, 0xff
jbe 0x4425b3
cmp dword [esi + 0x9c], 0x6e
jmp 0x4425c6
mov eax, dword [esi + 0x28]
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.default.0x44b31a
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, dword [esi + 0x90]
jle 0x442490
jmp 0x442627
cmp dword [esi + 0x90], ebx
jl 0x44262b
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
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.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4425f0
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43f443
cmp dword [esp + 0x20], 0
je 0x442657
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x44aa27
jmp 0x449a0c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x44283c
cmp eax, dword [esi + 0x8c]
jge 0x44282c
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44280a
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x4427b5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4426d5
mov eax, ebx
mov dword [esp + 0x1c], 2
and eax, 0x1f
mov ebx, ecx
shl eax, 6
or ebx, eax
mov eax, 2
mov ecx, ebx
mov edx, ebx
jmp 0x4427ba
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x442704
and ebx, 0xf
mov dword [esp + 0x1c], 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, 3
mov ecx, ebx
mov edx, ebx
jmp 0x4427ba
test bl, 8
jne 0x442738
and ebx, 7
mov dword [esp + 0x1c], 4
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
mov eax, 4
mov ecx, ebx
mov edx, ebx
jmp 0x4427ba
test bl, 4
jne 0x442775
and ebx, 3
mov dword [esp + 0x1c], 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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 5
mov ecx, ebx
mov edx, ebx
jmp 0x4427ba
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, 6
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov edx, ebx
jmp 0x4427ba
mov eax, 1
cmp edx, 0xff
jbe 0x4427cd
cmp dword [esi + 0x9c], 0x6e
je 0x44282c
jmp 0x4427ee
mov eax, dword [esp + 0x1c]
and ecx, 7
mov dword [esp + 0x1c], eax
mov edx, 1
mov eax, dword [esi + 0x28]
shr ebx, 3
shl edx, cl
test byte [ebx + eax], dl
je 0x44282c
mov eax, dword [esp + 0x1c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x442680
jmp 0x44282c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44282c
cmp edi, dword [ebp + 0x84]
jbe 0x44282c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x440457
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x44aa91
cmp eax, dword [esi + 0x8c]
jge 0x4428a1
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44287f
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 0x4428a1
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x442844
jmp 0x4428a1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4428a1
cmp ebx, dword [ebp + 0x84]
jbe 0x4428a1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x440457
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x449a4f
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
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
mov bl, byte [edx]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x4428e7
movzx eax, byte [ecx + 0x44d3c0]
jmp dword [eax*4 + 0x44d3b8]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x442904
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x44290c
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x564d68]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x564d74]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4429a1
mov dword [esi + 0x8c], getpeername
jmp 0x4429a1
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], 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 0x442987
mov dword [esi + 0x8c], getpeername
add dword [esi + 0xc], 5
jmp 0x4429a1
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov eax, dword [esi + 0x90]
mov ebx, 1
mov ecx, eax
cmp eax, ebx
jl 0x442ae0
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x442ab7
cmp edx, 0xc0
jb 0x442ab7
test dl, 0x20
jne 0x442a07
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x442ab4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x442a2e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x442ab4
test dl, 8
jne 0x442a51
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 0x442ab4
test dl, 4
jne 0x442a80
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 0x442ab4
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
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.0044f2a0
add esp, 0xc
test eax, eax
je case.default.0x44b31a
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x4429c0
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43f443
cmp dword [esp + 0x20], 0
je 0x442afe
mov dword [esi + 0x84], eax
jmp 0x44a802
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442c51
nop word [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x442c2f
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x442c01
cmp edx, 0xc0
jb 0x442c01
test dl, 0x20
jne 0x442b61
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x442bf9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x442b83
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x442bf9
and eax, 0x3f
test dl, 8
jne 0x442ba3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x442bf9
test dl, 4
jne 0x442bcc
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 0x442bf9
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
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.0044f2a0
add esp, 0xc
test eax, eax
je 0x442c51
mov eax, dword [esp + 0x10]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x442b20
jmp 0x442c51
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x442c51
cmp edi, dword [ebp + 0x84]
jbe 0x442c51
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x440457
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x44a874
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x442e1d
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x442da8
test bl, 0x20
jne 0x442cbb
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x442da8
test bl, 0x10
jne 0x442cf0
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x442da8
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x442d31
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 0x442da8
test bl, 4
jne 0x442d6a
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 0x442da8
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 edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x442ddd
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edx, edi
jb case.default.0x44b31a
cmp edx, dword [ebp + 0x84]
jmp 0x4409f7
test ecx, ecx
jle 0x442e0f
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.default.0x44b31a
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x442de1
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x43f443
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x442e59
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x449f1a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x44ccda
jmp case.0x449f1a.14
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 0x443177
jmp case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x442e95
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp edi, dword [ebp + 0x84]
jmp 0x4409f7
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x443158
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x442fdc
test bl, 0x20
jne 0x442eef
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x442fdc
test bl, 0x10
jne 0x442f24
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x442fdc
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x442f65
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 0x442fdc
test bl, 4
jne 0x442f9e
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 0x442fdc
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 + 8]
mov edi, dword [esi + 0x80]
movzx ecx, byte [eax]
cmp edi, 0x80
jae 0x44300a
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x44b31a
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x43f443
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x4430fd
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x443039
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4430f8
test cl, 0x10
jne 0x44305a
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 0x4430f8
test cl, 8
jne 0x443087
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 0x4430f8
test cl, 4
jne 0x4430bd
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 0x4430f8
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
mov edi, ecx
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edx, dword [esi + 0x80]
cmp edx, ecx
je 0x43f443
mov eax, edx
test eax, eax
jns 0x44311d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x567098]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x443138
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x569298]
mov eax, dword [eax*8 + 0x565a1c]
add eax, edx
cmp edi, eax
je 0x43f443
jmp case.default.0x44b31a
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 case.0x449f1a.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x43f443
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 0x443295
mov dword [esp + 0x24], 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 0x4431da
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x4431e2
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x443295
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x443295
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x443295
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x443295
mov edx, dword [esi + 0xc]
cmp cl, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x2e
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x564d68]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x564d74]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x443295
mov dword [esi + 0x8c], getpeername
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4436e9
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 0x4433de
test bl, 0x20
jne 0x4432f1
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x4433de
test bl, 0x10
jne 0x443326
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x4433de
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x443367
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 0x4433de
test bl, 4
jne 0x4433a0
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 0x4433de
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 0x4436fa
cmp dword [esi + 0x9c], 0x2e
jb 0x443450
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x44340c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x567098]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x443427
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x569298]
mov ecx, dword [eax*8 + 0x565a1c]
add ecx, edx
cmp ecx, edx
je 0x443450
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0044f240
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x443457
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x10], 1
cmp eax, 1
jl 0x443564
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 0x4434de
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4434a1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4434a6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x443490
cmp edi, 0xfffffffc
je 0x4434d3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4434db
cmp edi, 0xfffffffd
je 0x4434d3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4434db
cmp edi, 0xfffffffe
je 0x4434d3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4434db
cmp edi, 0xffffffff
je 0x4434d3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4434db
mov eax, dword [esi + 0x88]
jmp 0x443546
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x443582
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x443582
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x443511
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x443516
add ecx, 4
add edx, 4
sub edi, 4
jae 0x443500
cmp edi, 0xfffffffc
je 0x443543
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x443582
cmp edi, 0xfffffffd
je 0x443543
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x443582
cmp edi, 0xfffffffe
je 0x443543
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x443582
cmp edi, 0xffffffff
je 0x443543
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x443582
mov eax, dword [esi + 0x6c]
mov edx, dword [esp + 0x10]
add eax, ebx
inc edx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], edx
cmp edx, eax
jle 0x443470
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43f443
cmp dword [esp + 0x20], 0
je 0x4435a4
mov dword [esi + 0x84], eax
jmp 0x44ac01
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x44b31a
cmp ebx, dword [ebp + 0x84]
jmp 0x4409f7
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4436d9
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 0x44362e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4435f1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4435f6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4435e0
cmp edi, 0xfffffffc
je 0x443623
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44362b
cmp edi, 0xfffffffd
je 0x443623
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44362b
cmp edi, 0xfffffffe
je 0x443623
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44362b
cmp edi, 0xffffffff
je 0x443623
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44362b
mov eax, dword [esi + 0x88]
jmp 0x443696
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4436b2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4436b2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x443661
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x443666
add ecx, 4
add edx, 4
sub edi, 4
jae 0x443650
cmp edi, 0xfffffffc
je 0x443693
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4436b2
cmp edi, 0xfffffffd
je 0x443693
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4436b2
cmp edi, 0xfffffffe
je 0x443693
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4436b2
cmp edi, 0xffffffff
je 0x443693
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4436b2
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x10]
add eax, ebx
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4435c0
jmp 0x4436d9
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4436d9
cmp ebx, dword [ebp + 0x78]
jb 0x4436d9
cmp ebx, dword [ebp + 0x84]
jbe 0x4436d9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x440457
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x44acad
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x4436fe
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x4437f8
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, edi
jl 0x443764
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4499c5
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x443753
cmp dword [esi + 0x94], ecx
jne case.0x449f1a.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x443730
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43f443
cmp dword [esp + 0x20], 0
je 0x443782
mov dword [esi + 0x84], eax
jmp 0x449af9
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x4437e8
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4437c6
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x4437b5
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x4437e8
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x443798
jmp 0x4437e8
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4437e8
cmp eax, dword [ebp + 0x84]
jbe 0x4437e8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x44ccda
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x449b3c
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x44382f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44384d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x44b31a
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x443805
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43f443
cmp dword [esp + 0x20], 0
je 0x443866
mov dword [esi + 0x84], eax
jmp 0x449bc1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp ebx, dword [ebp + 0x84]
jmp 0x4409f7
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4438c6
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4438a4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4438c6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x443880
jmp 0x4438c6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4438c6
cmp ecx, dword [ebp + 0x84]
jbe 0x4438c6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x440457
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x449c04
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4409e3
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x443b9f
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x4439e4
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x443925
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4439e1
test bl, 0x10
jne 0x443946
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x4439e1
test bl, 8
jne 0x443970
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x4439e1
test bl, 4
jne 0x4439a6
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 0x4439e1
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 ecx, [eax + 1]
mov dword [esi + 8], ecx
mov edi, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x443b25
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x443a30
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x443b29
test dl, 0x10
jne 0x443a5e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x443b29
test dl, 8
jne 0x443a98
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 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]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x443b29
test dl, 4
jne 0x443adb
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 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]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x443b29
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 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
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x443b29
mov ecx, dword [esp + 0x10]
cmp dword [esi + 0x9c], 0x1f
jne 0x443b3f
cmp ebx, eax
jne 0x43f443
jmp case.default.0x44b31a
cmp ebx, 0x7f
jbe 0x443b7d
mov eax, ebx
test eax, eax
jns 0x443b4d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x567098]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x443b68
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x569298]
mov eax, dword [eax*8 + 0x565a1c]
add eax, ebx
jmp 0x443b8a
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x44b31a
cmp eax, edi
jne 0x43f443
jmp case.default.0x44b31a
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x449f1a.14
cmp dword [esi + 0x9c], 0x20
jne 0x443177
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x449f1a.14
add dword [esi + 0xc], 2
jmp 0x43f443
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 0x443d24
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 0x443c38
cmp al, 0x4f
je 0x443c38
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x443d24
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x443d24
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x443d24
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x443d24
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x443d24
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 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 0x443d24
mov edx, dword [esi + 0xc]
cmp cl, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x48
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x564d68]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x564d74]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x443d24
mov dword [esi + 0x8c], getpeername
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x28]
inc edx
mov dword [esi + 0xc], edx
test eax, eax
je 0x443e55
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x443e55
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x443d76
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x443e51
test cl, 0x10
jne 0x443d9e
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x443e51
test cl, 8
jne 0x443dd2
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x443e51
test cl, 4
jne 0x443e0f
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 4
jmp 0x443e51
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 5
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x48
jb 0x444241
test eax, eax
je 0x443eb5
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x443eb5
mov eax, edx
test eax, eax
jns 0x443e7a
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x567098]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x443e95
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov edi, 1
movzx eax, word [ecx*2 + 0x569298]
mov eax, dword [eax*8 + 0x565a1c]
add eax, edx
mov dword [esi + 0x94], eax
jmp 0x443ed8
cmp dword [esp + 0x28], 0
mov edi, 1
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
je 0x444016
cmp dword [esi + 0x90], 1
jl 0x444054
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x443fef
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x443f2e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x443fea
test cl, 0x10
jne 0x443f4f
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 0x443fea
test cl, 8
jne 0x443f79
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 0x443fea
test cl, 4
jne 0x443faf
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 0x443fea
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
mov eax, ecx
cmp dword [esi + 0x80], ecx
je case.default.0x44b31a
cmp dword [esi + 0x94], eax
je case.default.0x44b31a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x443ef0
jmp 0x444054
cmp dword [esi + 0x90], edi
jl 0x444054
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x44b31a
cmp dword [esi + 0x94], ecx
je case.default.0x44b31a
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x444020
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43f443
test ebx, ebx
je 0x444080
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x44ae38
jmp 0x449cae
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4441d7
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4441c7
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4441a5
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x444180
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4440e4
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x44417c
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4440ff
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x444176
and eax, 0x3f
test dl, 8
jne 0x44411f
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x444176
test dl, 4
jne 0x444148
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 0x444176
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp dword [esi + 0x80], edx
je 0x4441c7
cmp dword [esi + 0x94], eax
je 0x4441c7
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4440a4
jmp 0x4441c7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4441c7
cmp edi, dword [ebp + 0x84]
jbe 0x4441c7
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x440457
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x44ae9c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x444231
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44420f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x444231
cmp dword [esi + 0x94], ecx
je 0x444231
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4441e5
jmp 0x444231
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x444231
cmp eax, dword [ebp + 0x84]
jbe 0x444231
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x44ccda
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x449cf1
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x10], edi
test ebx, ebx
je 0x444399
cmp dword [esi + 0x90], edi
jl 0x4443cf
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x44437a
mov cl, byte [eax]
test bl, 0x20
jne 0x44429b
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x444372
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4442bf
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x444372
test bl, 8
jne 0x4442fa
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x44437a
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x444338
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x44436e
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
mov edi, dword [esp + 0x10]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x44b31a
inc edi
mov dword [esp + 0x10], edi
cmp edi, dword [esi + 0x90]
jle 0x444262
jmp 0x4443cb
cmp dword [esi + 0x90], edi
jl 0x4443cf
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44384d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x44b31a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4443a1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43f443
cmp dword [esp + 0x20], 0
je 0x4443fb
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x44b03f
jmp 0x449d76
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x44454e
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x44453e
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44451c
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x4444fb
test dl, 0x20
jne 0x444456
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x4444f3
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x444478
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4444ef
and eax, 0x3f
test dl, 8
jne 0x444498
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4444ef
test dl, 4
jne 0x4444c1
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 0x4444ef
and edx, 1
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]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp dword [esi + 0x80], edx
je 0x44453e
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x444420
jmp 0x44453e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44453e
cmp edi, dword [ebp + 0x84]
jbe 0x44453e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x440457
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x44b09e
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4445a6
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x444584
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x4445a6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x444560
jmp 0x4445a6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4445a6
cmp ecx, dword [ebp + 0x84]
jbe 0x4445a6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x44ccda
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x449db9
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], 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 0x4446e7
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 + 0x20], edx
mov dword [esi + 0xc], eax
jmp 0x4446e7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4446e7
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getpeername
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4446e7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4446e7
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 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 0x4446e7
mov ecx, dword [esi + 0xc]
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
add ebx, 0xffffffab
mov dword [esi + 0xc], eax
mov edx, ebx
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [edx + 0x564d68]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x564d74]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4446e7
mov dword [esi + 0x8c], getpeername
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x10
je 0x444709
cmp ecx, 0xf
je 0x444709
mov dword [esi + 0x60], 0xffffffff
jmp 0x44472d
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
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x44493a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x445634
cmp eax, 0xa
ja case.0x44b298.15
jmp dword [eax*4 + 0x44d3cc]
cmp dword [esi + 0x68], 0
jne case.default.0x44b31a
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x44493e
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x449e25
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x4447be
cmp edx, 0xc0
jb 0x4447be
test dl, 0x20
jne 0x44479c
lea eax, [ecx + 2]
jmp 0x4447bb
test dl, 0x10
jne 0x4447a6
lea eax, [ecx + 3]
jmp 0x4447bb
test dl, 8
jne 0x4447b0
lea eax, [ecx + 4]
jmp 0x4447bb
lea eax, [ecx + 5]
test dl, 4
je 0x4447bb
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x444771
jmp 0x44493e
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4409e3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4448ea
cmp eax, 0xc0
jb 0x4448ea
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x444829
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4448e5
test al, 0x10
jne 0x444849
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4448e5
test al, 8
jne 0x444875
and eax, 7
shl eax, 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 0x4448e5
test al, 4
jne 0x4448aa
and eax, 3
shl eax, 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 0x4448e5
and eax, 1
shl eax, 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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
cmp eax, 9
je 0x44491f
cmp eax, 5
je 0x44491f
cmp eax, 8
je 0x44491f
xor eax, eax
jmp 0x444924
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4447e0
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43f443
cmp dword [esp + 0x20], 0
je 0x4469ab
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x44698e
cmp ecx, 0xa
ja case.0x44b298.15
jmp dword [ecx*4 + 0x44d3f8]
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4409e3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x444a9f
cmp eax, 0xc0
jb 0x444a9f
test al, 0x20
jne 0x4449c9
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x444a9a
test al, 0x10
jne 0x4449ef
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x444a9a
test al, 8
jne 0x444a21
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x444a9a
test al, 4
movzx eax, byte [edx]
jne 0x444a5c
and ecx, 3
and eax, 0x3f
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 0x444a9a
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x444980
jmp 0x44493a
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
nop dword [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4409e3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x444c1f
cmp eax, 0xc0
jb 0x444c1f
test al, 0x20
jne 0x444b49
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x444c1a
test al, 0x10
jne 0x444b6f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x444c1a
test al, 8
jne 0x444ba1
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x444c1a
test al, 4
movzx eax, byte [edx]
jne 0x444bdc
and ecx, 3
and eax, 0x3f
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 0x444c1a
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x444b00
jmp 0x44493a
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4409e3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x444d90
cmp eax, 0xc0
jb 0x444d90
test al, 0x20
jne 0x444cba
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x444d8b
test al, 0x10
jne 0x444ce0
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x444d8b
test al, 8
jne 0x444d12
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x444d8b
test al, 4
movzx eax, byte [edx]
jne 0x444d4d
and ecx, 3
and eax, 0x3f
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 0x444d8b
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a18]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x444c71
jmp 0x44493a
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4409e3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x444f01
cmp eax, 0xc0
jb 0x444f01
test al, 0x20
jne 0x444e2b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x444efc
test al, 0x10
jne 0x444e51
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x444efc
test al, 8
jne 0x444e83
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x444efc
test al, 4
movzx eax, byte [edx]
jne 0x444ebe
and ecx, 3
and eax, 0x3f
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 0x444efc
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x444f38
cmp eax, 3
je 0x444f38
xor eax, eax
jmp 0x444f3d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x444de2
jmp 0x44493a
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x44493a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
cmp dword [esp + 0x28], 0
lea edx, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x1c], ecx
mov edi, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
je 0x44509a
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x44509a
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x444fcd
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x445089
test cl, 0x10
jne 0x444fee
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 0x445089
test cl, 8
jne 0x445018
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 0x445089
test cl, 4
jne 0x44504e
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 0x445089
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
mov edi, ecx
mov dword [esp + 0x1c], ecx
mov eax, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1c], 0x20
mov edx, ecx
ja 0x4450bb
cmp eax, 0x20
je case.0x445190.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x445190.8203
jmp dword [eax*4 + 0x44d424]
cmp edx, 0x2000
ja 0x445168
cmp edi, 0x2000
je case.0x445190.8193
cmp ecx, 0x1680
ja 0x445160
je case.0x445190.8193
mov eax, ecx
sub eax, 0x85
je case.0x445190.8193
sub eax, 0x1b
je case.0x445190.8193
mov eax, ecx
test eax, eax
jns 0x445104
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x567098]
shl eax, 7
and ecx, 0x8000007f
jns 0x44511e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
cmp dword [eax*4 + 0x565828], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44b31a
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x444f70
jmp 0x44493a
cmp ecx, 0x180e
jmp 0x4450f5
cmp ebx, 0x3000
ja case.0x445190.8203
cmp dword [esp + 0x18], 0x3000
je case.0x445190.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x445190.8203
movzx eax, byte [eax + 0x44d440]
jmp dword [eax*4 + 0x44d438]
cmp dword [esi + 0x68], 0
jne case.default.0x44b31a
jmp 0x445146
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x44493a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4409e3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x4452bf
cmp eax, 0xc0
jb 0x4452bf
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4451ff
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4452b8
test al, 0x10
jne 0x44521f
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4452b8
test al, 8
jne 0x445248
and eax, 7
shl eax, 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 0x4452b8
test al, 4
jne 0x44527d
and eax, 3
shl eax, 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 0x4452b8
and eax, 1
shl eax, 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
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x4452fb
cmp eax, 3
je 0x4452fb
cmp ebx, 0x5f
je 0x4452fb
xor eax, eax
jmp 0x445300
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44b31a
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4451b4
jmp 0x44493a
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x445429
cmp edx, 0xc0
jb 0x445429
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x44537d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x445424
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x44539e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x445424
test dl, 8
jne 0x4453c1
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 0x445424
test dl, 4
jne 0x4453f0
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 0x445424
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 ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x5658d8]
lea eax, [eax*4 + 0x5658d8]
jb 0x44544d
mov ecx, dword [eax]
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x445469
mov ecx, dword [eax]
cmp edx, ecx
jae 0x445440
cmp dword [esi + 0x68], 0
je case.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x445330
jmp 0x44493a
cmp dword [esi + 0x68], 0
jne case.default.0x44b31a
jmp 0x445457
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x44493a
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edi
mov edx, ecx
mov eax, ecx
mov dword [esp + 0x10], ecx
mov ebx, ecx
je 0x4455dd
mov dword [esp + 0x10], ecx
cmp ecx, 0xc0
jb 0x4455dd
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x4454f0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edi + 1]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4455e1
test cl, 0x10
jne 0x44551c
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4455e1
test cl, 8
jne 0x445554
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4455e1
test cl, 4
jne 0x445595
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4455e1
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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, edx
mov ebx, edx
mov edi, edx
jmp 0x4455e1
mov edi, dword [esp + 0x10]
cmp edx, 0x24
je 0x44560c
cmp eax, 0x40
je 0x44560c
cmp ebx, 0x60
je 0x44560c
cmp edi, 0xa0
jb 0x445600
cmp ecx, 0xd7ff
jbe 0x44560c
cmp ecx, 0xe000
jae 0x44560c
xor eax, eax
jmp 0x445611
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44b31a
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x445490
jmp 0x44493a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x44592b
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x44493a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4409e3
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x10], edi
je 0x44575c
mov dword [esp + 0x10], edi
cmp eax, 0xc0
jb 0x44575c
test al, 0x20
jne 0x44569c
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x44574b
test al, 0x10
jne 0x4456bc
mov ecx, eax
lea edx, [edi + 2]
movzx eax, byte [edi]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x44574b
test al, 8
jne 0x4456e5
mov ecx, eax
lea edx, [edi + 3]
movzx eax, byte [edi]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x44574b
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x445718
and eax, 3
lea edx, [edi + 4]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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]
jmp 0x44574b
and eax, 1
lea edx, [edi + 5]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x10], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x567098]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a1a]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x10], eax
jae 0x4458eb
mov edi, edx
mov dword [esp + 0x10], eax
nop word [eax + eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x445879
cmp edx, 0xc0
jb 0x445879
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4457e1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x445875
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4457f9
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x44586f
and eax, 0x3f
test dl, 8
jne 0x445819
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44586f
test dl, 4
jne 0x445842
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 0x44586f
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x14], edi
movzx eax, byte [edx + 0x567098]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x569298]
movzx ecx, byte [eax*8 + 0x565a1a]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x5658a0], eax
mov ebp, dword [esp + 0xb0]
je 0x4458e3
lea edx, [ebx + edi]
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x10], eax
cmp edx, eax
jb 0x4457a0
jmp 0x4458eb
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x445911
cmp edx, eax
jb 0x445911
cmp ecx, dword [ebp + 0x84]
jbe 0x445911
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44ac6c
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x445651
jmp 0x44493a
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x4464f0
cmp eax, 0xf
ja case.0x44b298.15
jmp dword [eax*4 + 0x44d4a0]
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4409e3
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x445999
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044f9c0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x44598d
mov eax, 1
jmp 0x44598f
xor eax, eax
test eax, eax
jne case.default.0x44b31a
jmp 0x4459c0
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4459be
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4459be
cmp edi, 1
je case.default.0x44b31a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x44b31a
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4459f6
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4459f6
test ecx, ecx
jne 0x4459f6
cmp dword [ebp + 0x1c], 2
jne 0x4459f6
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4459f6
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44ac6c
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x445a12
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x445a12
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x445a01
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x445957
jmp 0x44493a
mov edi, 1
cmp ecx, edi
jl 0x44493e
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4499c5
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x445a68
nop word [eax + eax]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x445a68
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x445a50
inc edi
cmp edi, dword [esi + 0x90]
jle 0x445a34
jmp 0x44493e
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x449f1a.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x44493e
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x44493e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp ecx, 0xc0
jb 0x445ba7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x445ae2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x445b9e
test cl, 0x10
jne 0x445b03
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 2
jmp 0x445b9e
test cl, 8
jne 0x445b2d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 3
jmp 0x445b9e
test cl, 4
jne 0x445b63
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 4
jmp 0x445b9e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 5
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp edi, 0x85
ja 0x445bdb
cmp eax, 0x85
je case.0x445bc2.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x44b31a
jmp dword [ecx*4 + 0x44d4e0]
cmp ebx, dword [ebp + 0x78]
jae case.0x445bc2.10
cmp byte [edx], 0xa
jne case.0x445bc2.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x445bc2.10
sub ecx, 0x2028
je case.0x445bc2.11
sub ecx, 1
jne case.default.0x44b31a
cmp dword [ebp + 0x68], 0
jne case.default.0x44b31a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x445aa2
jmp 0x44493a
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x44493e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x445d30
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x445c67
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x445d23
test cl, 0x10
jne 0x445c88
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 0x445d23
test cl, 8
jne 0x445cb2
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 0x445d23
test cl, 4
jne 0x445ce8
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 0x445d23
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
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x445d9c
cmp ebx, 0x2000
je case.default.0x44b31a
cmp ecx, 0xa0
ja 0x445d82
je case.default.0x44b31a
cmp ecx, 9
je case.default.0x44b31a
cmp ecx, 0x20
je case.default.0x44b31a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x445c21
jmp 0x44493a
cmp edx, 0x1680
je case.default.0x44b31a
cmp ecx, 0x180e
je case.default.0x44b31a
jmp case.0x445dc1.8203
cmp eax, 0x3000
ja case.0x445dc1.8203
cmp edi, 0x3000
je case.default.0x44b31a
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x445dc1.8203
movzx eax, byte [ecx + 0x44d4f8]
jmp dword [eax*4 + 0x44d4f0]
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x44493e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x445eef
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x445e26
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x445ee2
test cl, 0x10
jne 0x445e47
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 0x445ee2
test cl, 8
jne 0x445e71
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 0x445ee2
test cl, 4
jne 0x445ea7
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 0x445ee2
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
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x445f4b
cmp ebx, 0x2000
je case.0x445f74.8193
cmp ecx, 0xa0
ja 0x445f35
je case.0x445f74.8193
cmp ecx, 9
je case.0x445f74.8193
cmp ecx, 0x20
jne case.default.0x44b31a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x445de0
jmp 0x44493a
cmp edx, 0x1680
je case.0x445f74.8193
cmp ecx, 0x180e
jne case.default.0x44b31a
jmp case.0x445f74.8193
cmp eax, 0x3000
ja case.default.0x44b31a
cmp edi, 0x3000
je case.0x445f74.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x44b31a
movzx eax, byte [ecx + 0x44d560]
jmp dword [eax*4 + 0x44d558]
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x446093
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x445fd0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44608c
test cl, 0x10
jne 0x445ff1
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 0x44608c
test cl, 8
jne 0x44601b
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 0x44608c
test cl, 4
jne 0x446051
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 0x44608c
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
mov edi, ecx
mov eax, ecx
cmp eax, 0x85
ja 0x4460b5
cmp edi, 0x85
je case.default.0x44b31a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4460ae
jmp dword [ecx*4 + 0x44d5c0]
sub ecx, 0x2028
je case.default.0x44b31a
sub ecx, 1
je case.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x445f90
jmp 0x44493a
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4461e0
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x446132
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4461d9
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x446153
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4461d9
test dl, 8
jne 0x446176
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 0x4461d9
test dl, 4
jne 0x4461a5
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 0x4461d9
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 ecx, edx
mov eax, edx
cmp eax, 0x85
ja 0x446202
cmp ecx, 0x85
je case.0x4461fb.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x44b31a
jmp dword [edx*4 + 0x44d5d0]
sub edx, 0x2028
je case.0x4461fb.10
sub edx, 1
jne case.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4460f0
jmp 0x44493a
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440a55
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x44631e
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x446272
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x446319
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x446293
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x446319
test dl, 8
jne 0x4462b6
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 0x446319
test dl, 4
jne 0x4462e5
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 0x446319
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, edx
cmp eax, 0x80
jae 0x446332
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x44b31a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x446232
jmp 0x44493a
cmp ecx, 1
jl 0x44493e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x449e25
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x449f1a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x446352
jmp 0x44493e
mov edi, 1
cmp ecx, edi
jl 0x44493e
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x449e25
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4463c3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x449f1a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4463e8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4463e8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4463d0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4463a0
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x449e25
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x449f1a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x446404
jmp 0x44493e
mov edi, 1
cmp ecx, edi
jl 0x44493e
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x449e25
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x446473
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x449f1a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x446498
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x446498
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x446480
inc edi
cmp edi, dword [esi + 0x90]
jle 0x446450
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x449e25
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x449f1a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4464b4
jmp 0x44493e
cmp eax, 0xf
ja case.0x44b298.15
jmp dword [eax*4 + 0x44d5e0]
mov ebx, 1
cmp ecx, ebx
jl 0x44493a
nop dword [eax]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x440bb0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x446550
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0044f9c0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x446544
mov eax, 1
jmp 0x446546
xor eax, eax
test eax, eax
jne case.default.0x44b31a
jmp 0x446577
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x446577
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x446577
cmp edi, 1
je case.default.0x44b31a
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x44b31a
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4465ae
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4465ae
cmp dword [ebp + 0x18], 0
jne 0x4465ae
cmp dword [ebp + 0x1c], 2
jne 0x4465ae
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4465ae
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44ac6c
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x446510
jmp 0x44493a
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x445a86
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edx, dword [ebp + 0x84]
jmp 0x442e3e
mov edx, 1
cmp ecx, edx
jl 0x44493e
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x449e25
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x449f1a.14
movzx eax, byte [eax + 0x44d630]
jmp dword [eax*4 + 0x44d620]
cmp ecx, dword [ebp + 0x78]
jae case.0x446628.10
cmp byte [ecx], 0xa
jne case.0x446628.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x446628.10
cmp dword [ebp + 0x68], 0
jne case.0x449f1a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x446600
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edx, 1
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4499c5
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x449f1a.14
cmp ecx, 0x20
je case.0x449f1a.14
cmp ecx, 0xa0
je case.0x449f1a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x446670
jmp 0x44493e
mov edx, 1
cmp ecx, edx
jl 0x44493e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4499c5
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x4466e9
cmp ecx, 0x20
je 0x4466e9
cmp ecx, 0xa0
jne case.0x449f1a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4466c0
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edx, 1
mov edi, edx
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4499c5
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x446736.11
movzx eax, byte [eax + 0x44d6b4]
mov edx, edi
jmp dword [eax*4 + 0x44d6ac]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x446710
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edx, 1
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4499c5
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x449f1a.14
movzx eax, byte [eax + 0x44d738]
jmp dword [eax*4 + 0x44d730]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x446760
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edi, 1
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4465d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x449f1a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4467b0
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4465d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x449f1a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4467f0
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4465d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x449f1a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x446830
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4465d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x449f1a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x446870
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4465d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x449f1a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4468b0
jmp 0x44493e
cmp ecx, 1
jl 0x44493e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4465d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x449f1a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4468f0
jmp 0x44493e
mov dword [esi + 0x84], eax
jmp 0x44b706
mov dword [esi + 0x84], eax
jmp 0x44b8d4
mov dword [esi + 0x84], eax
jmp 0x44ba9a
mov dword [esi + 0x84], eax
jmp 0x44bc58
mov dword [esi + 0x84], eax
jmp 0x44be16
mov dword [esi + 0x84], eax
jmp 0x44c5fd
mov dword [esi + 0x84], eax
jmp 0x44ca17
mov dword [esi + 0x84], eax
jmp 0x44cc55
mov dword [esi + 0x84], eax
jmp 0x44ce36
mov dword [esi + 0x84], eax
jmp 0x44c7e0
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x44c14b
test ebx, ebx
jne 0x44b38b
jmp 0x44a024
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x447913
cmp eax, 0xa
ja case.0x44b298.15
jmp dword [eax*4 + 0x44d7b4]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x446a42
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x446a52
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x446a2e
cmp ecx, 0xc0
jb 0x446a2e
test cl, 0x20
jne 0x446a08
mov eax, 2
jmp 0x446a2e
test cl, 0x10
jne 0x446a14
mov eax, 3
jmp 0x446a2e
test cl, 8
jne 0x446a20
mov eax, 4
jmp 0x446a2e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x446a42
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4469e0
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x44c1ae
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x446a42
cmp edx, dword [ebp + 0x84]
jbe 0x446a42
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x446a42
jmp 0x44ccda
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x446a42
nop word [eax + eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x446be7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x446b84
cmp eax, 0xc0
jb 0x446b84
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x446ad9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x446b80
test al, 0x10
jne 0x446af3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x446b7a
test al, 8
jne 0x446b16
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x446b7a
test al, 4
jne 0x446b45
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x446b7a
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
cmp eax, 9
je 0x446bb9
cmp eax, 5
je 0x446bb9
cmp eax, 8
je 0x446bb9
xor eax, eax
jmp 0x446bbe
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x446a42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x446a90
jmp 0x446a42
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x446a42
cmp edx, dword [ebp + 0x84]
jbe 0x446a42
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x446a42
jmp 0x440457
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x446a42
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x446d7e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x446d24
cmp eax, 0xc0
jb 0x446d24
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x446c79
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x446d20
test al, 0x10
jne 0x446c93
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x446d1a
test al, 8
jne 0x446cb6
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x446d1a
test al, 4
jne 0x446ce5
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x446d1a
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x446a42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x446c30
jmp 0x446a42
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x446a42
cmp edx, dword [ebp + 0x84]
jbe 0x446a42
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x446a42
jmp 0x440457
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x446a42
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x446d7e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x446eb3
cmp eax, 0xc0
jb 0x446eb3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x446e08
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x446eaf
test al, 0x10
jne 0x446e22
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x446ea9
test al, 8
jne 0x446e45
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x446ea9
test al, 4
jne 0x446e74
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x446ea9
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x446a42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x446dc3
jmp 0x446a42
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x446a42
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x446d7e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x447014
cmp eax, 0xc0
jb 0x447014
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x446f69
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x447010
test al, 0x10
jne 0x446f83
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44700a
test al, 8
jne 0x446fa6
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44700a
test al, 4
jne 0x446fd5
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x44700a
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a18]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x446a42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x446f20
jmp 0x446a42
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x446a42
nop dword [eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x446be7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x447174
cmp eax, 0xc0
jb 0x447174
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4470c9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x447170
test al, 0x10
jne 0x4470e3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44716a
test al, 8
jne 0x447106
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44716a
test al, 4
jne 0x447135
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x44716a
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x4471ab
cmp eax, 3
je 0x4471ab
xor eax, eax
jmp 0x4471b0
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x446a42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447080
jmp 0x446a42
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x446a42
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x447419
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
je 0x447309
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x447309
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x447255
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4472f9
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x447273
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4472f3
and eax, 0x3f
test dl, 8
jne 0x447296
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4472f3
test dl, 4
jne 0x4472c2
and edx, 3
mov dword [esp + 0x18], 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 0x4472f3
and edx, 1
mov dword [esp + 0x18], 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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
cmp dword [esp + 0x10], 0x20
ja 0x447328
cmp eax, 0x20
je case.0x447406.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x447406.8203
jmp dword [eax*4 + 0x44d7e0]
cmp edx, 0x2000
ja 0x4473de
cmp ecx, 0x2000
je case.0x447406.8193
cmp edx, 0x1680
ja 0x4473d6
je case.0x447406.8193
mov eax, edx
sub eax, 0x85
je case.0x447406.8193
sub eax, 0x1b
je case.0x447406.8193
mov eax, edx
test eax, eax
jns 0x447371
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x567098]
shl eax, 7
and edx, 0x8000007f
jns 0x44738b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
cmp dword [eax*4 + 0x565828], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x446a42
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4471f0
jmp 0x446a42
cmp edx, 0x180e
jmp 0x447362
cmp ebx, 0x3000
ja case.0x447406.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x447406.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x447406.8203
movzx eax, byte [eax + 0x44d7fc]
jmp dword [eax*4 + 0x44d7f4]
cmp dword [esi + 0x68], 0
jne 0x446a42
jmp 0x4473b3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x446a42
cmp edi, dword [ebp + 0x84]
jmp 0x446d92
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x446a42
nop dword [eax + eax]
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x446d7e
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x44755a
cmp eax, 0xc0
jb 0x44755a
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4474a1
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x447554
test al, 0x10
jne 0x4474be
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44754e
test al, 8
jne 0x4474e4
and eax, 7
mov dword [esp + 0x18], 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44754e
test al, 4
jne 0x447516
and eax, 3
mov dword [esp + 0x18], 5
shl eax, 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]
jmp 0x44754e
and eax, 1
mov dword [esp + 0x18], 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x447596
cmp eax, 3
je 0x447596
cmp ebx, 0x5f
je 0x447596
xor eax, eax
jmp 0x44759b
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x446a42
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447450
jmp 0x446a42
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x446a42
nop dword [eax]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x447723
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x4476c8
cmp edx, 0xc0
jb 0x4476c8
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44762d
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4476c4
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x447648
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4476be
and eax, 0x3f
test dl, 8
jne 0x447668
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4476be
test dl, 4
jne 0x447691
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 0x4476be
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x5658d8]
lea eax, [eax*4 + 0x5658d8]
jb 0x4476ed
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x447717
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4476e0
cmp dword [esi + 0x68], 0
je 0x446a42
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4475e0
jmp 0x446a42
cmp dword [esi + 0x68], 0
jne 0x446a42
jmp 0x4476f7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x446a42
cmp edi, dword [ebp + 0x84]
jmp 0x446bfb
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x446a42
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4478ed
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
je 0x44788f
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x44788f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4477bb
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x44788f
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x4477eb
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x44788f
test dl, 8
jne 0x447820
and edx, 7
mov dword [esp + 0x18], 4
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
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x44788f
test dl, 4
jne 0x44784c
and edx, 3
mov dword [esp + 0x18], 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 0x44787d
and edx, 1
mov dword [esp + 0x18], 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, edx
mov dword [esp + 0x10], eax
mov ebx, eax
mov ecx, eax
cmp eax, 0x24
je 0x4478bc
cmp ecx, 0x40
je 0x4478bc
cmp ebx, 0x60
je 0x4478bc
cmp dword [esp + 0x10], 0xa0
jb 0x4478b0
cmp edx, 0xd7ff
jbe 0x4478bc
cmp edx, 0xe000
jae 0x4478bc
xor eax, eax
jmp 0x4478c1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x446a42
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447752
jmp 0x446a42
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x446a42
cmp edi, dword [ebp + 0x84]
jbe 0x446a42
mov dword [ebp + 0x64], 1
jmp 0x446c04
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x447c89
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447c3a
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x447c18
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x18], edi
je 0x447a4a
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x447a4a
test al, 0x20
jne 0x44798b
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x447a39
test al, 0x10
jne 0x4479a9
movzx eax, byte [edi]
lea edx, [edi + 2]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x447a39
test al, 8
jne 0x4479d0
movzx eax, byte [edi]
lea edx, [edi + 3]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x447a39
test al, 4
movzx eax, byte [edi]
jne 0x447a03
and ecx, 3
lea edx, [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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]
jmp 0x447a39
and ecx, 1
lea edx, [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x567098]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a1a]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x18], eax
jae 0x447bdb
mov edi, edx
mov dword [esp + 0x18], eax
nop word [eax + eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x447b69
cmp edx, 0xc0
jb 0x447b69
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x447ad1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x447b65
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x447ae9
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x447b5f
and eax, 0x3f
test dl, 8
jne 0x447b09
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x447b5f
test dl, 4
jne 0x447b32
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 0x447b5f
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x10]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x1c], edi
movzx eax, byte [edx + 0x567098]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x569298]
movzx ecx, byte [eax*8 + 0x565a1a]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x5658a0], eax
mov ebp, dword [esp + 0xb0]
je 0x447bd3
lea edx, [ebx + edi]
mov dword [esp + 0x10], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x18], eax
cmp edx, eax
jb 0x447a90
jmp 0x447bdb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x447c01
cmp edx, eax
jb 0x447c01
cmp ecx, dword [ebp + 0x84]
jbe 0x447c01
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44ac6c
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447940
jmp 0x447c3a
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x447c3a
cmp ecx, dword [ebp + 0x84]
jbe 0x447c3a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x440457
cmp dword [esp + 0x24], 0
jne 0x43f443
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x447c7a
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x44a0d3
add eax, 0xfffffffa
test ebx, ebx
je 0x448a9f
cmp eax, 0xf
ja case.0x44b298.15
jmp dword [eax*4 + 0x44d85c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x448a8f
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x447d83
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x447cf8
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044f9c0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x447cec
mov eax, 1
jmp 0x447cee
xor eax, eax
test eax, eax
jne 0x448a8f
jmp 0x447d1f
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x447d1d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x447d1d
cmp edi, 1
je 0x448a8f
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x448a8f
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x447d55
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x447d55
test ecx, ecx
jne 0x447d55
cmp dword [ebp + 0x1c], 2
jne 0x447d55
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x447d55
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44ac6c
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x447d71
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x447d71
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x447d60
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x447cb6
jmp 0x448a8f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x448a8f
cmp ecx, dword [ebp + 0x84]
jbe 0x448a8f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x448a8f
jmp 0x440457
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x447e08
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x448a8f
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x447e0e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x447dfa
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x447dfa
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x447de2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x447dd0
jmp 0x448a8f
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x448a8f
cmp eax, dword [ebp + 0x84]
jbe 0x448a8f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x448a8f
jmp 0x44ccda
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 0x447e89
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x448a8f
cmp edx, dword [ebp + 0x84]
jbe 0x448a8f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x448a8f
jmp 0x44ccda
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x448a8f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x448a8f
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x448024
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x447fae
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x447efe
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x447fa2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x447f1c
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x447f9c
and eax, 0x3f
test dl, 8
jne 0x447f3f
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x447f9c
test dl, 4
jne 0x447f6b
and edx, 3
mov dword [esp + 0x18], 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 0x447f9c
and edx, 1
mov dword [esp + 0x18], 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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov ebx, edx
cmp ecx, 0xd
jne 0x447fca
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x448a8f
cmp byte [eax], 0xa
jne 0x44800a
inc eax
jmp 0x448007
cmp eax, 0xa
je 0x448001
cmp dword [ebp + 0x68], 0
jne 0x448a8f
cmp ebx, 0xb
je 0x448001
cmp dword [esp + 0x10], 0xc
je 0x448001
cmp edx, 0x85
je 0x448001
cmp edx, 0x2028
je 0x448001
cmp edx, 0x2029
jne 0x448a8f
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447eb0
jmp 0x448a8f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x448a8f
cmp edi, dword [ebp + 0x84]
jmp 0x447d97
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x448a8f
nop dword [eax]
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x448024
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x44815a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4480aa
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x44814e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4480c8
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x448148
and eax, 0x3f
test dl, 8
jne 0x4480eb
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x448148
test dl, 4
jne 0x448117
and edx, 3
mov dword [esp + 0x18], 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 0x448148
and edx, 1
mov dword [esp + 0x18], 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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x10], 0x2000
ja 0x4481ca
cmp ebx, 0x2000
je case.0x4481eb.8193
cmp edx, 0xa0
ja 0x4481ba
je case.0x4481eb.8193
cmp edx, 9
je case.0x4481eb.8193
cmp edx, 0x20
je case.0x4481eb.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x448a8f
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x448060
jmp 0x448a8f
cmp edx, 0x1680
je case.0x4481eb.8193
cmp edx, 0x180e
jmp 0x448182
cmp eax, 0x3000
ja case.0x4481eb.8203
cmp ecx, 0x3000
je case.0x4481eb.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4481eb.8203
movzx eax, byte [edx + 0x44d8a4]
jmp dword [eax*4 + 0x44d89c]
mov ecx, 1
jmp 0x448186
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x448a8f
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x448351
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4482ec
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x448252
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x4482e6
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44826a
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4482e0
and eax, 0x3f
test dl, 8
jne 0x44828a
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4482e0
test dl, 4
jne 0x4482b3
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 0x4482e0
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
cmp eax, 0x85
ja 0x44830a
cmp ecx, 0x85
je case.0x448303.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x448303
jmp dword [edx*4 + 0x44d904]
sub edx, 0x2028
je case.0x448303.10
sub edx, 1
je case.0x448303.10
xor ecx, ecx
jmp 0x448320
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x448a8f
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x448210
jmp 0x448a8f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x448a8f
cmp edi, dword [ebp + 0x84]
jbe 0x448a8f
mov dword [ebp + 0x64], ebx
jmp 0x447da4
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x448a8f
nop dword [eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448024
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x448483
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4483d4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x44847d
test dl, 0x10
jne 0x4483ef
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x448477
test dl, 8
jne 0x448413
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x448477
test dl, 4
jne 0x448443
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 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 0x448477
and edx, eax
mov ebx, 6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x44849a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x448a8f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x448390
jmp 0x448a8f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x448a8f
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448024
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4485a9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x448510
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4485a5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x448528
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x44859f
and eax, 0x3f
test dl, 8
jne 0x448548
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44859f
test dl, 4
jne 0x448571
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 0x44859f
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x448a8f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x448a8f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4484d0
jmp 0x448a8f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x448a8f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448024
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4486e3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x448634
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4486dd
test dl, 0x10
jne 0x44864f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4486d7
test dl, 8
jne 0x448673
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4486d7
test dl, 4
jne 0x4486a3
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 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 0x4486d7
and edx, eax
mov ebx, 6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x4486fa
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x448a8f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4485f0
jmp 0x448a8f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x448a8f
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448024
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x448809
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x448770
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x448805
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x448788
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4487ff
and eax, 0x3f
test dl, 8
jne 0x4487a8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4487ff
test dl, 4
jne 0x4487d1
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 0x4487ff
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x448a8f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x448a8f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x448730
jmp 0x448a8f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x448a8f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448024
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x448943
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x448894
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x44893d
test dl, 0x10
jne 0x4488af
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x448937
test dl, 8
jne 0x4488d3
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x448937
test dl, 4
jne 0x448903
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 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 0x448937
and edx, eax
mov ebx, 6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x44895a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x448a8f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x448850
jmp 0x448a8f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x448a8f
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448024
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x448a6c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4489d0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x448a68
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4489eb
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x448a62
and eax, 0x3f
test dl, 8
jne 0x448a0b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x448a62
test dl, 4
jne 0x448a34
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 0x448a62
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x448a8f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x448a8f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x448990
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x44b615
cmp eax, 0xf
ja case.0x44b298.15
jmp dword [eax*4 + 0x44d914]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x448d80.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x448b7b
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x448b08
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0044f9c0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x448afc
mov eax, 1
jmp 0x448afe
xor eax, eax
test eax, eax
jne case.0x448d80.10
jmp 0x448b2f
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x448b2f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x448b2f
cmp edi, 1
je case.0x448d80.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x448d80.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x448b66
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x448b66
cmp dword [ebp + 0x18], 0
jne 0x448b66
cmp dword [ebp + 0x1c], 2
jne 0x448b66
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x448b66
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44ac6c
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x448ac1
jmp case.0x448d80.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x448d80.10
cmp edx, dword [ebp + 0x84]
jbe case.0x448d80.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x448d80.10
jmp 0x440457
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 0x448bf6
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x448d80.10
cmp edx, dword [ebp + 0x84]
jbe case.0x448d80.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x448d80.10
jmp 0x44ccda
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x448d80.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x448d80.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x448c72
mov al, byte [ecx]
cmp al, 0xd
jne 0x448c38
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x448d80.10
cmp byte [eax], 0xa
jne 0x448c64
inc eax
jmp 0x448c61
cmp al, 0xa
je 0x448c5e
cmp dword [ebp + 0x68], 0
jne case.0x448d80.10
cmp al, 0xb
je 0x448c5e
cmp al, 0xc
je 0x448c5e
cmp al, 0x85
jne case.0x448d80.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x448c13
jmp case.0x448d80.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x448d80.10
cmp ecx, dword [ebp + 0x84]
jmp 0x448bdb
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x448d80.10
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x448cd7
mov cl, byte [eax]
cmp cl, 9
je case.0x448d80.10
cmp cl, 0x20
je case.0x448d80.10
cmp cl, 0xa0
je case.0x448d80.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x448ca0
jmp case.0x448d80.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x448d80.10
cmp eax, dword [ebp + 0x84]
jbe case.0x448d80.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x448d80.10
jmp 0x44ccda
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x448d80.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x448cd7
mov cl, byte [eax]
cmp cl, 9
je 0x448d39
cmp cl, 0x20
je 0x448d39
cmp cl, 0xa0
jne case.0x448d80.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x448d18
jmp case.0x448d80.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x448d80.10
mov edi, ecx
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x448bc7
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x448d80.11
movzx eax, byte [eax + 0x44d95c]
mov ecx, edi
jmp dword [eax*4 + 0x44d954]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x448d60
jmp case.0x448d80.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x448d80.10
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x448c72
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x448d80.10
movzx eax, byte [eax + 0x44d9e0]
jmp dword [eax*4 + 0x44d9d8]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x448db0
jmp case.0x448d80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x448d80.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x448bc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x448d80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x448e00
jmp case.0x448d80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x448d80.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x448bc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x448d80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x448e42
jmp case.0x448d80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x448d80.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x448bc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x448d80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x448e84
jmp case.0x448d80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x448d80.10
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x448bc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x448d80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x448ed0
jmp case.0x448d80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x448d80.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x448bc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x448d80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x448f12
jmp case.0x448d80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x448d80.10
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x448f75
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x448d80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x448f50
jmp case.0x448d80.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x448d80.10
cmp edx, dword [ebp + 0x84]
jbe case.0x448d80.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x44ccda
cmp dword [esp + 0x24], 0
jne 0x43f443
jmp 0x44a094
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cfbf
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x448fd4
jmp dword [eax*4 + 0x44da5c]
cmp edi, 0xfffffc1b
je 0x4490be
cmp edi, 0xfffffc20
jne 0x449029
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4494ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x449022
cmp byte [ecx], 0x77
jne case.default.0x4494ec
xor edi, edi
jmp 0x449031
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4490be
cmp dword [esi + 0x9c], 0x88
jb 0x44907d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4490a6
push 0x134
call dword [0x5b6c1c]
mov edx, eax
add esp, 4
test edx, edx
je 0x44cc78
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 0x4496e8
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 eax, dword [esi]
mov esi, eax
test eax, eax
jne 0x448fc4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x4491da
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x449234
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x449150
cmp byte [ecx], 0x77
jne 0x449234
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne case.0x449f1a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x449245
cmp eax, 0x81
je 0x449245
cmp dword [ebp + 0x6c], 0
jne 0x44924f
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 0x44924f
movzx eax, byte [edx]
movzx eax, byte [eax + 0x565710]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x43f3d0
test edi, edi
je 0x449150
cmp edi, 0xfffffc1b
jne 0x449234
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x81
je 0x449229
cmp byte [eax], 0x77
mov ebx, eax
jne 0x449218
mov edx, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov ebx, eax
mov edx, eax
cmp byte [eax], 0x77
je 0x449200
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, ebx
sub eax, ecx
xor ecx, ecx
cmp dword [ebp + 0xb4], eax
cmove edi, ecx
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x449104
jmp 0x448fc0
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 0x44928d
push 0x134
call dword [0x5b6c1c]
mov edx, eax
add esp, 4
test edx, edx
je 0x44cc78
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 0x4496e8
cmp edi, 1
jne 0x449324
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4492c0
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x4492d7
inc edx
mov dword [esi + 0xc], edx
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
jne 0x449309
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 0x4492f2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x565710]
sub ecx, eax
add ecx, 3
mov dword [esi + 0xc], ecx
jmp 0x43f8ec
test edi, edi
je 0x43f8ec
cmp edi, 0xfffffc20
je 0x43f8ec
jmp case.default.0x4494ec
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x44935c
cmp byte [eax - 3], 0x77
jne 0x43f443
cmp dword [esi + 0x9c], 0x8c
jne 0x43f3d0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44939f
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x44a0d3
cmp edi, 1
je 0x449460
cmp edi, 0xfffffc19
je 0x449460
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x449406
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4494ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44940e
cmp byte [ecx], 0x77
jmp 0x449408
test edi, edi
jne case.default.0x4494ec
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
jne 0x449466
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449451
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x4495a5
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x449f1a.14
cmp dword [esi + 0x58], 0
jne 0x449542
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x449480
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x43f443
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x4494cf
je case.0x4494ec.995
cmp edi, 0xfffffc19
jmp 0x4495dc
test edi, edi
jg 0x4495d7
je 0x449558
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x4494ec
jmp dword [eax*4 + 0x44db68]
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4494ec.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x449558
cmp byte [ecx], 0x77
je 0x449558
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 0x449521
cmp dword [esi + 0x58], 0
je 0x4497e7
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf12
mov edi, 1
jmp 0x448fc0
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
jne 0x449538
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44959b
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x43f3c0
mov eax, edi
sub eax, 1
je case.0x449f1a.14
jmp case.default.0x4494ec
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.00424ca0
mov eax, dword [esi + 0x4c]
lea ecx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ecx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x44ce69
cmp edi, 0xfffffc19
je 0x44ce69
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x449650
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x449f1a.14
push ecx
call dword [0x5b6c18]
add esp, 4
jmp case.0x449f1a.14
test edi, edi
je 0x449674
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x4494ec
push ecx
call dword [0x5b6c18]
add esp, 4
jmp case.default.0x4494ec
mov dword [ebp + 0xa4], ecx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x449719
cmp dword [esi + 0x58], 0
je 0x4496ac
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4496d5
push 0x134
call dword [0x5b6c1c]
mov edx, eax
add esp, 4
test edx, edx
je 0x44cc78
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 + 0x565710]
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 0x43f3c0
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x449630
test edi, edi
jne case.default.0x4494ec
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x449775
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44975d
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], edi
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 0x44a0dc
cmp al, 0x88
jb 0x44ce98
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4497a6
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
test edi, edi
jne case.default.0x4494ec
mov edx, dword [esi + 0x2c]
nop dword [eax]
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 0x4497d0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x43f443
test edi, edi
je case.0x441366.10
jmp case.default.0x4494ec
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf22
mov edi, 0xfffffc1b
jmp 0x448fc4
cmp edi, 0xfffffc1b
jne 0x449840
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x449842
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x44a6c6
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44987d
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0044df10
add esp, 0x14
test eax, eax
jns 0x449908
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4498e6
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edi, dword [ebp + 0x78]
jb case.0x449f1a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x442e3e
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44993c
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 8]
sub eax, dword [esi + 0x88]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x44b31a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449994
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4499e4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x449f1a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x449f1a.14
jmp 0x44040f
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 case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449a35
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x44b31a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449a84
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x449ad4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x449f1a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x449f1a.14
jmp 0x44040f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x449aef
cmp dword [esi + 0x94], ecx
jne case.0x449f1a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449b22
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x44a0d3
dec dword [esi + 8]
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449b71
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x442e2a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449bea
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x44a0d3
dec dword [esi + 8]
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449c39
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x449c89
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x449f1a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x449f1a.14
jmp 0x44040f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x449f1a.14
cmp dword [esi + 0x94], ecx
je case.0x449f1a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449cd7
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449d26
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x442e2a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449d9f
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x449dee
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x449e3e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x442e3e
cmp dword [esi + 0x7c], 0xc
jne 0x449e99
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x449e6c
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044f9c0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x449e99
jmp case.0x449f1a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x449e99
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x449e99
cmp edi, 1
je case.0x449f1a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x449f1a.14
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.0x44b298.15
jmp dword [eax*4 + 0x44db78]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x449eb4.13
cmp edx, dword [ebp + 0x78]
jb case.0x449eb4.13
cmp dword [ebp + 0x18], 0
jne case.0x449eb4.13
cmp dword [ebp + 0x1c], 2
jne case.0x449eb4.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x449eb4.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x449eb4.13
jmp 0x44ccda
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x449f1a.14
movzx eax, byte [ecx + 0x44dbc8]
jmp dword [eax*4 + 0x44dbb8]
cmp edx, dword [ebp + 0x78]
jae case.0x449eb4.13
cmp byte [edx], 0xa
jne case.0x449eb4.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x449eb4.13
cmp dword [ebp + 0x68], 0
je case.0x449eb4.13
jmp case.0x449f1a.14
cmp ecx, 9
je case.0x449f1a.14
cmp ecx, 0x20
je case.0x449f1a.14
cmp ecx, 0xa0
jne case.0x449eb4.13
jmp case.0x449f1a.14
cmp ecx, 9
je case.0x449eb4.13
cmp ecx, 0x20
je case.0x449eb4.13
cmp ecx, 0xa0
je case.0x449eb4.13
jmp case.0x449f1a.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x449eb4.13
movzx eax, byte [ecx + 0x44dc4c]
jmp dword [eax*4 + 0x44dc44]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x449f1a.14
movzx eax, byte [ecx + 0x44dcd0]
jmp dword [eax*4 + 0x44dcc8]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x449eb4.13
jmp case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x449eb4.13
jmp case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x449eb4.13
jmp case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x449eb4.13
jmp case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x449eb4.13
jmp case.0x449f1a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a04d
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x44a094
cmp eax, dword [esi + 0x30]
jbe 0x44a094
cmp byte [eax], 0xa
jne 0x44a094
dec eax
cmp byte [eax], 0xd
jne 0x44a094
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a0c9
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x43f3c0
cmp edi, 0xfffffc1a
jne 0x44a161
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 0x44a159
mov edx, dword [esi + 0xc]
nop word [eax + eax]
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 0x44a140
jmp 0x44a1c1
mov dword [esi + 8], eax
jmp 0x44a1e6
cmp edi, 0xfffffc20
jne 0x44a19b
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4494ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44a1a3
cmp byte [ecx], 0x77
jmp 0x44a19d
test edi, edi
jne case.default.0x4494ec
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 0x44a1da
cmp dword [esi + 0x5c], 0
jne 0x4497e7
cmp dword [esi + 0x54], 0
jne 0x4497e7
jmp case.0x449f1a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x44a200
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x44a229
push 0x134
call dword [0x5b6c1c]
mov edx, eax
add esp, 4
test edx, edx
je 0x44cc78
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 0x4496e8
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x44a357
jmp 0x4490fc
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4490fc
test eax, eax
je 0x44cf32
mov edi, 0xfffffc1c
jmp 0x448fc4
test edi, edi
je 0x44a301
jmp case.default.0x4494ec
cmp edi, 1
je 0x44a292
cmp edi, 0xfffffc19
jne 0x44a2b0
cmp dword [ebp + 0xac], 0
jne 0x44a2b0
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x4494ec
cmp edi, 0xfffffc1f
jne case.default.0x4494ec
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44a2f4
test dl, dl
je 0x44a2ed
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44a2f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x44a2c5
xor eax, eax
jmp 0x44a2f9
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4494ec
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf42
mov edi, 0xfffffc1e
jmp 0x448fc4
cmp edi, 1
je 0x44a332
cmp edi, 0xfffffc19
jne 0x44a34b
cmp dword [ebp + 0xac], 0
jne 0x44a34b
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4490fc
test eax, eax
je 0x44cf52
mov edi, 0xfffffc1d
jmp 0x448fc4
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf62
mov edi, 0xfffffc1f
jmp 0x448fc4
cmp edi, 1
je 0x44a3a5
cmp edi, 0xfffffc19
jne case.0x448fd4.54
cmp dword [ebp + 0xac], 0
jne case.0x448fd4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf72
mov edi, 0xfffffc20
jmp 0x448fc4
cmp edi, 0xfffffc1a
jne 0x44a447
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 0x44a43f
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 0x44a423
jmp 0x44a4b3
mov dword [esi + 8], eax
jmp 0x43ffe2
cmp edi, 0xfffffc20
jne 0x44a481
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4494ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44a489
cmp byte [ecx], 0x77
jmp 0x44a483
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
je 0x43ffe2
cmp dword [esi + 0x5c], 0
jne 0x44a4f3
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 0x43fa9f
cmp dword [esi + 0x5c], 0
jne 0x43fa9f
jmp case.0x449f1a.14
cmp edi, 1
jne 0x44a5bd
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x44a530
cmp al, 0x77
jne case.0x449f1a.14
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x44a530
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov edi, dword [esi + 0xc]
mov al, byte [edi]
cmp al, 0x78
je 0x441ba2
cmp ecx, dword [esi + 0x38]
je 0x441ba2
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x44a66d
test ecx, ecx
jne 0x44a5a2
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
cmp edi, 0xfffffc20
jne 0x44a5f7
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4494ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44a5ff
cmp byte [ecx], 0x77
jmp 0x44a5f9
test edi, edi
jne case.default.0x4494ec
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x44a51b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a652
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
test ecx, ecx
jne 0x44a693
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
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 0x44a0dc
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x43f3d0
test edi, edi
jne case.default.0x4494ec
add dword [esi + 0xc], 3
jmp 0x43f3d0
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x442e2a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x44a7e7
cmp edx, 0xc0
jb 0x44a7e7
test dl, 0x20
jne 0x44a72f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44a7e4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44a75a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x44a7e4
test dl, 8
jne 0x44a781
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 0x44a7e4
test dl, 4
jne 0x44a7b0
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 0x44a7e4
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
push ebx
push dword [esi + 0x28]
push edx
call fcn.0044f2a0
add esp, 0xc
test eax, eax
je case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a82b
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x449f1a.14
test ebx, ebx
je 0x44a874
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x44a874
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x44a868
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a89d
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x44a8e7
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x442e3e
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x44a9e3
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x44a91d
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x44a9dc
test bl, 0x10
jne 0x44a93e
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x44a9dc
test bl, 8
jne 0x44a96b
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x44a9dc
test bl, 4
jne 0x44a9a1
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 0x44a9dc
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 + 8], eax
mov edi, ebx
mov eax, ebx
cmp eax, 0xff
jbe 0x44aa0a
cmp dword [esi + 0x9c], 0x6e
jne 0x44aa21
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cfa2
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x448fc4
mov edx, dword [esi + 0x28]
and edi, 7
shr ebx, 3
mov eax, 1
mov ecx, edi
shl eax, cl
test byte [ebx + edx], al
jmp 0x44a9f1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44aa50
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x44b31a
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x44aa91
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x44aa85
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44aaba
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
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 0x44ab75
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x44ab25
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44ab2a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44ab10
cmp edi, 0xfffffffc
je 0x44ab67
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44ab72
cmp edi, 0xfffffffd
je 0x44ab67
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44ab72
cmp edi, 0xfffffffe
je 0x44ab67
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44ab72
cmp edi, 0xffffffff
je 0x44ab67
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44ab72
mov eax, dword [esi + 0x88]
jmp 0x44abf6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x44ac39
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x44ac39
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x44abb5
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44abba
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44aba0
cmp edi, 0xfffffffc
je 0x44abf3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44ac39
cmp edi, 0xfffffffd
je 0x44abf3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44ac39
cmp edi, 0xfffffffe
je 0x44abf3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44ac39
cmp edi, 0xffffffff
je 0x44abf3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44ac39
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 0x44ac2a
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x44a0d3
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44b31a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x44b31a
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x44b31a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x44b31a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf92
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x448fc4
test edi, edi
jne case.default.0x4494ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44acad
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44aca1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44ace2
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x442e2a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x44ae1a
test dl, 0x20
jne 0x44ad50
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x44ae1a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44ad80
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x44ae1a
test dl, 8
jne 0x44adab
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]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x44ae1a
test dl, 4
jne 0x44addf
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]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x44ae1a
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 dword [esi + 8], eax
mov edx, ecx
mov eax, ecx
cmp dword [esi + 0x80], edx
je case.0x449f1a.14
cmp dword [esi + 0x94], eax
je case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44ae61
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44ae9c
nop dword [eax + eax]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44ae90
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44aed1
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44af21
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x449f1a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x449f1a.14
jmp 0x44040f
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x14], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x44b02d
mov cl, byte [eax]
test bl, 0x20
jne 0x44af52
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x44b025
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x44af76
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x44b025
test bl, 8
jne 0x44afb1
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x44b02d
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x44afef
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x44b025
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x44b31a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b068
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44b09e
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44b092
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b0d3
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x44b11f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x442e3e
cmp dword [esi + 0x7c], 0xc
jne 0x44b172
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44b149
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044f9c0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x44b172
jmp case.0x449f1a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x44b172
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44b172
cmp edi, 1
je case.0x449f1a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x449f1a.14
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x14], edi
mov ebx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x44b289
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x44b1c3
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x44b26e
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x44b1e8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x44b26e
test dl, 8
jne 0x44b20b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 3
jmp 0x44b26e
test dl, 4
jne 0x44b23a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 4
jmp 0x44b26e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 5
mov ecx, edx
mov dword [esi + 8], edi
mov dword [esp + 0x14], edi
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x44b298.15
jmp dword [eax*4 + 0x44dd4c]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44b298.13
mov eax, dword [esp + 0x14]
cmp eax, dword [ebp + 0x78]
jb case.0x44b298.13
cmp dword [ebp + 0x18], 0
jne case.0x44b298.13
cmp dword [ebp + 0x1c], 2
jne case.0x44b298.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x44b298.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x44b298.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf92
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x448fc4
cmp edx, 0x85
ja 0x44b333
je case.0x44b31a.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x44b31a
jmp dword [edx*4 + 0x44dd8c]
cmp edi, dword [ebp + 0x78]
jae case.0x44b298.13
cmp byte [edi], 0xa
jne case.0x44b298.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x44b298.13
sub edx, 0x2028
je case.0x44b31a.11
sub edx, 1
jne case.default.0x44b31a
cmp dword [ebp + 0x68], 0
je case.0x44b298.13
jmp case.default.0x44b31a
cmp edx, 0x2000
ja 0x44b3d7
je case.default.0x44b31a
cmp edx, 0xa0
ja 0x44b3c3
je case.default.0x44b31a
cmp edx, 9
je case.default.0x44b31a
cmp edx, 0x20
je case.default.0x44b31a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b3b4
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x44a0d3
cmp edx, 0x1680
je case.default.0x44b31a
cmp edx, 0x180e
jmp 0x44b37f
cmp edx, 0x3000
ja case.0x44b298.13
je case.default.0x44b31a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x44b298.13
movzx eax, byte [edx + 0x44dda4]
jmp dword [eax*4 + 0x44dd9c]
cmp edx, 0x2000
ja 0x44b44e
je case.0x44b298.13
cmp edx, 0xa0
ja 0x44b431
je case.0x44b298.13
cmp edx, 9
je case.0x44b298.13
cmp edx, 0x20
je case.0x44b298.13
jmp case.default.0x44b31a
cmp edx, 0x1680
je case.0x44b298.13
cmp edx, 0x180e
je case.0x44b298.13
jmp case.default.0x44b31a
cmp edx, 0x3000
ja case.default.0x44b31a
je case.0x44b298.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x44b31a
movzx eax, byte [edx + 0x44de0c]
jmp dword [eax*4 + 0x44de04]
cmp edx, 0x85
ja 0x44b49e
je case.default.0x44b31a
add edx, 0xfffffff6
cmp edx, 3
ja case.0x44b298.13
jmp dword [edx*4 + 0x44de6c]
sub edx, 0x2028
je case.default.0x44b31a
sub edx, 1
jne case.0x44b298.13
jmp case.default.0x44b31a
cmp edx, 0x85
ja 0x44b4d9
je case.0x44b298.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x44b31a
jmp dword [edx*4 + 0x44de7c]
sub edx, 0x2028
je case.0x44b298.13
sub edx, 1
je case.0x44b298.13
jmp case.default.0x44b31a
cmp ecx, 0x100
jae case.0x44b298.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x44b298.13
jmp case.default.0x44b31a
cmp ebx, 0x100
jae case.default.0x44b31a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x44b298.13
jmp case.default.0x44b31a
cmp dword [esp + 0x18], 0x100
jae case.0x44b298.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x44b298.13
jmp case.default.0x44b31a
cmp dword [esp + 0x10], 0x100
jae case.default.0x44b31a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x44b298.13
jmp case.default.0x44b31a
cmp dword [esp + 0x1c], 0x100
jae case.0x44b298.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x44b298.13
jmp case.default.0x44b31a
cmp dword [esp + 0x20], 0x100
jae case.default.0x44b31a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x44b298.13
jmp case.default.0x44b31a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x448fd4
mov edi, 0xfffffff2
jmp 0x448fc0
test edi, edi
jne case.default.0x4494ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44b5ec
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44b5e0
cmp dword [esi + 0x7c], 0x11
jne 0x44b615
cmp ecx, dword [esi + 0x30]
jbe 0x44b615
cmp byte [ecx], 0xa
jne 0x44b615
dec ecx
cmp byte [ecx], 0xd
jne 0x44b615
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b64a
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44b69a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x449f1a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x449f1a.14
jmp 0x44040f
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x44b6f6
cmp ecx, 0xc0
jb 0x44b6f6
test cl, 0x20
jne 0x44b6bd
lea eax, [edx + 1]
jmp 0x44b6f3
test cl, 0x10
jne 0x44b6ce
add eax, 3
jmp 0x44b6f3
test cl, 8
jne 0x44b6df
add eax, 4
jmp 0x44b6f3
test cl, 4
jne 0x44b6f0
add eax, 5
jmp 0x44b6f3
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b72f
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44b779
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edx, dword [ebp + 0x84]
jmp 0x442e3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44b87c
cmp eax, 0xc0
jb 0x44b87c
test al, 0x20
jne 0x44b7b5
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44b877
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x44b7db
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44b877
test al, 8
jne 0x44b807
and eax, 7
shl eax, 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 0x44b877
test al, 4
jne 0x44b83c
and eax, 3
shl eax, 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 0x44b877
and eax, 1
shl eax, 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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
cmp eax, 9
je 0x44b8c0
cmp eax, 5
je 0x44b8c0
cmp eax, 8
je 0x44b8c0
xor eax, eax
jmp 0x44b8c5
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b8fd
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44b947
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edx, dword [ebp + 0x84]
jmp 0x442e3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44ba5a
cmp eax, 0xc0
jb 0x44ba5a
test al, 0x20
jne 0x44b983
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44ba55
test al, 0x10
jne 0x44b9ab
mov ecx, eax
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x44ba55
test al, 8
jne 0x44b9df
mov ecx, eax
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x44ba55
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x44ba1a
and eax, 3
shl eax, 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 0x44ba55
and eax, 1
shl eax, 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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44bac3
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44bb0d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edx, dword [ebp + 0x84]
jmp 0x442e3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44bc1f
cmp eax, 0xc0
jb 0x44bc1f
test al, 0x20
jne 0x44bb49
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44bc1a
test al, 0x10
jne 0x44bb6f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x44bc1a
test al, 8
jne 0x44bba1
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x44bc1a
test al, 4
movzx eax, byte [edx]
jne 0x44bbdc
and ecx, 3
and eax, 0x3f
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 0x44bc1a
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44bc81
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44bccb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edx, dword [ebp + 0x84]
jmp 0x442e3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44bddd
cmp eax, 0xc0
jb 0x44bddd
test al, 0x20
jne 0x44bd07
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44bdd8
test al, 0x10
jne 0x44bd2d
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x44bdd8
test al, 8
jne 0x44bd5f
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x44bdd8
test al, 4
movzx eax, byte [edx]
jne 0x44bd9a
and ecx, 3
and eax, 0x3f
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 0x44bdd8
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a18]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44be3f
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44be89
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edx, dword [ebp + 0x84]
jmp 0x442e3e
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x14], edx
je 0x44bf8a
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x44bf8a
test al, 0x20
jne 0x44beca
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x44bf79
test al, 0x10
jne 0x44beea
mov ecx, eax
lea edi, [edx + 2]
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x44bf79
test al, 8
jne 0x44bf13
mov ecx, eax
lea edi, [edx + 3]
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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]
jmp 0x44bf79
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x44bf46
and eax, 3
lea edi, [edx + 4]
shl eax, 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]
jmp 0x44bf79
and eax, 1
lea edi, [edx + 5]
shl eax, 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
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x14], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a1a]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], edx
jae 0x44c106
mov dword [esp + 0x14], edx
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x44c0a9
cmp edx, 0xc0
jb 0x44c0a9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44c006
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x44c0a5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44c025
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x44c09f
and eax, 0x3f
test dl, 8
jne 0x44c049
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44c09f
test dl, 4
jne 0x44c072
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 0x44c09f
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x18]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x567098]
mov edx, dword [esp + 0x14]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x569298]
movzx ecx, byte [eax*8 + 0x565a1a]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x5658a0], eax
mov ebp, dword [esp + 0xb0]
je 0x44c106
add edi, ebx
mov dword [esp + 0x18], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x14], edx
cmp edi, edx
jb 0x44bfc1
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x44c145
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x44c145
cmp eax, dword [ebp + 0x84]
jbe 0x44c145
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x44c145
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf92
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x448fc4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44c174
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x44c1ae
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44c1ae
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44c1a2
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43f3d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44c1e3
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x44c211
movzx edx, byte [edi]
jmp 0x44c2ed
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x44c22c
nop dword [eax]
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x44c220
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x44c2ef
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44c25f
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x44c2eb
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44c279
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x44c2e5
and eax, 0x3f
test dl, 8
jne 0x44c298
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44c2e5
test dl, 4
jne 0x44c2bc
and edx, 3
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 0x44c2e5
and edx, 1
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x567098]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x569298]
movzx ebx, byte [eax*8 + 0x565a1a]
mov eax, edi
cmp eax, dword [esi + 0x30]
jbe 0x43f3d0
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x44c334
movzx edx, byte [edi]
jmp 0x44c410
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x44c352
mov al, byte [edx - 1]
lea edi, [edx - 1]
mov cl, al
mov edx, edi
and al, 0xc0
cmp al, 0x80
je 0x44c342
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x44c412
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44c382
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x44c40e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44c39c
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x44c408
and eax, 0x3f
test dl, 8
jne 0x44c3bb
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44c408
test dl, 4
jne 0x44c3df
and edx, 3
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 0x44c408
and edx, 1
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x567098]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x569298]
movzx edx, byte [eax*8 + 0x565a1a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5658a0], eax
je 0x447c45
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x44c311
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44c493
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edx, dword [ebp + 0x84]
jmp 0x442e3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44c5a7
cmp eax, 0xc0
jb 0x44c5a7
test al, 0x20
jne 0x44c4cf
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44c5a2
test al, 0x10
jne 0x44c4f5
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44c5a2
test al, 8
jne 0x44c527
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
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 0x44c5a2
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x44c564
and ecx, 3
and eax, 0x3f
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 0x44c5a2
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x44c5e9
cmp eax, 3
je 0x44c5e9
xor eax, eax
jmp 0x44c5ee
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44c626
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x442e2a
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
mov ebx, edx
mov dword [esp + 0x14], edx
je 0x44c78a
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x44c78a
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x44c6af
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44c78e
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x44c6db
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44c78e
test dl, 8
jne 0x44c70c
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]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44c78e
test dl, 4
jne 0x44c746
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]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44c78e
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 ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44c78e
mov edi, dword [esp + 0x14]
cmp ecx, 0x24
je 0x44c7cc
cmp eax, 0x40
je 0x44c7cc
cmp ebx, 0x60
je 0x44c7cc
cmp edi, 0xa0
jb 0x44c7b9
cmp edx, 0xd7ff
jbe 0x44c7cc
cmp edx, 0xe000
jae 0x44c7cc
xor eax, eax
jmp 0x44c7d1
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44b31a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44c809
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x44a0d3
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x442e2a
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edx
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x14], edx
mov ebx, edx
mov dword [esp + 0x18], edx
je 0x44c953
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x44c953
test dl, 0x20
jne 0x44c891
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44c942
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44c8bc
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x44c942
test dl, 8
jne 0x44c8df
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 0x44c942
test dl, 4
jne 0x44c90e
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 0x44c942
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 ecx, edx
mov dword [esp + 0x14], edx
mov eax, edx
mov ebx, edx
mov dword [esp + 0x18], edx
cmp dword [esp + 0x14], 0x20
mov edi, edx
ja 0x44c978
cmp eax, 0x20
je case.0x44ca86.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x44ca86.8203
jmp dword [eax*4 + 0x44de8c]
cmp edx, 0x2000
ja 0x44ca5a
cmp ecx, 0x2000
je case.0x44ca86.8193
cmp edi, 0x1680
ja 0x44ca4f
cmp edx, 0x1680
je case.0x44ca86.8193
mov eax, edx
sub eax, 0x85
je case.0x44ca86.8193
sub eax, 0x1b
je case.0x44ca86.8193
mov eax, edx
test eax, eax
jns 0x44c9cb
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x567098]
shl eax, 7
and edx, 0x8000007f
jns 0x44c9e9
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
cmp dword [eax*4 + 0x565828], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44b31a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44ca40
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44cc78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x44a0d3
cmp edx, 0x180e
jmp 0x44c9b8
cmp ebx, 0x3000
ja case.0x44ca86.8203
cmp dword [esp + 0x18], 0x3000
je case.0x44ca86.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x44ca86.8203
movzx eax, byte [eax + 0x44dea8]
jmp dword [eax*4 + 0x44dea0]
cmp dword [esi + 0x68], 0
je 0x44ca11
jmp case.default.0x44b31a
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44cadb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edx, dword [ebp + 0x84]
jmp 0x442e3e
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov edi, eax
mov ebx, eax
je 0x44cbf6
cmp eax, 0xc0
jb 0x44cbf6
test al, 0x20
jne 0x44cb1c
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x44cbef
test al, 0x10
jne 0x44cb42
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44cbef
test al, 8
jne 0x44cb74
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
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 0x44cbef
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x44cbb1
and ecx, 3
and eax, 0x3f
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 0x44cbef
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x567098]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x569298]
movzx eax, byte [eax*8 + 0x565a19]
mov eax, dword [eax*4 + 0x565828]
cmp eax, 1
je 0x44cc41
cmp eax, 3
je 0x44cc41
cmp ebx, 0x5f
je 0x44cc41
xor eax, eax
jmp 0x44cc46
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44b31a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44ceaa
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44cea0
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cfaf
mov edi, 0xfffffffa
jmp 0x448fc0
test edi, edi
jne case.default.0x4494ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x449f1a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x44ccf0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449f1a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x449f1a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x449f1a.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cf92
mov edi, 0xfffffff4
jmp 0x448fc4
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x44cde0
cmp edx, 0xc0
jb 0x44cde0
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x44cd30
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44cddb
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x44cd55
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x44cddb
test dl, 8
jne 0x44cd78
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 0x44cddb
test dl, 4
jne 0x44cda7
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 0x44cddb
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 ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x5658d8]
lea eax, [eax*4 + 0x5658d8]
jb 0x44ce0d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x44ce2a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x44ce00
cmp dword [esi + 0x68], 0
jne 0x44ce30
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cfa2
xor edi, edi
jmp 0x448fc4
cmp dword [esi + 0x68], 0
jne case.0x449f1a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44cec3
push 0x134
call dword [0x5b6c1c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44ceb9
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44cfaf
lea edi, [ecx - 6]
jmp 0x448fc4
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x44ce84
push ecx
call dword [0x5b6c18]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x43f443
mov dword [esi + 0xc], ecx
jmp 0x43f3d0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x44a0d3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x44a0d3
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x8c
ret