Function at 0x43aa80
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
mov edi, edi
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 0x43ab0b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4483b2
mov edi, 0xfffffff8
jmp 0x4446bc
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x43ab29
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4483c2
mov edi, 0xffffffeb
jmp 0x4446bc
cmp dword [ebp + 0x98], 2
jne 0x43ab53
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.0x43ab7f.98
movzx eax, byte [eax + 0x4485fc]
jmp dword [eax*4 + 0x4484b0]
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 0x43abbd
push 0x134
call dword [0x56de0c]
mov edi, eax
add esp, 4
test edi, edi
je 0x448173
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 + 0x52b990]
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 0x43aad0
mov edx, dword [esi + 4]
test edx, edx
jne 0x43ac2c
push 0x134
call dword [0x56de0c]
mov edx, eax
add esp, 4
test edx, edx
je 0x448173
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 0x444db3
mov edx, dword [esi + 4]
test edx, edx
jne 0x43ac69
push 0x134
call dword [0x56de0c]
mov edx, eax
add esp, 4
test edx, edx
je 0x448173
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 0x444db3
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 0x43acb8
push 0x134
call dword [0x56de0c]
mov edi, eax
add esp, 4
test edi, edi
je 0x448173
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x43abc7
mov edx, dword [esi + 4]
test edx, edx
jne 0x43acec
push 0x134
call dword [0x56de0c]
mov edx, eax
add esp, 4
test edx, edx
je 0x448173
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 0x444db3
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x43ad2d
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x52b990]
add eax, edx
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x43ab53
mov edi, dword [esi + 4]
test edi, edi
jne 0x43ad52
push 0x134
call dword [0x56de0c]
mov edi, eax
add esp, 4
test edi, edi
je 0x448173
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x43abc7
mov edx, dword [esi + 4]
test edx, edx
jne 0x43ad86
push 0x134
call dword [0x56de0c]
mov edx, eax
add esp, 4
test edx, edx
je 0x448173
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 0x444db3
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 0x43add5
push 0x134
call dword [0x56de0c]
mov edi, eax
add esp, 4
test edi, edi
je 0x448173
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x43abc7
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 0x445c74
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.0x43ab7f.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 0x444754
mov dword [esi + 0x54], ebx
jmp 0x43b66f
mov dword [esi + 0x54], ebx
jmp 0x43b693
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 0x43afa3
mov edi, dword [0x574f80]
test edi, edi
je 0x43af8f
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 eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
mov dword [esp + 0x54], eax
jne 0x43af54
mov dword [esp + 0x54], 0xffffffff
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.0x4468ec
jns 0x43af8f
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4447f1
jmp 0x4446b8
movzx eax, byte [0x52ba06]
add dword [esi + 0xc], eax
movzx eax, byte [0x52ba06]
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.0x43afc6.146
movzx eax, byte [eax + 0x4486b8]
jmp dword [eax*4 + 0x4486a0]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x43afc6.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x43b0ad
cmp ecx, dword [edx + 4]
je 0x43b0ad
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x444a1b
movzx ecx, byte [ecx + 0x52b990]
jmp 0x444a1e
cmp dword [ebp + 0xa4], 0
je case.0x43afc6.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 0x43affe
mov ebx, eax
lea ebx, [ebx]
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 0x43affe
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x43b050
jmp 0x43affe
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 0x43aff9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x43aff9
mov eax, 1
jmp 0x43affb
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.0x43afc6.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 0x43b10a
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x43b10a
mov eax, 1
jmp 0x43b10c
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x43affe
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x43b0e0
jmp 0x43affe
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43b156
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x444c80
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 0x43b1c3
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x43ab53
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 0x43b1ba
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x43b213
mov eax, ecx
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x43b204
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x43ab53
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x43b25e
cmp cl, 0x9f
je 0x43b25e
cmp dword [ebp + 0xa4], ebx
jne 0x43b25e
cmp dword [ebp + 0x5c], ebx
jne case.default.0x4468ec
cmp dword [ebp + 0x60], ebx
je 0x43b25e
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x4468ec
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov eax, dword [esi]
neg edi
mov esi, eax
sbb edi, edi
and edi, 0xfffffc18
inc edi
test eax, eax
je 0x4447f1
jmp 0x4446b8
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x43b2b9
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x444afb
mov dword [esi + 0x58], ebx
jmp 0x444afb
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x43b2e5
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x444c41
mov dword [esi + 0x58], ebx
jmp 0x444c41
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x43b332
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x43b350
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x4455bf.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43b32c
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x43b320
test edx, edx
jg 0x43b307
jmp 0x43b350
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.0x4455bf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x43b1ba
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x43ab53
mov edi, dword [0x574f80]
test edi, edi
je 0x43b458
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 eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
mov dword [esp + 0x88], eax
jne 0x43b417
mov dword [esp + 0x88], 0xffffffff
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.0x4468ec
jns 0x43b458
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4447f1
jmp 0x4446b8
add dword [esi + 0xc], 6
jmp 0x43ab53
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 0x43b482
xor edx, edx
jmp 0x43b48f
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 0x43b4b5
lea esp, [esp]
cmp edx, dword [ecx + 4]
jne 0x43b4ad
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x43b4f2
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x43b4a0
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 0x43b508
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x43b520
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4483d2
mov edi, 0xffffffe6
jmp 0x4446b8
shl eax, 2
push eax
call dword [0x56de04]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x448173
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.00423fc0
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x444d67
mov edx, dword [esi + 0xc]
lea esp, [esp]
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 0x43b550
jmp 0x43ab53
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43b598
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
jmp 0x43b5c0
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 0x43b5c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43b5fe
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
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 0x43b620
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x43ab53
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 0x43b66f
cmp eax, 0x8b
jne 0x43b693
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 0x43b6b0
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 0x44586b
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 0x43b72d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x43b756
push 0x134
call dword [0x56de0c]
mov edx, eax
add esp, 4
test edx, edx
je 0x448173
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 0x444db3
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 0x43b792
cmp al, 0x81
je 0x43b792
mov dword [esi + 0x38], ebx
jmp 0x43b7a3
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 0x43b7b0
cmp al, 0x80
jbe 0x43b7b4
cmp al, 0x82
jne 0x43b7d1
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 0x444c11
cmp al, 0x85
je 0x43b7e5
cmp al, 0x8a
je 0x43b7e5
cmp al, 0x86
je 0x43b7e5
cmp al, 0x8b
jne 0x43b8bb
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 0x43b82a
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x43b82a
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x444c11
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 0x43b859
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x43b8bb
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x43b87f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x43b87f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x43b870
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 0x43b8bb
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x43b8f3
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 0x4483e2
mov edi, 0xfffffc1a
jmp 0x4446b8
cmp cl, 0x78
je 0x43b983
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x43b983
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x43b949
test ecx, ecx
jne 0x43b92e
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
test ecx, ecx
jne 0x43b96b
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x43d2c2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43b9b4
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
cmp dword [ebp + 0x44], ebx
je case.0x43ab7f.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4468ec
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x43ca86.10
jmp case.default.0x4468ec
cmp dword [ebp + 0x44], ebx
je 0x43ba02
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4468ec
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x43ca86.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x4468ec
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x43ba4d
cmp ecx, edi
jbe 0x43ba42
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.0044b470
add esp, 0x14
test eax, eax
je 0x43ba42
mov eax, 1
jmp 0x43ba44
xor eax, eax
test eax, eax
jne case.0x43ca86.10
jmp case.default.0x4468ec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x4468ec
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x4468ec
cmp edx, 1
je case.0x43ca86.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x43ca86.10
jmp case.default.0x4468ec
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x43ca86.10
jmp case.default.0x4468ec
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x43ab53
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x43bb44
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x43bad2
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.0044b2e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x43ca86.10
jmp 0x43baf3
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x43baef
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43baef
cmp edi, 1
je case.0x43ca86.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x43ca86.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4455bf.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x4455bf.14
cmp dword [ebp + 0x18], 0
jne case.0x4455bf.14
cmp dword [ebp + 0x1c], 2
jne case.0x4455bf.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x4455bf.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4481d5
jmp case.0x4455bf.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x4468ec
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x43ca86.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x43ca86.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x43ca86.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448472
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4446bc
cmp dword [ebp + 0x48], ebx
jne case.default.0x4468ec
cmp dword [ebp + 0x58], ebx
je case.0x43ab7f.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43ca92
jmp case.default.0x4468ec
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x43bb4d
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x43bbde
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044b2e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x43bc0c
jmp 0x43bbfb
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x43bc0c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43bc0c
cmp edi, 1
je 0x43bbfb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x43bc0c
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x43bb4d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4468ec
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4468ec
cmp dword [ebp + 0x18], ebx
jne case.default.0x4468ec
cmp dword [ebp + 0x1c], 2
jne case.default.0x4468ec
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x4468ec
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x4468ec
jmp 0x43bb77
cmp dword [esp + 0x28], ebx
je 0x43bf18
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x43bc76
mov dword [esi + 0x5c], ebx
jmp 0x43bda5
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x43bc8e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x43bc82
cmp ecx, dword [ebp + 0x84]
jae 0x43bc9c
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x43bd53
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x43bcca
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x43bd4b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x43bcdd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x43bd45
and eax, 0x3f
test bl, 8
jne 0x43bcf8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x43bd45
test bl, 4
jne 0x43bd1c
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 0x43bd45
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 0x43bddb
cmp edx, 0x5f
jne 0x43bd6d
mov dword [esi + 0x5c], 1
jmp 0x43bda5
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x52d318]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x43bdec
cmp eax, 3
je 0x43bdec
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43bdf3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x43bdcf
cmp edi, dword [ebp + 0x84]
jbe 0x43bdcf
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x43bb77
mov dword [esi + 0x54], 0
jmp 0x43c033
cmp edi, 0x100
jae 0x43bda0
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x43bda0
mov eax, 1
jmp 0x43bda2
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x43beaa
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x43be21
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x43bea2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x43be34
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x43be9c
and eax, 0x3f
test dl, 8
jne 0x43be4f
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x43be9c
test dl, 4
jne 0x43be73
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 0x43be9c
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 0x43befd
cmp edi, 0x5f
jne 0x43bec3
mov dword [esi + 0x54], 1
jmp 0x43c033
shr eax, 7
movzx eax, byte [eax + 0x52d318]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x43bf0e
cmp eax, 3
je 0x43bf0e
xor eax, eax
jmp 0x43c030
cmp ebx, 0x100
jae 0x43bef6
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x43bef6
mov eax, 1
jmp 0x43c030
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x43bf28
mov dword [esi + 0x5c], ebx
jmp 0x43bfb2
cmp eax, dword [ebp + 0x84]
ja 0x43bf37
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x43bfa2
cmp ecx, 0x5f
jne 0x43bf51
mov dword [esi + 0x5c], 1
jmp 0x43bfb2
mov eax, ecx
test eax, eax
jns 0x43bf5a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x52d318]
shl eax, 7
and ecx, 0x8000007f
jns 0x43bf74
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x43bf9b
cmp eax, 3
je 0x43bf9b
xor eax, eax
jmp 0x43bfaf
mov eax, 1
jmp 0x43bfaf
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 0x43bfe1
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x43bfdc
cmp eax, dword [ebp + 0x84]
jbe 0x43bfdc
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x43bb77
mov dword [esi + 0x54], ebx
jmp 0x43c033
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x43c023
cmp ecx, 0x5f
jne 0x43bff7
mov dword [esi + 0x54], 1
jmp 0x43c033
mov eax, ecx
test eax, eax
jns 0x43c000
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x52d318]
shl eax, 7
and ecx, 0x8000007f
jns 0x43bed3
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x43bed3
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 0x43c04e
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x43c056
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x43ab53
jmp case.default.0x4468ec
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x43c09d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x43c092
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0044b2e0
add esp, 0x14
test eax, eax
je 0x43c092
mov eax, 1
jmp 0x43c094
xor eax, eax
test eax, eax
je 0x43c0c8
jmp case.default.0x4468ec
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x43c0c8
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43c0c8
cmp edx, 1
je case.default.0x4468ec
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4468ec
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x43ab7f.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x43ab7f.13
cmp dword [ebp + 0x18], ebx
jne case.0x43ab7f.13
cmp dword [ebp + 0x1c], 2
jne case.0x43ab7f.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x43ab7f.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x43bb77
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x43c136
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x4468ec
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4468ec
jmp 0x43bb77
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x43ca86.10
cmp ecx, dword [ebp + 0x78]
jae case.0x43ca86.10
lea ecx, [ecx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x43ca86.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x43c150
inc dword [esi + 0xc]
jmp 0x43ab53
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43c194
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4468ec
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4468ec
jmp 0x43bc47
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x43ab53
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43c1c1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x84]
jmp 0x43c11b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x43c2ab
cmp edx, 0xc0
jb 0x43c2ab
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x43c1ff
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43c2a6
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x43c220
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x43c2a6
test dl, 8
jne 0x43c243
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 0x43c2a6
test dl, 4
jne 0x43c272
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 0x43c2a6
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.0x43ca86.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x43ca86.10
jmp case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x43c2e9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edx, dword [ebp + 0x84]
jmp 0x43c11b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x43c3e6
cmp ecx, 0xc0
jb 0x43c3e6
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x43c325
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x43c3e1
test cl, 0x10
jne 0x43c346
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 0x43c3e1
test cl, 8
jne 0x43c370
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 0x43c3e1
test cl, 4
jne 0x43c3a6
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 0x43c3e1
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.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x43ca86.10
jmp case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43c424
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x84]
jmp 0x43c11b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x43c52c
cmp edx, 0xc0
jb 0x43c52c
test dl, 0x20
jne 0x43c460
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43c527
test dl, 0x10
jne 0x43c487
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 0x43c527
test dl, 8
jne 0x43c4b7
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 0x43c527
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x43c4f3
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 0x43c527
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.0x43ca86.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x43ca86.10
jmp case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x43c56a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edx, dword [ebp + 0x84]
jmp 0x43c11b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x43c667
cmp ecx, 0xc0
jb 0x43c667
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x43c5a6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x43c662
test cl, 0x10
jne 0x43c5c7
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 0x43c662
test cl, 8
jne 0x43c5f1
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 0x43c662
test cl, 4
jne 0x43c627
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 0x43c662
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.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x43ca86.10
jmp case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43c6a5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x84]
jmp 0x43c11b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x43c7ad
cmp edx, 0xc0
jb 0x43c7ad
test dl, 0x20
jne 0x43c6e1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43c7a8
test dl, 0x10
jne 0x43c708
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 0x43c7a8
test dl, 8
jne 0x43c738
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 0x43c7a8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x43c774
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 0x43c7a8
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.0x43ca86.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x43ca86.10
jmp case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x43c7eb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edx, dword [ebp + 0x84]
jmp 0x43c11b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x43c8e8
cmp ecx, 0xc0
jb 0x43c8e8
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x43c827
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x43c8e3
test cl, 0x10
jne 0x43c848
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 0x43c8e3
test cl, 8
jne 0x43c872
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 0x43c8e3
test cl, 4
jne 0x43c8a8
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 0x43c8e3
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.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x43ca86.10
jmp case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43c926
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x84]
jmp 0x43c11b
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 0x43ca66
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x43ca66
test dl, 0x20
jne 0x43c976
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 0x43ca6a
test dl, 0x10
jne 0x43c9a6
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 0x43ca6a
test dl, 8
jne 0x43c9e2
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 0x43ca6a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x43ca27
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 0x43ca6a
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 0x43ca6a
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x43cac9
cmp ecx, 0x85
je case.0x43ca86.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4468ec
jmp dword [edx*4 + 0x4486cc]
cmp edi, dword [ebp + 0x78]
jb 0x43cab4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x43ca86.10
cmp eax, dword [ebp + 0x84]
jbe case.0x43ca86.10
cmp ecx, 1
jmp 0x43bb6a
cmp byte [eax], 0xa
jne case.0x43ca86.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x43ab53
sub edx, 0x2028
je case.0x43ca86.11
sub edx, 1
jne case.default.0x4468ec
cmp dword [ebp + 0x68], 0
je case.0x43ca86.10
jmp case.default.0x4468ec
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43cb0a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x84]
jmp 0x43c11b
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 0x43cc25
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x43cc25
test dl, 0x20
jne 0x43cb51
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43cc18
test dl, 0x10
jne 0x43cb78
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 0x43cc18
test dl, 8
jne 0x43cba8
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 0x43cc18
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x43cbe4
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 0x43cc18
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 0x43cc8b
cmp edx, 0x2000
je case.default.0x4468ec
cmp edx, 0xa0
ja 0x43cc6b
cmp ebx, 0xa0
je case.default.0x4468ec
cmp edx, 9
je case.default.0x4468ec
cmp edx, 0x20
je case.default.0x4468ec
inc dword [esi + 0xc]
jmp 0x43ab53
cmp edi, 0x1680
je case.default.0x4468ec
cmp edx, 0x180e
je case.default.0x4468ec
inc dword [esi + 0xc]
jmp 0x43ab53
cmp eax, 0x3000
ja case.0x43ca86.10
cmp ecx, 0x3000
je case.default.0x4468ec
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x43ca86.10
movzx eax, byte [edx + 0x4486e4]
jmp dword [eax*4 + 0x4486dc]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x43cce0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edx, dword [ebp + 0x84]
jmp 0x43c11b
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 0x43cdf0
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x43cdf0
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x43cd27
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x43cde3
test cl, 0x10
jne 0x43cd48
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 0x43cde3
test cl, 8
jne 0x43cd72
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 0x43cde3
test cl, 4
jne 0x43cda8
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 0x43cde3
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 0x43ce50
cmp ecx, 0x2000
je case.0x43ca86.10
cmp ecx, 0xa0
ja 0x43ce33
cmp ebx, 0xa0
je case.0x43ca86.10
cmp ecx, 9
je case.0x43ca86.10
cmp ecx, 0x20
je case.0x43ca86.10
jmp case.default.0x4468ec
cmp edx, 0x1680
je case.0x43ca86.10
cmp ecx, 0x180e
je case.0x43ca86.10
jmp case.default.0x4468ec
cmp eax, 0x3000
ja case.default.0x4468ec
cmp edi, 0x3000
je case.0x43ca86.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4468ec
movzx eax, byte [ecx + 0x44874c]
jmp dword [eax*4 + 0x448744]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43cea5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x84]
jmp 0x43c11b
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 0x43cfbd
cmp edx, 0xc0
jb 0x43cfbd
test dl, 0x20
jne 0x43cee5
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x43cfb6
test dl, 0x10
jne 0x43cf0c
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 0x43cfb6
test dl, 8
jne 0x43cf3f
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 0x43cfb6
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x43cf7b
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 0x43cfb6
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 0x43cfe3
cmp eax, 0x85
je case.0x4455bf.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x43ca86.10
jmp dword [edx*4 + 0x4487ac]
sub edx, 0x2028
je case.0x4455bf.14
sub edx, 1
jne case.0x43ca86.10
jmp case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43d01e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x84]
jmp 0x43c11b
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 0x43d110
cmp edx, 0xc0
jb 0x43d110
test dl, 0x20
jne 0x43d05c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43d109
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x43d083
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x43d109
test dl, 8
jne 0x43d0a6
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 0x43d109
test dl, 4
jne 0x43d0d5
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 0x43d109
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 0x43d136
cmp eax, 0x85
je case.0x43ca86.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4455bf.14
jmp dword [edx*4 + 0x4487bc]
sub edx, 0x2028
je case.0x43ca86.10
sub edx, 1
je case.0x43ca86.10
jmp case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43d171
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x84]
jmp 0x43c11b
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 0x43d284
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x43d284
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x43d1ca
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43d271
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x43d1eb
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x43d271
test dl, 8
jne 0x43d20e
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 0x43d271
test dl, 4
jne 0x43d23d
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 0x43d271
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 + 0x52d318]
movzx ecx, byte [edi + 1]
shl eax, 7
add eax, ebx
movzx ebx, word [eax*2 + 0x52f518]
cmp ecx, 0xa
ja case.0x44686a.15
jmp dword [ecx*4 + 0x4487cc]
cmp dword [esi + 0x9c], 0xf
je case.default.0x4468ec
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x43ab53
mov al, byte [ebx*8 + 0x52bc99]
cmp al, 9
je 0x43d2e4
cmp al, 5
je 0x43d2e4
cmp al, 8
je 0x43d2e4
xor ecx, ecx
jmp 0x43d2e9
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x43d2c2
jmp case.default.0x4468ec
movzx ecx, byte [ebx*8 + 0x52bc99]
xor edx, edx
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x52baa8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x43d2c2
jmp case.default.0x4468ec
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x52bc99]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x43d2c2
jmp case.default.0x4468ec
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x52bc98]
jmp 0x43d337
movzx eax, byte [ebx*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x43d2e4
cmp eax, 3
je 0x43d2e4
xor ecx, ecx
jmp 0x43d2e9
cmp edx, 0x20
ja 0x43d3a3
je case.0x43d2ae.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x43d41f.8203
jmp dword [edx*4 + 0x4487f8]
cmp edx, 0x2000
ja 0x43d3ff
je case.0x43d2ae.0
cmp edx, 0x1680
ja 0x43d3f7
je case.0x43d2ae.0
sub edx, 0x85
je case.0x43d2ae.0
sub edx, 0x1b
je case.0x43d2ae.0
movzx eax, byte [ebx*8 + 0x52bc99]
xor ecx, ecx
cmp dword [eax*4 + 0x52baa8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x43d343
cmp edx, 0x180e
jmp 0x43d3ce
cmp edx, 0x3000
ja case.0x43d41f.8203
je case.0x43d2ae.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x43d41f.8203
movzx eax, byte [edx + 0x448814]
jmp dword [eax*4 + 0x44880c]
movzx eax, byte [ebx*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x43d2e4
cmp eax, 3
je 0x43d2e4
cmp edx, 0x5f
je 0x43d2e4
xor ecx, ecx
jmp 0x43d2e9
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x52bb58]
cmp ecx, dword [eax]
jb 0x43d47d
mov ecx, dword [eax]
lea esp, [esp]
lea eax, [eax + 4]
cmp edx, ecx
je 0x43d48f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x43d470
cmp dword [esi + 0x9c], 0x10
jne 0x43d2c2
jmp case.default.0x4468ec
cmp dword [esi + 0x9c], 0x10
je 0x43d2c2
jmp case.default.0x4468ec
cmp dword [esp + 0x24], 0x24
je 0x43d2e4
cmp dword [esp + 0x1c], 0x40
je 0x43d2e4
cmp edx, 0x60
je 0x43d2e4
cmp edx, 0xa0
jb 0x43d4d4
cmp edx, 0xd7ff
jbe 0x43d2e4
cmp edx, 0xe000
jae 0x43d2e4
xor ecx, ecx
jmp 0x43d2e9
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x43d508
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edx, dword [ebp + 0x84]
jmp 0x43c11b
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 0x43d5f5
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x43d5f5
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x43d54b
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x43d5ea
test al, 0x10
jne 0x43d563
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x43d5e4
test al, 8
jne 0x43d584
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 0x43d5e4
test al, 4
jne 0x43d5b1
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 0x43d5e4
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 + 0x14], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x52d318]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc9a]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x14], edx
jae 0x43d762
mov dword [esp + 0x14], edx
lea esp, [esp]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x43d709
cmp edx, 0xc0
jb 0x43d709
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x43d671
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x43d705
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x43d689
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x43d6ff
and eax, 0x3f
test dl, 8
jne 0x43d6a9
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x43d6ff
test dl, 4
jne 0x43d6d2
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 0x43d6ff
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 + 0x52d318]
mov edx, dword [esp + 0x14]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx ecx, byte [eax*8 + 0x52bc9a]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x52bb20], eax
mov ebp, dword [esp + 0xb0]
je 0x43d762
add edi, ebx
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x14], edx
cmp edi, edx
jb 0x43d630
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x43ca86.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x43ca86.10
jmp 0x43caa0
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 0x43d877
mov edx, edi
mov dword [esp + 0x14], edi
mov edi, 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 0x43d809
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x43d81a
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x14], edi
mov edx, edi
test ebx, ebx
jg 0x43d7e0
jmp 0x43d877
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x43d871
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 0x43d867
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x43d867
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x43d871
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.0x43d892
movzx eax, byte [ecx + 0x44887c]
jmp dword [eax*4 + 0x448874]
lea eax, [edx + 1]
mov edx, ecx
mov dword [esi + 0xc], eax
and edx, 1
movsx eax, byte [ecx + 0x52afe8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52aff4]
mov dword [esp + 0x14], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43d917
mov dword [esi + 0x8c], SysReAllocStringLen
jmp 0x43d917
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x14], 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 0x43d913
mov dword [esi + 0x8c], SysReAllocStringLen
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x43ab53
jns 0x43d934
cmp dword [esi + 0x90], 0
je 0x43ab53
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x43d979
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.004493f0
add esp, 0x14
test eax, eax
js 0x43d997
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x43d946
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43ab53
cmp dword [esp + 0x14], 0
je 0x43d9c2
mov dword [esi + 0x84], eax
jmp 0x444fcc
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x43d9a6
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x78]
jb case.default.0x4468ec
jmp 0x43c115
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x445018
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.004493f0
add esp, 0x14
test eax, eax
js 0x43da05
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x43d9ce
cmp eax, 0xfffffffe
jne 0x445018
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x445018
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x445018
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x445018
jmp 0x43bb77
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.004493f0
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x43da9e
cmp ecx, 0xfffffffe
jne 0x43da73
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4468ec
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4468ec
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4468ec
jmp 0x43bc47
add dword [esi + 8], ecx
jmp 0x43ab53
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.0x43dace
movzx eax, byte [ecx + 0x44888c]
jmp dword [eax*4 + 0x448884]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x43daeb
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x43daf3
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x52afe8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52aff4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43db88
mov dword [esi + 0x8c], SysReAllocStringLen
jmp 0x43db88
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 0x43db6e
mov dword [esi + 0x8c], SysReAllocStringLen
add dword [esi + 0xc], 5
jmp 0x43db88
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ecx, dword [esp + 0x28]
mov ebx, 1
mov dword [esp + 0x14], ebx
test ecx, ecx
je 0x43dd00
cmp dword [esi + 0x90], ebx
jl 0x43dd4b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x43dcc0
test bl, 0x20
jne 0x43dbf7
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 0x43dcc0
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43dc25
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 0x43dcc0
test bl, 8
jne 0x43dc4f
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 0x43dcc0
test bl, 4
jne 0x43dc85
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 0x43dcc0
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 0x43dcd0
cmp dword [esi + 0x9c], 0x6e
jmp 0x43dce3
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.0x4468ec
mov ebx, dword [esp + 0x14]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esi + 0x90]
jle 0x43dbb0
jmp 0x43dd47
cmp dword [esi + 0x90], ebx
jl 0x43dd4b
jmp 0x43dd10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
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.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x43dd10
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43ab53
cmp dword [esp + 0x20], 0
je 0x43dd77
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x44605b
jmp 0x4450c5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x43df5c
cmp eax, dword [esi + 0x8c]
jge 0x43df4c
jmp 0x43dda0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43df2a
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x43ded5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x43ddf5
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 0x43deda
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x43de24
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 0x43deda
test bl, 8
jne 0x43de58
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 0x43deda
test bl, 4
jne 0x43de95
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 0x43deda
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 0x43deda
mov eax, 1
cmp edx, 0xff
jbe 0x43deed
cmp dword [esi + 0x9c], 0x6e
je 0x43df4c
jmp 0x43df0e
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 0x43df4c
mov eax, dword [esp + 0x1c]
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 0x43dda0
jmp 0x43df4c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x43df4c
cmp edi, dword [ebp + 0x84]
jbe 0x43df4c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x43bb77
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x4460c1
cmp eax, dword [esi + 0x8c]
jge 0x43dfc1
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x43df9f
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 0x43dfc1
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x43df64
jmp 0x43dfc1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x43dfc1
cmp ebx, dword [ebp + 0x84]
jbe 0x43dfc1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x43bb77
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x445108
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.0x43e007
movzx eax, byte [ecx + 0x4488a0]
jmp dword [eax*4 + 0x448898]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x43e024
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x43e02c
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x52afe8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52aff4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43e0bd
mov dword [esi + 0x8c], SysReAllocStringLen
jmp 0x43e0bd
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 0x43e0a3
mov dword [esi + 0x8c], SysReAllocStringLen
add dword [esi + 0xc], 5
jmp 0x43e0bd
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 0x43e1f2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x43e1c9
cmp edx, 0xc0
jb 0x43e1c9
test dl, 0x20
jne 0x43e119
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x43e1c6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x43e140
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x43e1c6
test dl, 8
jne 0x43e163
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 0x43e1c6
test dl, 4
jne 0x43e192
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 0x43e1c6
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.0044abc0
add esp, 0xc
test eax, eax
je case.default.0x4468ec
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x43e0d2
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43ab53
cmp dword [esp + 0x20], 0
je 0x43e210
mov dword [esi + 0x84], eax
jmp 0x445e41
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x43e361
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e33f
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x43e311
cmp edx, 0xc0
jb 0x43e311
test dl, 0x20
jne 0x43e271
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x43e309
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x43e293
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x43e309
and eax, 0x3f
test dl, 8
jne 0x43e2b3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x43e309
test dl, 4
jne 0x43e2dc
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 0x43e309
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.0044abc0
add esp, 0xc
test eax, eax
je 0x43e361
mov eax, dword [esp + 0x14]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x43e230
jmp 0x43e361
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x43e361
cmp edi, dword [ebp + 0x84]
jbe 0x43e361
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x43bb77
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x445eac
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x43e52d
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 0x43e4b8
test bl, 0x20
jne 0x43e3cb
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 0x43e4b8
test bl, 0x10
jne 0x43e400
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 0x43e4b8
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 0x43e441
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 0x43e4b8
test bl, 4
jne 0x43e47a
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 0x43e4b8
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 0x43e4ed
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edx, edi
jb case.default.0x4468ec
cmp edx, dword [ebp + 0x84]
jmp 0x43c11b
test ecx, ecx
jle 0x43e51f
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.0x4468ec
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x43e4f1
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x43ab53
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x43e569
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4455bf.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4481d5
jmp case.0x4455bf.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 0x43e887
jmp case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43e5a5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp edi, dword [ebp + 0x84]
jmp 0x43c11b
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x43e868
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 0x43e6ec
test bl, 0x20
jne 0x43e5ff
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 0x43e6ec
test bl, 0x10
jne 0x43e634
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 0x43e6ec
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 0x43e675
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 0x43e6ec
test bl, 4
jne 0x43e6ae
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 0x43e6ec
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 0x43e71a
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x4468ec
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x43ab53
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x43e80d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x43e749
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x43e808
test cl, 0x10
jne 0x43e76a
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 0x43e808
test cl, 8
jne 0x43e797
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 0x43e808
test cl, 4
jne 0x43e7cd
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 0x43e808
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 0x43ab53
mov eax, edx
test eax, eax
jns 0x43e82d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x52d318]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x43e848
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52f518]
mov eax, dword [eax*8 + 0x52bc9c]
add eax, edx
cmp edi, eax
je 0x43ab53
jmp case.default.0x4468ec
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.0x4455bf.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x43ab53
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 0x43e9a5
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 0x43e8ea
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x43e8f2
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x43e9a5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], SysReAllocStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x43e9a5
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], SysReAllocStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x43e9a5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x43e9a5
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 + 0x52afe8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52aff4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43e9a5
mov dword [esi + 0x8c], SysReAllocStringLen
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x43edf9
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 0x43eaee
test bl, 0x20
jne 0x43ea01
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 0x43eaee
test bl, 0x10
jne 0x43ea36
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 0x43eaee
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 0x43ea77
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 0x43eaee
test bl, 4
jne 0x43eab0
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 0x43eaee
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 0x43ee0a
cmp dword [esi + 0x9c], 0x2e
jb 0x43eb60
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x43eb1c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x52d318]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x43eb37
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52f518]
mov ecx, dword [eax*8 + 0x52bc9c]
add ecx, edx
cmp ecx, edx
je 0x43eb60
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0044ab60
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x43eb67
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x14], 1
cmp eax, 1
jl 0x43ec74
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 0x43ebee
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x43ebb1
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43ebb6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x43eba0
cmp edi, 0xfffffffc
je 0x43ebe3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43ebeb
cmp edi, 0xfffffffd
je 0x43ebe3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43ebeb
cmp edi, 0xfffffffe
je 0x43ebe3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43ebeb
cmp edi, 0xffffffff
je 0x43ebe3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43ebeb
mov eax, dword [esi + 0x88]
jmp 0x43ec56
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x43ec92
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x43ec92
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x43ec21
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43ec26
add ecx, 4
add edx, 4
sub edi, 4
jae 0x43ec10
cmp edi, 0xfffffffc
je 0x43ec53
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43ec92
cmp edi, 0xfffffffd
je 0x43ec53
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43ec92
cmp edi, 0xfffffffe
je 0x43ec53
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43ec92
cmp edi, 0xffffffff
je 0x43ec53
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43ec92
mov eax, dword [esi + 0x6c]
mov edx, dword [esp + 0x14]
add eax, ebx
inc edx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], edx
cmp edx, eax
jle 0x43eb80
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43ab53
cmp dword [esp + 0x20], 0
je 0x43ecb4
mov dword [esi + 0x84], eax
jmp 0x4461f5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4468ec
cmp ebx, dword [ebp + 0x84]
jmp 0x43c11b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x43ede9
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 0x43ed3e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x43ed01
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43ed06
add ecx, 4
add edx, 4
sub edi, 4
jae 0x43ecf0
cmp edi, 0xfffffffc
je 0x43ed33
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43ed3b
cmp edi, 0xfffffffd
je 0x43ed33
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43ed3b
cmp edi, 0xfffffffe
je 0x43ed33
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43ed3b
cmp edi, 0xffffffff
je 0x43ed33
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43ed3b
mov eax, dword [esi + 0x88]
jmp 0x43eda6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x43edc2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x43edc2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x43ed71
jmp 0x43ed60
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43ed76
add ecx, 4
add edx, 4
sub edi, 4
jae 0x43ed60
cmp edi, 0xfffffffc
je 0x43eda3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43edc2
cmp edi, 0xfffffffd
je 0x43eda3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43edc2
cmp edi, 0xfffffffe
je 0x43eda3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43edc2
cmp edi, 0xffffffff
je 0x43eda3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43edc2
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x14]
add eax, ebx
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x43ecd0
jmp 0x43ede9
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x43ede9
cmp ebx, dword [ebp + 0x78]
jb 0x43ede9
cmp ebx, dword [ebp + 0x84]
jbe 0x43ede9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x43bb77
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x44629d
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x43ee0e
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x43ef08
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 0x43ee74
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44507e
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x43ee63
cmp dword [esi + 0x94], ecx
jne case.0x4455bf.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x43ee40
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43ab53
cmp dword [esp + 0x20], 0
je 0x43ee92
mov dword [esi + 0x84], eax
jmp 0x4451ae
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x43eef8
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43eed6
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x43eec5
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x43eef8
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x43eea8
jmp 0x43eef8
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x43eef8
cmp eax, dword [ebp + 0x84]
jbe 0x43eef8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4481d5
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x4451f1
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x43ef3f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x43ef5d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x4468ec
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x43ef15
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x43ab53
cmp dword [esp + 0x20], 0
je 0x43ef76
mov dword [esi + 0x84], eax
jmp 0x445276
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp ebx, dword [ebp + 0x84]
jmp 0x43c11b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x43efd6
lea ebx, [ebx]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43efb4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x43efd6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x43ef90
jmp 0x43efd6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x43efd6
cmp ecx, dword [ebp + 0x84]
jbe 0x43efd6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x43bb77
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x4452b9
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43c107
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x43f2af
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x43f0f4
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x43f035
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x43f0f1
test bl, 0x10
jne 0x43f056
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 0x43f0f1
test bl, 8
jne 0x43f080
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 0x43f0f1
test bl, 4
jne 0x43f0b6
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 0x43f0f1
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 + 0x14], edx
mov eax, edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x43f235
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x43f140
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 0x43f239
test dl, 0x10
jne 0x43f16e
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 0x43f239
test dl, 8
jne 0x43f1a8
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 0x43f239
test dl, 4
jne 0x43f1eb
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 0x43f239
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 0x43f239
mov ecx, dword [esp + 0x14]
cmp dword [esi + 0x9c], 0x1f
jne 0x43f24f
cmp ebx, eax
jne 0x43ab53
jmp case.default.0x4468ec
cmp ebx, 0x7f
jbe 0x43f28d
mov eax, ebx
test eax, eax
jns 0x43f25d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x52d318]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x43f278
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52f518]
mov eax, dword [eax*8 + 0x52bc9c]
add eax, ebx
jmp 0x43f29a
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x4468ec
cmp eax, edi
jne 0x43ab53
jmp case.default.0x4468ec
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x4455bf.14
cmp dword [esi + 0x9c], 0x20
jne 0x43e887
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4455bf.14
add dword [esi + 0xc], 2
jmp 0x43ab53
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 0x43f431
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 0x43f348
cmp al, 0x4f
je 0x43f348
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x43f431
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x43f431
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], SysReAllocStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x43f431
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], SysReAllocStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x43f431
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x43f431
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 0x43f431
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 + 0x52afe8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52aff4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43f431
mov dword [esi + 0x8c], SysReAllocStringLen
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 0x43f562
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x43f562
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x43f483
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x43f55e
test cl, 0x10
jne 0x43f4ab
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 0x43f55e
test cl, 8
jne 0x43f4df
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 0x43f55e
test cl, 4
jne 0x43f51c
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 0x43f55e
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 0x43f941
test eax, eax
je 0x43f5c2
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x43f5c2
mov eax, edx
test eax, eax
jns 0x43f587
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x52d318]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x43f5a2
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov edi, 1
movzx eax, word [ecx*2 + 0x52f518]
mov eax, dword [eax*8 + 0x52bc9c]
add eax, edx
mov dword [esi + 0x94], eax
jmp 0x43f5e5
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 0x43f718
cmp dword [esi + 0x90], 1
jl 0x43f754
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x43f6f1
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x43f630
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x43f6ec
test cl, 0x10
jne 0x43f651
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 0x43f6ec
test cl, 8
jne 0x43f67b
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 0x43f6ec
test cl, 4
jne 0x43f6b1
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 0x43f6ec
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.0x4468ec
cmp dword [esi + 0x94], eax
je case.default.0x4468ec
inc edi
cmp edi, dword [esi + 0x90]
jle 0x43f5f2
jmp 0x43f754
cmp dword [esi + 0x90], edi
jl 0x43f754
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x4468ec
cmp dword [esi + 0x94], ecx
je case.default.0x4468ec
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x43f720
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43ab53
test ebx, ebx
je 0x43f780
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x446420
jmp 0x445363
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x43f8d7
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x43f8c7
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43f8a5
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x43f880
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x43f7e4
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x43f87c
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x43f7ff
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x43f876
and eax, 0x3f
test dl, 8
jne 0x43f81f
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x43f876
test dl, 4
jne 0x43f848
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 0x43f876
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 0x43f8c7
cmp dword [esi + 0x94], eax
je 0x43f8c7
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x43f7a4
jmp 0x43f8c7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x43f8c7
cmp edi, dword [ebp + 0x84]
jbe 0x43f8c7
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x43bb77
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x44647c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x43f931
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43f90f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x43f931
cmp dword [esi + 0x94], ecx
je 0x43f931
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x43f8e5
jmp 0x43f931
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x43f931
cmp eax, dword [ebp + 0x84]
jbe 0x43f931
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4481d5
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x4453a6
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x43fa99
cmp dword [esi + 0x90], edi
jl 0x43facf
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x43fa7a
mov cl, byte [eax]
test bl, 0x20
jne 0x43f99b
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x43fa72
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x43f9bf
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 0x43fa72
test bl, 8
jne 0x43f9fa
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 0x43fa7a
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x43fa38
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 0x43fa6e
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 + 0x14]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x4468ec
inc edi
mov dword [esp + 0x14], edi
cmp edi, dword [esi + 0x90]
jle 0x43f962
jmp 0x43facb
cmp dword [esi + 0x90], edi
jl 0x43facf
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x43ef5d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x4468ec
inc edi
cmp edi, dword [esi + 0x90]
jle 0x43faa1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43ab53
cmp dword [esp + 0x20], 0
je 0x43fafb
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x44661b
jmp 0x44542b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x43fc4e
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x43fc3e
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fc1c
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x43fbfb
test dl, 0x20
jne 0x43fb56
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x43fbf3
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x43fb78
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x43fbef
and eax, 0x3f
test dl, 8
jne 0x43fb98
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x43fbef
test dl, 4
jne 0x43fbc1
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 0x43fbef
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 + 0x14]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp dword [esi + 0x80], edx
je 0x43fc3e
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x43fb20
jmp 0x43fc3e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x43fc3e
cmp edi, dword [ebp + 0x84]
jbe 0x43fc3e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x43bb77
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x44667c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x43fca6
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43fc84
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x43fca6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x43fc60
jmp 0x43fca6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x43fca6
cmp ecx, dword [ebp + 0x84]
jbe 0x43fca6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4481d5
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x44546e
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 0x43fde7
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 0x43fde7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], SysReAllocStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x43fde7
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], SysReAllocStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x43fde7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x43fde7
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 0x43fde7
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 + 0x52afe8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x52aff4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43fde7
mov dword [esi + 0x8c], SysReAllocStringLen
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 0x43fe09
cmp ecx, 0xf
je 0x43fe09
mov dword [esi + 0x60], 0xffffffff
jmp 0x43fe2d
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 0x44003a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x440d34
cmp eax, 0xa
ja case.0x44686a.15
jmp dword [eax*4 + 0x4488ac]
cmp dword [esi + 0x68], 0
jne case.default.0x4468ec
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x44003e
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4454d6
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x43febe
cmp edx, 0xc0
jb 0x43febe
test dl, 0x20
jne 0x43fe9c
lea eax, [ecx + 2]
jmp 0x43febb
test dl, 0x10
jne 0x43fea6
lea eax, [ecx + 3]
jmp 0x43febb
test dl, 8
jne 0x43feb0
lea eax, [ecx + 4]
jmp 0x43febb
lea eax, [ecx + 5]
test dl, 4
je 0x43febb
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x43fe71
jmp 0x44003e
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43c107
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 0x43ffea
cmp eax, 0xc0
jb 0x43ffea
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x43ff29
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x43ffe5
test al, 0x10
jne 0x43ff49
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 0x43ffe5
test al, 8
jne 0x43ff75
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 0x43ffe5
test al, 4
jne 0x43ffaa
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 0x43ffe5
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 + 0x52d318]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
cmp eax, 9
je 0x44001f
cmp eax, 5
je 0x44001f
cmp eax, 8
je 0x44001f
xor eax, eax
jmp 0x440024
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x43fee0
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43ab53
cmp dword [esp + 0x20], 0
je 0x4420ab
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x44208e
cmp ecx, 0xa
ja case.0x44686a.15
jmp dword [ecx*4 + 0x4488d8]
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43c107
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 0x44019f
cmp eax, 0xc0
jb 0x44019f
test al, 0x20
jne 0x4400c9
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44019a
test al, 0x10
jne 0x4400ef
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 0x44019a
test al, 8
jne 0x440121
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 0x44019a
test al, 4
movzx eax, byte [edx]
jne 0x44015c
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 0x44019a
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 + 0x52d318]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x440080
jmp 0x44003a
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
jmp 0x440200
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43c107
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 0x44031f
cmp eax, 0xc0
jb 0x44031f
test al, 0x20
jne 0x440249
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44031a
test al, 0x10
jne 0x44026f
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 0x44031a
test al, 8
jne 0x4402a1
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 0x44031a
test al, 4
movzx eax, byte [edx]
jne 0x4402dc
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 0x44031a
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 + 0x52d318]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x440200
jmp 0x44003a
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43c107
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 0x440490
cmp eax, 0xc0
jb 0x440490
test al, 0x20
jne 0x4403ba
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44048b
test al, 0x10
jne 0x4403e0
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 0x44048b
test al, 8
jne 0x440412
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 0x44048b
test al, 4
movzx eax, byte [edx]
jne 0x44044d
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 0x44048b
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 + 0x52d318]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc98]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x440371
jmp 0x44003a
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43c107
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 0x440601
cmp eax, 0xc0
jb 0x440601
test al, 0x20
jne 0x44052b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4405fc
test al, 0x10
jne 0x440551
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 0x4405fc
test al, 8
jne 0x440583
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 0x4405fc
test al, 4
movzx eax, byte [edx]
jne 0x4405be
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 0x4405fc
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 + 0x52d318]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x440638
cmp eax, 3
je 0x440638
xor eax, eax
jmp 0x44063d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4404e2
jmp 0x44003a
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x44003a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
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 0x44079a
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x44079a
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4406cd
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x440789
test cl, 0x10
jne 0x4406ee
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 0x440789
test cl, 8
jne 0x440718
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 0x440789
test cl, 4
jne 0x44074e
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 0x440789
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 0x4407bb
cmp eax, 0x20
je case.0x440890.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x440890.8203
jmp dword [eax*4 + 0x448904]
cmp edx, 0x2000
ja 0x440868
cmp edi, 0x2000
je case.0x440890.8193
cmp ecx, 0x1680
ja 0x440860
je case.0x440890.8193
mov eax, ecx
sub eax, 0x85
je case.0x440890.8193
sub eax, 0x1b
je case.0x440890.8193
mov eax, ecx
test eax, eax
jns 0x440804
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x52d318]
shl eax, 7
and ecx, 0x8000007f
jns 0x44081e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
cmp dword [eax*4 + 0x52baa8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4468ec
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x440670
jmp 0x44003a
cmp ecx, 0x180e
jmp 0x4407f5
cmp ebx, 0x3000
ja case.0x440890.8203
cmp dword [esp + 0x18], 0x3000
je case.0x440890.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x440890.8203
movzx eax, byte [eax + 0x448920]
jmp dword [eax*4 + 0x448918]
cmp dword [esi + 0x68], 0
jne case.default.0x4468ec
jmp 0x440846
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x44003a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43c107
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 0x4409bf
cmp eax, 0xc0
jb 0x4409bf
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4408ff
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4409b8
test al, 0x10
jne 0x44091f
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 0x4409b8
test al, 8
jne 0x440948
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 0x4409b8
test al, 4
jne 0x44097d
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 0x4409b8
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 + 0x52d318]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x4409fb
cmp eax, 3
je 0x4409fb
cmp ebx, 0x5f
je 0x4409fb
xor eax, eax
jmp 0x440a00
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4468ec
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4408b4
jmp 0x44003a
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x440b29
cmp edx, 0xc0
jb 0x440b29
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x440a7d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x440b24
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x440a9e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x440b24
test dl, 8
jne 0x440ac1
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 0x440b24
test dl, 4
jne 0x440af0
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 0x440b24
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 + 0x52bb58]
lea eax, [eax*4 + 0x52bb58]
jb 0x440b4d
mov ecx, dword [eax]
mov edi, edi
lea eax, [eax + 4]
cmp edx, ecx
je 0x440b69
mov ecx, dword [eax]
cmp edx, ecx
jae 0x440b40
cmp dword [esi + 0x68], 0
je case.default.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x440a30
jmp 0x44003a
cmp dword [esi + 0x68], 0
jne case.default.0x4468ec
jmp 0x440b57
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x44003a
jmp 0x440b90
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
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 + 0x14], ecx
mov ebx, ecx
je 0x440cdd
mov dword [esp + 0x14], ecx
cmp ecx, 0xc0
jb 0x440cdd
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x440bf0
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 0x440ce1
test cl, 0x10
jne 0x440c1c
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 0x440ce1
test cl, 8
jne 0x440c54
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 0x440ce1
test cl, 4
jne 0x440c95
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 0x440ce1
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 0x440ce1
mov edi, dword [esp + 0x14]
cmp edx, 0x24
je 0x440d0c
cmp eax, 0x40
je 0x440d0c
cmp ebx, 0x60
je 0x440d0c
cmp edi, 0xa0
jb 0x440d00
cmp ecx, 0xd7ff
jbe 0x440d0c
cmp ecx, 0xe000
jae 0x440d0c
xor eax, eax
jmp 0x440d11
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4468ec
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x440b90
jmp 0x44003a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x44102b
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x44003a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x43c107
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 + 0x14], edi
je 0x440e5c
mov dword [esp + 0x14], edi
cmp eax, 0xc0
jb 0x440e5c
test al, 0x20
jne 0x440d9c
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x440e4b
test al, 0x10
jne 0x440dbc
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 0x440e4b
test al, 8
jne 0x440de5
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 0x440e4b
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x440e18
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 0x440e4b
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 + 0x14], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x52d318]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc9a]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x14], eax
jae 0x440feb
mov edi, edx
mov dword [esp + 0x14], eax
jmp 0x440ea0
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x440f79
cmp edx, 0xc0
jb 0x440f79
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x440ee1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x440f75
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x440ef9
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x440f6f
and eax, 0x3f
test dl, 8
jne 0x440f19
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x440f6f
test dl, 4
jne 0x440f42
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 0x440f6f
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 + 0x10], edi
movzx eax, byte [edx + 0x52d318]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx ecx, byte [eax*8 + 0x52bc9a]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x52bb20], eax
mov ebp, dword [esp + 0xb0]
je 0x440fe3
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 + 0x14], eax
cmp edx, eax
jb 0x440ea0
jmp 0x440feb
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x441011
cmp edx, eax
jb 0x441011
cmp ecx, dword [ebp + 0x84]
jbe 0x441011
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x446260
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x440d51
jmp 0x44003a
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x441bf0
cmp eax, 0xf
ja case.0x44686a.15
jmp dword [eax*4 + 0x448980]
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x43c107
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x441099
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044b2e0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x44108d
mov eax, 1
jmp 0x44108f
xor eax, eax
test eax, eax
jne case.default.0x4468ec
jmp 0x4410c0
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4410be
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4410be
cmp edi, 1
je case.default.0x4468ec
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4468ec
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4410f6
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4410f6
test ecx, ecx
jne 0x4410f6
cmp dword [ebp + 0x1c], 2
jne 0x4410f6
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4410f6
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x446260
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x441112
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x441112
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x441101
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x441057
jmp 0x44003a
mov edi, 1
cmp ecx, edi
jl 0x44003e
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x44507e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x441168
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x441168
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x441150
inc edi
cmp edi, dword [esi + 0x90]
jle 0x441134
jmp 0x44003e
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x4455bf.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x44003e
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x44003e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
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 0x4412a7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4411e2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x44129e
test cl, 0x10
jne 0x441203
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 0x44129e
test cl, 8
jne 0x44122d
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 0x44129e
test cl, 4
jne 0x441263
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 0x44129e
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 0x4412db
cmp eax, 0x85
je case.0x4412c2.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4468ec
jmp dword [ecx*4 + 0x4489c0]
cmp ebx, dword [ebp + 0x78]
jae case.0x4412c2.10
cmp byte [edx], 0xa
jne case.0x4412c2.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4412c2.10
sub ecx, 0x2028
je case.0x4412c2.11
sub ecx, 1
jne case.default.0x4468ec
cmp dword [ebp + 0x68], 0
jne case.default.0x4468ec
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4411a2
jmp 0x44003a
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x44003e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
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 0x441430
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x441367
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x441423
test cl, 0x10
jne 0x441388
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 0x441423
test cl, 8
jne 0x4413b2
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 0x441423
test cl, 4
jne 0x4413e8
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 0x441423
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 0x44149c
cmp edx, 0x2000
je case.default.0x4468ec
cmp ecx, 0xa0
ja 0x441482
je case.default.0x4468ec
cmp ecx, 9
je case.default.0x4468ec
cmp ecx, 0x20
je case.default.0x4468ec
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x441321
jmp 0x44003a
cmp ebx, 0x1680
je case.default.0x4468ec
cmp ecx, 0x180e
je case.default.0x4468ec
jmp case.0x4414c1.8203
cmp eax, 0x3000
ja case.0x4414c1.8203
cmp edi, 0x3000
je case.default.0x4468ec
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4414c1.8203
movzx eax, byte [ecx + 0x4489d8]
jmp dword [eax*4 + 0x4489d0]
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x44003e
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
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 0x4415ef
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x441526
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4415e2
test cl, 0x10
jne 0x441547
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 0x4415e2
test cl, 8
jne 0x441571
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 0x4415e2
test cl, 4
jne 0x4415a7
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 0x4415e2
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 0x44164b
cmp edx, 0x2000
je case.0x441674.8193
cmp ecx, 0xa0
ja 0x441635
je case.0x441674.8193
cmp ecx, 9
je case.0x441674.8193
cmp ecx, 0x20
jne case.default.0x4468ec
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4414e0
jmp 0x44003a
cmp ebx, 0x1680
je case.0x441674.8193
cmp ecx, 0x180e
jne case.default.0x4468ec
jmp case.0x441674.8193
cmp eax, 0x3000
ja case.default.0x4468ec
cmp edi, 0x3000
je case.0x441674.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4468ec
movzx eax, byte [ecx + 0x448a40]
jmp dword [eax*4 + 0x448a38]
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
jmp 0x441690
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x441793
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4416d0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44178c
test cl, 0x10
jne 0x4416f1
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 0x44178c
test cl, 8
jne 0x44171b
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 0x44178c
test cl, 4
jne 0x441751
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 0x44178c
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 0x4417b5
cmp edi, 0x85
je case.default.0x4468ec
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4417ae
jmp dword [ecx*4 + 0x448aa0]
sub ecx, 0x2028
je case.default.0x4468ec
sub ecx, 1
je case.default.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x441690
jmp 0x44003a
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4418e0
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x441832
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4418d9
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x441853
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4418d9
test dl, 8
jne 0x441876
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 0x4418d9
test dl, 4
jne 0x4418a5
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 0x4418d9
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 0x441902
cmp ecx, 0x85
je case.0x4418fb.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4468ec
jmp dword [edx*4 + 0x448ab0]
sub edx, 0x2028
je case.0x4418fb.10
sub edx, 1
jne case.default.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4417f0
jmp 0x44003a
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43c175
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x441a1e
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x441972
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x441a19
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x441993
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x441a19
test dl, 8
jne 0x4419b6
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 0x441a19
test dl, 4
jne 0x4419e5
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 0x441a19
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 0x441a32
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x4468ec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x441932
jmp 0x44003a
cmp ecx, 1
jl 0x44003e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4454d6
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4455bf.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x441a52
jmp 0x44003e
mov edi, 1
cmp ecx, edi
jl 0x44003e
mov edx, dword [ebp + 0x78]
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4454d6
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x441ac3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4455bf.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x441ae8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x441ae8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x441ad0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x441aa0
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4454d6
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4455bf.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x441b04
jmp 0x44003e
mov edi, 1
cmp ecx, edi
jl 0x44003e
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4454d6
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x441b73
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4455bf.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x441b98
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x441b98
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x441b80
inc edi
cmp edi, dword [esi + 0x90]
jle 0x441b50
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4454d6
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4455bf.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x441bb4
jmp 0x44003e
cmp eax, 0xf
ja case.0x44686a.15
jmp dword [eax*4 + 0x448ac0]
mov ebx, 1
cmp ecx, ebx
jl 0x44003a
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x43c2d0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x441c50
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0044b2e0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x441c44
mov eax, 1
jmp 0x441c46
xor eax, eax
test eax, eax
jne case.default.0x4468ec
jmp 0x441c77
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x441c77
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x441c77
cmp edi, 1
je case.default.0x4468ec
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4468ec
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x441cae
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x441cae
cmp dword [ebp + 0x18], 0
jne 0x441cae
cmp dword [ebp + 0x1c], 2
jne 0x441cae
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x441cae
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x446260
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x441c10
jmp 0x44003a
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x441186
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edx, dword [ebp + 0x84]
jmp 0x43e54e
mov edx, 1
cmp ecx, edx
jl 0x44003e
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4454d6
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4455bf.14
movzx eax, byte [eax + 0x448b10]
jmp dword [eax*4 + 0x448b00]
cmp ecx, dword [ebp + 0x78]
jae case.0x441d28.10
cmp byte [ecx], 0xa
jne case.0x441d28.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x441d28.10
cmp dword [ebp + 0x68], 0
jne case.0x4455bf.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x441d00
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edx, 1
jmp 0x441d70
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44507e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4455bf.14
cmp ecx, 0x20
je case.0x4455bf.14
cmp ecx, 0xa0
je case.0x4455bf.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x441d70
jmp 0x44003e
mov edx, 1
cmp ecx, edx
jl 0x44003e
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44507e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x441de9
cmp ecx, 0x20
je 0x441de9
cmp ecx, 0xa0
jne case.0x4455bf.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x441dc0
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edx, 1
mov edi, edx
jmp 0x441e10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44507e
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x441e36.11
movzx eax, byte [eax + 0x448b94]
mov edx, edi
jmp dword [eax*4 + 0x448b8c]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x441e10
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edx, 1
jmp 0x441e60
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44507e
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4455bf.14
movzx eax, byte [eax + 0x448c18]
jmp dword [eax*4 + 0x448c10]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x441e60
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edi, 1
jmp 0x441eb0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441cd3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4455bf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x441eb0
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441cd3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4455bf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x441ef0
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441cd3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4455bf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x441f30
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441cd3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4455bf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x441f70
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441cd3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4455bf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x441fb0
jmp 0x44003e
cmp ecx, 1
jl 0x44003e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441cd3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4455bf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x441ff0
jmp 0x44003e
mov dword [esi + 0x84], eax
jmp 0x446cad
mov dword [esi + 0x84], eax
jmp 0x446e68
mov dword [esi + 0x84], eax
jmp 0x44702a
mov dword [esi + 0x84], eax
jmp 0x4471e4
mov dword [esi + 0x84], eax
jmp 0x44739e
mov dword [esi + 0x84], eax
jmp 0x447b39
mov dword [esi + 0x84], eax
jmp 0x447f29
mov dword [esi + 0x84], eax
jmp 0x448150
mov dword [esi + 0x84], eax
jmp 0x44831a
mov dword [esi + 0x84], eax
jmp 0x447d06
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x4476ca
test ebx, ebx
jne 0x446959
jmp 0x4456c5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x443013
cmp eax, 0xa
ja case.0x44686a.15
jmp dword [eax*4 + 0x448c94]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x442142
lea ebx, [ebx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x442152
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x44212e
cmp ecx, 0xc0
jb 0x44212e
test cl, 0x20
jne 0x442108
mov eax, 2
jmp 0x44212e
test cl, 0x10
jne 0x442114
mov eax, 3
jmp 0x44212e
test cl, 8
jne 0x442120
mov eax, 4
jmp 0x44212e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x442142
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4420e0
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x44772c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x442142
cmp edx, dword [ebp + 0x84]
jbe 0x442142
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x442142
jmp 0x4481d5
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442142
jmp 0x442190
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4422e7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x442284
cmp eax, 0xc0
jb 0x442284
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4421d9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x442280
test al, 0x10
jne 0x4421f3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44227a
test al, 8
jne 0x442216
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 0x44227a
test al, 4
jne 0x442245
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 0x44227a
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 + 0x52d318]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
cmp eax, 9
je 0x4422b9
cmp eax, 5
je 0x4422b9
cmp eax, 8
je 0x4422b9
xor eax, eax
jmp 0x4422be
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x442142
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x442190
jmp 0x442142
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x442142
cmp edx, dword [ebp + 0x84]
jbe 0x442142
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x442142
jmp 0x43bb77
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442142
jmp 0x442330
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44247e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x442424
cmp eax, 0xc0
jb 0x442424
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x442379
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x442420
test al, 0x10
jne 0x442393
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44241a
test al, 8
jne 0x4423b6
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 0x44241a
test al, 4
jne 0x4423e5
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 0x44241a
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 + 0x52d318]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x442142
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x442330
jmp 0x442142
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x442142
cmp edx, dword [ebp + 0x84]
jbe 0x442142
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x442142
jmp 0x43bb77
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442142
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44247e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4425b3
cmp eax, 0xc0
jb 0x4425b3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x442508
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4425af
test al, 0x10
jne 0x442522
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4425a9
test al, 8
jne 0x442545
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 0x4425a9
test al, 4
jne 0x442574
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 0x4425a9
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 + 0x52d318]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x442142
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4424c3
jmp 0x442142
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442142
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44247e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x442714
cmp eax, 0xc0
jb 0x442714
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x442669
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x442710
test al, 0x10
jne 0x442683
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44270a
test al, 8
jne 0x4426a6
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 0x44270a
test al, 4
jne 0x4426d5
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 0x44270a
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 + 0x52d318]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc98]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x442142
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x442620
jmp 0x442142
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442142
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4422e7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x442874
cmp eax, 0xc0
jb 0x442874
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4427c9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x442870
test al, 0x10
jne 0x4427e3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44286a
test al, 8
jne 0x442806
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 0x44286a
test al, 4
jne 0x442835
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 0x44286a
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 + 0x52d318]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x4428ab
cmp eax, 3
je 0x4428ab
xor eax, eax
jmp 0x4428b0
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x442142
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x442780
jmp 0x442142
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442142
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x442b19
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
je 0x442a09
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x442a09
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x442955
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4429f9
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x442973
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4429f3
and eax, 0x3f
test dl, 8
jne 0x442996
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 0x4429f3
test dl, 4
jne 0x4429c2
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 0x4429f3
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 + 0x14], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
cmp dword [esp + 0x14], 0x20
ja 0x442a28
cmp eax, 0x20
je case.0x442b06.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x442b06.8203
jmp dword [eax*4 + 0x448cc0]
cmp edx, 0x2000
ja 0x442ade
cmp ecx, 0x2000
je case.0x442b06.8193
cmp edx, 0x1680
ja 0x442ad6
je case.0x442b06.8193
mov eax, edx
sub eax, 0x85
je case.0x442b06.8193
sub eax, 0x1b
je case.0x442b06.8193
mov eax, edx
test eax, eax
jns 0x442a71
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x52d318]
shl eax, 7
and edx, 0x8000007f
jns 0x442a8b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
cmp dword [eax*4 + 0x52baa8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x442142
mov eax, dword [esp + 0x18]
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 0x4428f0
jmp 0x442142
cmp edx, 0x180e
jmp 0x442a62
cmp ebx, 0x3000
ja case.0x442b06.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x442b06.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x442b06.8203
movzx eax, byte [eax + 0x448cdc]
jmp dword [eax*4 + 0x448cd4]
cmp dword [esi + 0x68], 0
jne 0x442142
jmp 0x442ab3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x442142
cmp edi, dword [ebp + 0x84]
jmp 0x442492
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442142
jmp 0x442b50
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x44247e
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x442c5d
cmp eax, 0xc0
jb 0x442c5d
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x442ba1
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x442c57
test al, 0x10
jne 0x442bbe
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x442c51
test al, 8
jne 0x442be7
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 0x442c51
test al, 4
jne 0x442c19
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 0x442c51
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 + 0x52d318]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x442c99
cmp eax, 3
je 0x442c99
cmp ebx, 0x5f
je 0x442c99
xor eax, eax
jmp 0x442c9e
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x442142
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x442b50
jmp 0x442142
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442142
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x442e23
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x442dc8
cmp edx, 0xc0
jb 0x442dc8
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x442d2d
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x442dc4
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x442d48
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x442dbe
and eax, 0x3f
test dl, 8
jne 0x442d68
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x442dbe
test dl, 4
jne 0x442d91
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 0x442dbe
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 + 0x52bb58]
lea eax, [eax*4 + 0x52bb58]
jb 0x442ded
mov ecx, dword [eax]
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x442e17
mov ecx, dword [eax]
cmp edx, ecx
jae 0x442de0
cmp dword [esi + 0x68], 0
je 0x442142
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x442ce0
jmp 0x442142
cmp dword [esi + 0x68], 0
jne 0x442142
jmp 0x442df7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x442142
cmp edi, dword [ebp + 0x84]
jmp 0x4422fb
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x442142
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x442fed
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
je 0x442f8f
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x442f8f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x442ebb
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
or edx, eax
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
jmp 0x442f8f
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x442eeb
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 + 0x14], edx
mov ecx, edx
mov ebx, edx
jmp 0x442f8f
test dl, 8
jne 0x442f20
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 + 0x14], edx
mov ecx, edx
mov ebx, edx
jmp 0x442f8f
test dl, 4
jne 0x442f4c
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 0x442f7d
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 + 0x14], eax
mov ebx, eax
mov ecx, eax
cmp eax, 0x24
je 0x442fbc
cmp ecx, 0x40
je 0x442fbc
cmp ebx, 0x60
je 0x442fbc
cmp dword [esp + 0x14], 0xa0
jb 0x442fb0
cmp edx, 0xd7ff
jbe 0x442fbc
cmp edx, 0xe000
jae 0x442fbc
xor eax, eax
jmp 0x442fc1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x442142
mov eax, dword [esp + 0x18]
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 0x442e52
jmp 0x442142
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x442142
cmp edi, dword [ebp + 0x84]
jbe 0x442142
mov dword [ebp + 0x64], 1
jmp 0x442304
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x44338c
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x44333d
jmp 0x443040
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44331b
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 0x44314d
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x44314d
test al, 0x20
jne 0x44308b
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x44313c
test al, 0x10
jne 0x4430a9
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 0x44313c
test al, 8
jne 0x4430d3
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 0x44313c
test al, 4
movzx eax, byte [edi]
jne 0x443106
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 0x44313c
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 + 0x52d318]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc9a]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x18], eax
jae 0x4432de
mov edi, edx
mov dword [esp + 0x18], eax
jmp 0x443190
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x44326c
cmp edx, 0xc0
jb 0x44326c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4431d1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x443268
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4431ec
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x443262
and eax, 0x3f
test dl, 8
jne 0x44320c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x443262
test dl, 4
jne 0x443235
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 0x443262
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 + 0x14]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x1c], edi
movzx eax, byte [edx + 0x52d318]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx ecx, byte [eax*8 + 0x52bc9a]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x52bb20], eax
mov ebp, dword [esp + 0xb0]
je 0x4432d6
lea edx, [ebx + edi]
mov dword [esp + 0x14], 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 0x443190
jmp 0x4432de
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x443304
cmp edx, eax
jb 0x443304
cmp ecx, dword [ebp + 0x84]
jbe 0x443304
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x446260
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x443040
jmp 0x44333d
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44333d
cmp ecx, dword [ebp + 0x84]
jbe 0x44333d
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x43bb77
cmp dword [esp + 0x24], 0
jne 0x43ab53
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44337d
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x445764
add eax, 0xfffffffa
test ebx, ebx
je 0x4441af
cmp eax, 0xf
ja case.0x44686a.15
jmp dword [eax*4 + 0x448d3c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44419f
lea esp, [esp]
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x443493
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x443402
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044b2e0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4433f6
mov eax, 1
jmp 0x4433f8
xor eax, eax
test eax, eax
jne 0x44419f
jmp 0x443429
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x443427
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x443427
cmp edi, 1
je 0x44419f
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44419f
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x44345f
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x44345f
test ecx, ecx
jne 0x44345f
cmp dword [ebp + 0x1c], 2
jne 0x44345f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x44345f
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x446260
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x443481
lea ebx, [ebx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x443481
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x443470
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4433c0
jmp 0x44419f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44419f
cmp ecx, dword [ebp + 0x84]
jbe 0x44419f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x44419f
jmp 0x43bb77
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x443518
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x44419f
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x44351e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x44350a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44350a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4434f2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4434e0
jmp 0x44419f
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x44419f
cmp eax, dword [ebp + 0x84]
jbe 0x44419f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x44419f
jmp 0x4481d5
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 0x443599
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44419f
cmp edx, dword [ebp + 0x84]
jbe 0x44419f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x44419f
jmp 0x4481d5
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x44419f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x44419f
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x443734
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4436be
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44360e
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4436b2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44362c
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4436ac
and eax, 0x3f
test dl, 8
jne 0x44364f
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 0x4436ac
test dl, 4
jne 0x44367b
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 0x4436ac
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 + 0x14], edx
mov eax, edx
mov ebx, edx
cmp ecx, 0xd
jne 0x4436da
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x44419f
cmp byte [eax], 0xa
jne 0x44371a
inc eax
jmp 0x443717
cmp eax, 0xa
je 0x443711
cmp dword [ebp + 0x68], 0
jne 0x44419f
cmp ebx, 0xb
je 0x443711
cmp dword [esp + 0x14], 0xc
je 0x443711
cmp edx, 0x85
je 0x443711
cmp edx, 0x2028
je 0x443711
cmp edx, 0x2029
jne 0x44419f
mov eax, dword [esp + 0x18]
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 0x4435c0
jmp 0x44419f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44419f
cmp edi, dword [ebp + 0x84]
jmp 0x4434a7
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x44419f
jmp 0x443770
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x443734
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x44386a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4437ba
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x44385e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4437d8
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x443858
and eax, 0x3f
test dl, 8
jne 0x4437fb
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 0x443858
test dl, 4
jne 0x443827
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 0x443858
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 + 0x14], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x14], 0x2000
ja 0x4438da
cmp ebx, 0x2000
je case.0x4438fb.8193
cmp edx, 0xa0
ja 0x4438ca
je case.0x4438fb.8193
cmp edx, 9
je case.0x4438fb.8193
cmp edx, 0x20
je case.0x4438fb.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x44419f
mov eax, dword [esp + 0x18]
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 0x443770
jmp 0x44419f
cmp edx, 0x1680
je case.0x4438fb.8193
cmp edx, 0x180e
jmp 0x443892
cmp eax, 0x3000
ja case.0x4438fb.8203
cmp ecx, 0x3000
je case.0x4438fb.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4438fb.8203
movzx eax, byte [edx + 0x448d84]
jmp dword [eax*4 + 0x448d7c]
mov ecx, 1
jmp 0x443896
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x44419f
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x443a61
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4439fc
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x443962
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x4439f6
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44397a
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4439f0
and eax, 0x3f
test dl, 8
jne 0x44399a
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4439f0
test dl, 4
jne 0x4439c3
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 0x4439f0
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 0x443a1a
cmp ecx, 0x85
je case.0x443a13.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x443a13
jmp dword [edx*4 + 0x448de4]
sub edx, 0x2028
je case.0x443a13.10
sub edx, 1
je case.0x443a13.10
xor ecx, ecx
jmp 0x443a30
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x44419f
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x443920
jmp 0x44419f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44419f
cmp edi, dword [ebp + 0x84]
jbe 0x44419f
mov dword [ebp + 0x64], ebx
jmp 0x4434b4
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x44419f
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443734
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x443b93
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x443ae4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x443b8d
test dl, 0x10
jne 0x443aff
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x443b87
test dl, 8
jne 0x443b23
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 0x443b87
test dl, 4
jne 0x443b53
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 0x443b87
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 0x443baa
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x44419f
mov eax, ebx
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 0x443aa0
jmp 0x44419f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44419f
jmp 0x443be0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443734
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x443cb9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x443c20
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x443cb5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x443c38
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x443caf
and eax, 0x3f
test dl, 8
jne 0x443c58
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x443caf
test dl, 4
jne 0x443c81
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 0x443caf
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 0x44419f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x44419f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x443be0
jmp 0x44419f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x44419f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443734
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x443df3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x443d44
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x443ded
test dl, 0x10
jne 0x443d5f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x443de7
test dl, 8
jne 0x443d83
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 0x443de7
test dl, 4
jne 0x443db3
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 0x443de7
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 0x443e0a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x44419f
mov eax, ebx
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 0x443d00
jmp 0x44419f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44419f
jmp 0x443e40
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443734
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x443f1c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x443e80
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x443f18
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x443e9b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x443f12
and eax, 0x3f
test dl, 8
jne 0x443ebb
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x443f12
test dl, 4
jne 0x443ee4
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 0x443f12
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 0x44419f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x44419f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x443e40
jmp 0x44419f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x44419f
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443734
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x444055
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x443fa6
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x44404f
test dl, 0x10
jne 0x443fc1
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x444049
test dl, 8
jne 0x443fe5
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 0x444049
test dl, 4
jne 0x444015
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 0x444049
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 0x44406c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x44419f
mov eax, ebx
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 0x443f62
jmp 0x44419f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44419f
lea ecx, [ecx]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443734
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x44417c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4440e0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x444178
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4440fb
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x444172
and eax, 0x3f
test dl, 8
jne 0x44411b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x444172
test dl, 4
jne 0x444144
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 0x444172
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 0x44419f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x44419f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4440a0
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x446bd5
cmp eax, 0xf
ja case.0x44686a.15
jmp dword [eax*4 + 0x448df4]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x444483.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x444284
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x444211
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0044b2e0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x444205
mov eax, 1
jmp 0x444207
xor eax, eax
test eax, eax
jne case.0x444483.10
jmp 0x444238
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x444238
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x444238
cmp edi, 1
je case.0x444483.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x444483.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x44426f
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x44426f
cmp dword [ebp + 0x18], 0
jne 0x44426f
cmp dword [ebp + 0x1c], 2
jne 0x44426f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x44426f
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x446260
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4441d1
jmp case.0x444483.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x444483.10
cmp edx, dword [ebp + 0x84]
jbe case.0x444483.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x444483.10
jmp 0x43bb77
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 0x4442ff
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x444483.10
cmp edx, dword [ebp + 0x84]
jbe case.0x444483.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x444483.10
jmp 0x4481d5
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x444483.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x444483.10
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x444377
mov al, byte [ecx]
cmp al, 0xd
jne 0x444345
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x444483.10
cmp byte [eax], 0xa
jne 0x444369
inc eax
jmp 0x444366
cmp al, 0xa
je 0x444363
cmp dword [ebp + 0x68], 0
jne case.0x444483.10
cmp al, 0xb
je 0x444363
cmp al, 0xc
je 0x444363
cmp al, 0x85
jne case.0x444483.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x444320
jmp case.0x444483.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x444483.10
cmp ecx, dword [ebp + 0x84]
jmp 0x4442e4
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x444483.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4443d9
mov cl, byte [eax]
cmp cl, 9
je case.0x444483.10
cmp cl, 0x20
je case.0x444483.10
cmp cl, 0xa0
je case.0x444483.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4443a2
jmp case.0x444483.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x444483.10
cmp eax, dword [ebp + 0x84]
jbe case.0x444483.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x444483.10
jmp 0x4481d5
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x444483.10
lea ebx, [ebx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4443d9
mov cl, byte [eax]
cmp cl, 9
je 0x44443d
cmp cl, 0x20
je 0x44443d
cmp cl, 0xa0
jne case.0x444483.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x444420
jmp case.0x444483.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x444483.10
mov edi, ecx
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4442d0
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x444483.11
movzx eax, byte [eax + 0x448e3c]
mov ecx, edi
jmp dword [eax*4 + 0x448e34]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x444463
jmp case.0x444483.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x444483.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x444377
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x444483.10
movzx eax, byte [eax + 0x448ec0]
jmp dword [eax*4 + 0x448eb8]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4444b2
jmp case.0x444483.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x444483.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4442d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x444483.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x444501
jmp case.0x444483.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x444483.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4442d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x444483.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x444543
jmp case.0x444483.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x444483.10
jmp 0x444590
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4442d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x444483.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x444590
jmp case.0x444483.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x444483.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4442d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x444483.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4445d2
jmp case.0x444483.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x444483.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4442d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x444483.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x444614
jmp case.0x444483.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x444483.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x444675
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x444483.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x444650
jmp case.0x444483.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x444483.10
cmp edx, dword [ebp + 0x84]
jbe case.0x444483.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4481d5
cmp dword [esp + 0x24], 0
jne 0x43ab53
jmp 0x445725
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44849f
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x4446cc
jmp dword [eax*4 + 0x448f3c]
cmp edi, 0xfffffc1b
je 0x4447ab
cmp edi, 0xfffffc20
jne 0x44471a
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.0x444bb8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x444716
cmp byte [ecx], 0x77
jne case.default.0x444bb8
xor edi, edi
jmp 0x444722
test edi, edi
jne case.default.0x444bb8
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 0x4447ab
cmp dword [esi + 0x9c], 0x88
jb 0x44476a
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x444793
push 0x134
call dword [0x56de0c]
mov edx, eax
add esp, 4
test edx, edx
je 0x448173
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 0x444db3
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 0x4446bc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x4448c3
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 0x44491b
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x444839
cmp byte [ecx], 0x77
jne 0x44491b
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.0x4455bf.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x44492c
cmp eax, 0x81
je 0x44492c
cmp dword [ebp + 0x6c], 0
jne 0x444936
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 0x444936
movzx eax, byte [edx]
movzx eax, byte [eax + 0x52b990]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x43aae0
test edi, edi
je 0x444839
cmp edi, 0xfffffc1b
jne 0x44491b
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x81
je 0x44490d
cmp byte [edx], 0x77
mov ebx, edx
jne 0x4448fc
movzx ecx, byte [edx + 1]
movzx edx, byte [edx + 2]
shl ecx, 8
or edx, ecx
add edx, ebx
mov ebx, edx
cmp byte [edx], 0x77
je 0x4448e2
mov dword [esp + 0x10], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
mov edx, ebx
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4447f1
jmp 0x4446b8
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 0x444974
push 0x134
call dword [0x56de0c]
mov edx, eax
add esp, 4
test edx, edx
je 0x448173
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 0x444db3
cmp edi, 1
jne 0x444a02
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4449a3
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x4449b6
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 0x4449e7
lea ecx, [ecx]
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 0x4449d0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x52b990]
sub ecx, eax
add ecx, 3
mov dword [esi + 0xc], ecx
jmp 0x43affe
test edi, edi
je 0x43affe
cmp edi, 0xfffffc20
je 0x43affe
jmp case.default.0x444bb8
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x444a36
cmp byte [eax - 3], 0x77
jne 0x43ab53
cmp dword [esi + 0x9c], 0x8c
jne 0x43aae0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x444a79
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x445764
cmp edi, 1
je 0x444b33
cmp edi, 0xfffffc19
je 0x444b33
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x444ad9
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.0x444bb8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x444ae1
cmp byte [ecx], 0x77
jmp 0x444adb
test edi, edi
jne case.default.0x444bb8
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 0x444b39
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x444b24
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x444c74
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x4455bf.14
cmp dword [esi + 0x58], 0
jne 0x444c11
nop
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 0x444b50
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x43ab53
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x444b9b
je case.0x444bb8.995
cmp edi, 0xfffffc19
jmp 0x444cab
test edi, edi
jg 0x444ca6
je 0x444c27
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x444bb8
jmp dword [eax*4 + 0x449048]
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.0x444bb8.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x444c27
cmp byte [ecx], 0x77
je 0x444c27
mov edx, dword [esi + 0xc]
lea esp, [esp]
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 0x444bf0
cmp dword [esi + 0x58], 0
je 0x444eab
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4483f2
mov edi, 1
jmp 0x4446b8
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 0x444c07
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x444c6a
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x43aad0
mov eax, edi
sub eax, 1
je case.0x4455bf.14
jmp case.default.0x444bb8
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.00423fc0
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 0x44834d
cmp edi, 0xfffffc19
je 0x44834d
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x444d1f
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x4455bf.14
push ecx
call dword [0x56de08]
add esp, 4
jmp case.0x4455bf.14
test edi, edi
je 0x444d43
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x444bb8
push ecx
call dword [0x56de08]
add esp, 4
jmp case.default.0x444bb8
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 0x444de4
cmp dword [esi + 0x58], 0
je 0x444d77
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x444da0
push 0x134
call dword [0x56de0c]
mov edx, eax
add esp, 4
test edx, edx
je 0x448173
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 + 0x52b990]
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 0x43aad0
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x444cff
test edi, edi
jne case.default.0x444bb8
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x444e40
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x444e28
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
cmp al, 0x88
jb 0x448378
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x444e71
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
test edi, edi
jne case.default.0x444bb8
mov edx, dword [esi + 0x2c]
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 0x444e94
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x43ab53
test edi, edi
je case.0x43ca86.10
jmp case.default.0x444bb8
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448402
mov edi, 0xfffffc1b
jmp 0x4446bc
cmp edi, 0xfffffc1b
jne 0x444efd
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x444eff
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x445d11
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x444f3a
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.004493f0
add esp, 0x14
test eax, eax
jns 0x444fc1
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x444f9f
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edi, dword [ebp + 0x78]
jb case.0x4455bf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x43e54e
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x444ff5
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
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.0x4468ec
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44504d
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44509d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4455bf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4455bf.14
jmp 0x43bb2f
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.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4450ee
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x4468ec
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44513d
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44518d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4455bf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4455bf.14
jmp 0x43bb2f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4451a4
cmp dword [esi + 0x94], ecx
jne case.0x4455bf.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4451d7
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x445764
dec dword [esi + 8]
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x445226
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e53a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44529f
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x445764
dec dword [esi + 8]
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4452ee
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44533e
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4455bf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4455bf.14
jmp 0x43bb2f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4455bf.14
cmp dword [esi + 0x94], ecx
je case.0x4455bf.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44538c
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4453db
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e53a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x445454
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4454a3
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4454ef
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x43e54e
cmp dword [esi + 0x7c], 0xc
jne 0x44553e
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x445519
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044b2e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x44553e
jmp case.0x4455bf.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x44553e
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44553e
cmp edi, 1
je case.0x4455bf.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4455bf.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.0x44686a.15
jmp dword [eax*4 + 0x449058]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x445559.13
cmp edx, dword [ebp + 0x78]
jb case.0x445559.13
cmp dword [ebp + 0x18], 0
jne case.0x445559.13
cmp dword [ebp + 0x1c], 2
jne case.0x445559.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x445559.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x445559.13
jmp 0x4481d5
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4455bf.14
movzx eax, byte [ecx + 0x4490a8]
jmp dword [eax*4 + 0x449098]
cmp edx, dword [ebp + 0x78]
jae case.0x445559.13
cmp byte [edx], 0xa
jne case.0x445559.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x445559.13
cmp dword [ebp + 0x68], 0
je case.0x445559.13
jmp case.0x4455bf.14
cmp ecx, 9
je case.0x4455bf.14
cmp ecx, 0x20
je case.0x4455bf.14
cmp ecx, 0xa0
jne case.0x445559.13
jmp case.0x4455bf.14
cmp ecx, 9
je case.0x445559.13
cmp ecx, 0x20
je case.0x445559.13
cmp ecx, 0xa0
je case.0x445559.13
jmp case.0x4455bf.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x445559.13
movzx eax, byte [ecx + 0x44912c]
jmp dword [eax*4 + 0x449124]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4455bf.14
movzx eax, byte [ecx + 0x4491b0]
jmp dword [eax*4 + 0x4491a8]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x445559.13
jmp case.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x445559.13
jmp case.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x445559.13
jmp case.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x445559.13
jmp case.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x445559.13
jmp case.0x4455bf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4456ee
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x445725
cmp eax, dword [esi + 0x30]
jbe 0x445725
cmp byte [eax], 0xa
jne 0x445725
dec eax
cmp byte [eax], 0xd
jne 0x445725
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44575a
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x43aad0
cmp edi, 0xfffffc1a
jne 0x4457f1
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 0x4457e9
mov edx, dword [esi + 0xc]
jmp 0x4457d0
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 0x4457d0
jmp 0x445846
mov dword [esi + 8], eax
jmp 0x44586b
cmp edi, 0xfffffc20
jne 0x445824
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.0x444bb8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44582c
cmp byte [ecx], 0x77
jmp 0x445826
test edi, edi
jne case.default.0x444bb8
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 0x44585f
cmp dword [esi + 0x5c], 0
jne 0x444eab
cmp dword [esi + 0x54], 0
jne 0x444eab
jmp case.0x4455bf.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x445881
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4458aa
push 0x134
call dword [0x56de0c]
mov edx, eax
add esp, 4
test edx, edx
je 0x448173
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 0x444db3
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x4459b7
jmp 0x4447e9
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4447e9
test eax, eax
je 0x448412
mov edi, 0xfffffc1c
jmp 0x4446bc
test edi, edi
je 0x44596d
jmp case.default.0x444bb8
cmp edi, 1
je 0x44590b
cmp edi, 0xfffffc19
jne 0x445925
cmp dword [ebp + 0xac], 0
jne 0x445925
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x444bb8
cmp edi, 0xfffffc1f
jne case.default.0x444bb8
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x445960
test dl, dl
je 0x44595c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x445960
add eax, 2
add ecx, 2
test dl, dl
jne 0x445940
xor eax, eax
jmp 0x445965
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x444bb8
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448422
mov edi, 0xfffffc1e
jmp 0x4446bc
cmp edi, 1
je 0x445996
cmp edi, 0xfffffc19
jne 0x4459ab
cmp dword [ebp + 0xac], 0
jne 0x4459ab
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4447e9
test eax, eax
je 0x448432
mov edi, 0xfffffc1d
jmp 0x4446bc
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448442
mov edi, 0xfffffc1f
jmp 0x4446bc
cmp edi, 1
je 0x4459fd
cmp edi, 0xfffffc19
jne case.0x4446cc.54
cmp dword [ebp + 0xac], 0
jne case.0x4446cc.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448452
mov edi, 0xfffffc20
jmp 0x4446bc
cmp edi, 0xfffffc1a
jne 0x445aa4
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 0x445a9c
mov edx, dword [esi + 0xc]
jmp 0x445a80
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 0x445a80
jmp 0x445b09
mov dword [esi + 8], eax
jmp 0x43b702
cmp edi, 0xfffffc20
jne 0x445ad7
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.0x444bb8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x445adf
cmp byte [ecx], 0x77
jmp 0x445ad9
test edi, edi
jne case.default.0x444bb8
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 0x43b702
cmp dword [esi + 0x5c], 0
jne 0x445b49
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 0x43b1ba
cmp dword [esi + 0x5c], 0
jne 0x43b1ba
jmp case.0x4455bf.14
cmp edi, 1
jne 0x445c0f
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x445b82
cmp al, 0x77
jne case.0x4455bf.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 0x445b82
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 0x43d2c2
cmp ecx, dword [esi + 0x38]
je 0x43d2c2
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x445cb8
test ecx, ecx
jne 0x445bf4
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
cmp edi, 0xfffffc20
jne 0x445c42
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.0x444bb8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x445c4a
cmp byte [ecx], 0x77
jmp 0x445c44
test edi, edi
jne case.default.0x444bb8
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 0x445b71
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x445c9d
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
test ecx, ecx
jne 0x445cde
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
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 0x44576d
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x43aae0
test edi, edi
jne case.default.0x444bb8
add dword [esi + 0xc], 3
jmp 0x43aae0
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e53a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x445e26
cmp edx, 0xc0
jb 0x445e26
test dl, 0x20
jne 0x445d76
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x445e23
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x445d9d
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x445e23
test dl, 8
jne 0x445dc0
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 0x445e23
test dl, 4
jne 0x445def
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 0x445e23
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.0044abc0
add esp, 0xc
test eax, eax
je case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x445e6a
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x4455bf.14
test ebx, ebx
je 0x445eac
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x445eac
nop
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x445ea0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x445ed5
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x445f1f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x43e54e
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x446017
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x445f51
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x446010
test bl, 0x10
jne 0x445f72
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 0x446010
test bl, 8
jne 0x445f9f
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 0x446010
test bl, 4
jne 0x445fd5
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 0x446010
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 0x44603e
cmp dword [esi + 0x9c], 0x6e
jne 0x446055
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448482
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x4446bc
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 0x446025
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x446084
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x4468ec
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4460c1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4460b5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4460ea
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.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 0x44617f
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x446142
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x446147
add ecx, 4
add edx, 4
sub edi, 4
jae 0x446131
cmp edi, 0xfffffffc
je 0x446174
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44617c
cmp edi, 0xfffffffd
je 0x446174
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44617c
cmp edi, 0xfffffffe
je 0x446174
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44617c
cmp edi, 0xffffffff
je 0x446174
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44617c
mov eax, dword [esi + 0x88]
jmp 0x4461ea
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x44622d
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x44622d
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4461b1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4461b6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4461a0
cmp edi, 0xfffffffc
je 0x4461e7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44622d
cmp edi, 0xfffffffd
je 0x4461e7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44622d
cmp edi, 0xfffffffe
je 0x4461e7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44622d
cmp edi, 0xffffffff
je 0x4461e7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44622d
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 0x44621e
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x445764
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4468ec
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4468ec
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x4468ec
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4468ec
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448472
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4446bc
test edi, edi
jne case.default.0x444bb8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44629d
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x446291
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4462d2
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e53a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x446402
test dl, 0x20
jne 0x44633c
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 0x446402
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x446368
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 0x446402
test dl, 8
jne 0x446393
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 0x446402
test dl, 4
jne 0x4463c7
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 0x446402
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.0x4455bf.14
cmp dword [esi + 0x94], eax
je case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x446449
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44647c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x446470
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4464b1
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x446501
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4455bf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4455bf.14
jmp 0x43bb2f
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x10], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x446609
mov cl, byte [eax]
test bl, 0x20
jne 0x44652e
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x446601
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x446552
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 0x446601
test bl, 8
jne 0x44658d
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
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 0x446609
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4465cb
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
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 0x446601
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
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.0x4468ec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x446644
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44667c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x446670
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4466b1
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4466fd
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x43e54e
cmp dword [esi + 0x7c], 0xc
jne 0x44674c
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x446727
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044b2e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x44674c
jmp case.0x4455bf.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x44674c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44674c
cmp edi, 1
je case.0x4455bf.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4455bf.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 + 0x10], edi
mov ebx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x44685b
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x446799
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x446840
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4467ba
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x446840
test dl, 8
jne 0x4467dd
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 0x446840
test dl, 4
jne 0x44680c
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 0x446840
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 + 0x10], edi
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x44686a.15
jmp dword [eax*4 + 0x44922c]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44686a.13
mov eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x78]
jb case.0x44686a.13
cmp dword [ebp + 0x18], 0
jne case.0x44686a.13
cmp dword [ebp + 0x1c], 2
jne case.0x44686a.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x44686a.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x44686a.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448472
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4446bc
cmp edx, 0x85
ja 0x446905
je case.0x4468ec.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4468ec
jmp dword [edx*4 + 0x44926c]
cmp edi, dword [ebp + 0x78]
jae case.0x44686a.13
cmp byte [edi], 0xa
jne case.0x44686a.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x44686a.13
sub edx, 0x2028
je case.0x4468ec.11
sub edx, 1
jne case.default.0x4468ec
cmp dword [ebp + 0x68], 0
je case.0x44686a.13
jmp case.default.0x4468ec
cmp edx, 0x2000
ja 0x4469a5
je case.default.0x4468ec
cmp edx, 0xa0
ja 0x446991
je case.default.0x4468ec
cmp edx, 9
je case.default.0x4468ec
cmp edx, 0x20
je case.default.0x4468ec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x446982
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x445764
cmp edx, 0x1680
je case.default.0x4468ec
cmp edx, 0x180e
jmp 0x44694d
cmp edx, 0x3000
ja case.0x44686a.13
je case.default.0x4468ec
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x44686a.13
movzx eax, byte [edx + 0x449284]
jmp dword [eax*4 + 0x44927c]
cmp edx, 0x2000
ja 0x446a1c
je case.0x44686a.13
cmp edx, 0xa0
ja 0x4469ff
je case.0x44686a.13
cmp edx, 9
je case.0x44686a.13
cmp edx, 0x20
je case.0x44686a.13
jmp case.default.0x4468ec
cmp edx, 0x1680
je case.0x44686a.13
cmp edx, 0x180e
je case.0x44686a.13
jmp case.default.0x4468ec
cmp edx, 0x3000
ja case.default.0x4468ec
je case.0x44686a.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x4468ec
movzx eax, byte [edx + 0x4492ec]
jmp dword [eax*4 + 0x4492e4]
cmp edx, 0x85
ja 0x446a6c
je case.default.0x4468ec
add edx, 0xfffffff6
cmp edx, 3
ja case.0x44686a.13
jmp dword [edx*4 + 0x44934c]
sub edx, 0x2028
je case.default.0x4468ec
sub edx, 1
jne case.0x44686a.13
jmp case.default.0x4468ec
cmp edx, 0x85
ja 0x446aa7
je case.0x44686a.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4468ec
jmp dword [edx*4 + 0x44935c]
sub edx, 0x2028
je case.0x44686a.13
sub edx, 1
je case.0x44686a.13
jmp case.default.0x4468ec
cmp ecx, 0x100
jae case.0x44686a.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x44686a.13
jmp case.default.0x4468ec
cmp ebx, 0x100
jae case.default.0x4468ec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x44686a.13
jmp case.default.0x4468ec
cmp dword [esp + 0x18], 0x100
jae case.0x44686a.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x44686a.13
jmp case.default.0x4468ec
cmp dword [esp + 0x14], 0x100
jae case.default.0x4468ec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x44686a.13
jmp case.default.0x4468ec
cmp dword [esp + 0x1c], 0x100
jae case.0x44686a.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x44686a.13
jmp case.default.0x4468ec
cmp dword [esp + 0x20], 0x100
jae case.default.0x4468ec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x44686a.13
jmp case.default.0x4468ec
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x4446cc
mov edi, 0xfffffff2
jmp 0x4446b8
test edi, edi
jne case.default.0x444bb8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x446bbc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x446bb0
cmp dword [esi + 0x7c], 0x11
jne 0x446bd5
cmp ecx, dword [esi + 0x30]
jbe 0x446bd5
cmp byte [ecx], 0xa
jne 0x446bd5
dec ecx
cmp byte [ecx], 0xd
jne 0x446bd5
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x446c0a
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x446c5a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4455bf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4455bf.14
jmp 0x43bb2f
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x446c9d
cmp ecx, 0xc0
jb 0x446c9d
test cl, 0x20
jne 0x446c79
lea eax, [edx + 1]
jmp 0x446c9a
test cl, 0x10
jne 0x446c83
add eax, 3
jmp 0x446c9a
test cl, 8
jne 0x446c8d
add eax, 4
jmp 0x446c9a
test cl, 4
jne 0x446c97
add eax, 5
jmp 0x446c9a
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x446cd6
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x446d20
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edx, dword [ebp + 0x84]
jmp 0x43e54e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x446e1f
cmp eax, 0xc0
jb 0x446e1f
test al, 0x20
jne 0x446d58
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x446e1a
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x446d7e
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 0x446e1a
test al, 8
jne 0x446daa
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 0x446e1a
test al, 4
jne 0x446ddf
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 0x446e1a
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 + 0x52d318]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
cmp eax, 9
je 0x446e54
cmp eax, 5
je 0x446e54
cmp eax, 8
je 0x446e54
xor eax, eax
jmp 0x446e59
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x446e91
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x446edb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edx, dword [ebp + 0x84]
jmp 0x43e54e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x446fea
cmp eax, 0xc0
jb 0x446fea
test al, 0x20
jne 0x446f13
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x446fe5
test al, 0x10
jne 0x446f3b
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 0x446fe5
test al, 8
jne 0x446f6f
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 0x446fe5
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x446faa
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 0x446fe5
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 + 0x52d318]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x447053
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44709d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edx, dword [ebp + 0x84]
jmp 0x43e54e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4471ab
cmp eax, 0xc0
jb 0x4471ab
test al, 0x20
jne 0x4470d5
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4471a6
test al, 0x10
jne 0x4470fb
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 0x4471a6
test al, 8
jne 0x44712d
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 0x4471a6
test al, 4
movzx eax, byte [edx]
jne 0x447168
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 0x4471a6
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 + 0x52d318]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44720d
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x447257
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edx, dword [ebp + 0x84]
jmp 0x43e54e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x447365
cmp eax, 0xc0
jb 0x447365
test al, 0x20
jne 0x44728f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x447360
test al, 0x10
jne 0x4472b5
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 0x447360
test al, 8
jne 0x4472e7
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 0x447360
test al, 4
movzx eax, byte [edx]
jne 0x447322
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 0x447360
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 + 0x52d318]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc98]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4473c7
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x447411
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edx, dword [ebp + 0x84]
jmp 0x43e54e
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 0x44750e
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x44750e
test al, 0x20
jne 0x44744e
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x4474fd
test al, 0x10
jne 0x44746e
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 0x4474fd
test al, 8
jne 0x447497
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 0x4474fd
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4474ca
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 0x4474fd
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 + 0x10], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x52d318]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc9a]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x10], edx
jae 0x447685
mov dword [esp + 0x10], edx
jmp 0x447550
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x44762c
cmp edx, 0xc0
jb 0x44762c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x447591
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x447628
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4475ac
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x447622
and eax, 0x3f
test dl, 8
jne 0x4475cc
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x447622
test dl, 4
jne 0x4475f5
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 0x447622
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 + 0x52d318]
mov edx, dword [esp + 0x10]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx ecx, byte [eax*8 + 0x52bc9a]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x52bb20], eax
mov ebp, dword [esp + 0xb0]
je 0x447685
add edi, ebx
mov dword [esp + 0x18], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x10], edx
cmp edi, edx
jb 0x447550
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4476c4
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x4476c4
cmp eax, dword [ebp + 0x84]
jbe 0x4476c4
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4476c4
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448472
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4446bc
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4476f3
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x44772c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44772c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x447720
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43aae0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x447761
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x44778b
movzx edx, byte [edi]
jmp 0x447851
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x44779f
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x447793
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x447853
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4477ce
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x44784f
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4477e1
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x447849
and eax, 0x3f
test dl, 8
jne 0x4477fc
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x447849
test dl, 4
jne 0x447820
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 0x447849
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 + 0x52d318]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx ebx, byte [eax*8 + 0x52bc9a]
mov eax, edi
cmp eax, dword [esi + 0x30]
jbe 0x43aae0
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x447894
movzx edx, byte [edi]
jmp 0x44795f
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4478b0
mov edi, edi
mov al, byte [edx - 1]
lea edi, [edx - 1]
mov cl, al
mov edx, edi
and al, 0xc0
cmp al, 0x80
je 0x4478a0
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x447961
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4478dc
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x44795d
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4478ef
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x447957
and eax, 0x3f
test dl, 8
jne 0x44790a
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x447957
test dl, 4
jne 0x44792e
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 0x447957
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 + 0x52d318]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x52f518]
movzx edx, byte [eax*8 + 0x52bc9a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52bb20], eax
je 0x443348
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x447875
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4479de
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edx, dword [ebp + 0x84]
jmp 0x43e54e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x447aee
cmp eax, 0xc0
jb 0x447aee
test al, 0x20
jne 0x447a16
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x447ae9
test al, 0x10
jne 0x447a3c
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 0x447ae9
test al, 8
jne 0x447a6e
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 0x447ae9
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x447aab
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 0x447ae9
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 + 0x52d318]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x447b25
cmp eax, 3
je 0x447b25
xor eax, eax
jmp 0x447b2a
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x447b62
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e53a
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 + 0x10], edx
je 0x447cc3
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x447cc3
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x447beb
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 0x447cc7
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x447c17
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 0x447cc7
test dl, 8
jne 0x447c48
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 0x447cc7
test dl, 4
jne 0x447c82
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 0x447cc7
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 0x447cc7
mov edi, dword [esp + 0x10]
cmp ecx, 0x24
je 0x447cf2
cmp eax, 0x40
je 0x447cf2
cmp ebx, 0x60
je 0x447cf2
cmp edi, 0xa0
jb 0x447ce6
cmp edx, 0xd7ff
jbe 0x447cf2
cmp edx, 0xe000
jae 0x447cf2
xor eax, eax
jmp 0x447cf7
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4468ec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x447d2f
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x445764
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e53a
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 + 0x10], edx
mov ebx, edx
mov dword [esp + 0x18], edx
je 0x447e71
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x447e71
test dl, 0x20
jne 0x447db3
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x447e60
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x447dda
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x447e60
test dl, 8
jne 0x447dfd
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 0x447e60
test dl, 4
jne 0x447e2c
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 0x447e60
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 + 0x10], edx
mov eax, edx
mov ebx, edx
mov dword [esp + 0x18], edx
cmp dword [esp + 0x10], 0x20
mov edi, edx
ja 0x447e92
cmp eax, 0x20
je case.0x447f98.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x447f98.8203
jmp dword [eax*4 + 0x44936c]
cmp edx, 0x2000
ja 0x447f6c
cmp ecx, 0x2000
je case.0x447f98.8193
cmp edi, 0x1680
ja 0x447f61
cmp edx, 0x1680
je case.0x447f98.8193
mov eax, edx
sub eax, 0x85
je case.0x447f98.8193
sub eax, 0x1b
je case.0x447f98.8193
mov eax, edx
test eax, eax
jns 0x447ee1
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x52d318]
shl eax, 7
and edx, 0x8000007f
jns 0x447efb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
cmp dword [eax*4 + 0x52baa8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4468ec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x447f52
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x448173
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x445764
cmp edx, 0x180e
jmp 0x447ed2
cmp ebx, 0x3000
ja case.0x447f98.8203
cmp dword [esp + 0x18], 0x3000
je case.0x447f98.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x447f98.8203
movzx eax, byte [eax + 0x449388]
jmp dword [eax*4 + 0x449380]
cmp dword [esi + 0x68], 0
je 0x447f23
jmp case.default.0x4468ec
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x447fe9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edx, dword [ebp + 0x84]
jmp 0x43e54e
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 0x448100
cmp eax, 0xc0
jb 0x448100
test al, 0x20
jne 0x448026
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x4480f9
test al, 0x10
jne 0x44804c
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 0x4480f9
test al, 8
jne 0x44807e
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 0x4480f9
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4480bb
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 0x4480f9
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 + 0x52d318]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x52f518]
movzx eax, byte [eax*8 + 0x52bc99]
mov eax, dword [eax*4 + 0x52baa8]
cmp eax, 1
je 0x44813c
cmp eax, 3
je 0x44813c
cmp ebx, 0x5f
je 0x44813c
xor eax, eax
jmp 0x448141
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4468ec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44838a
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x448380
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44848f
mov edi, 0xfffffffa
jmp 0x4446b8
test edi, edi
jne case.default.0x444bb8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4455bf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4481eb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4455bf.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4455bf.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4455bf.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448472
mov edi, 0xfffffff4
jmp 0x4446bc
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x4482d3
cmp edx, 0xc0
jb 0x4482d3
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x448227
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4482ce
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x448248
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4482ce
test dl, 8
jne 0x44826b
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 0x4482ce
test dl, 4
jne 0x44829a
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 0x4482ce
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 + 0x52bb58]
lea eax, [eax*4 + 0x52bb58]
jb 0x4482f5
mov ecx, dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x44830e
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4482e8
cmp dword [esi + 0x68], 0
jne 0x448314
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x448482
xor edi, edi
jmp 0x4446bc
cmp dword [esi + 0x68], 0
jne case.0x4455bf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4483a3
push 0x134
call dword [0x56de0c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x448399
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44848f
lea edi, [ecx - 6]
jmp 0x4446bc
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x448364
push ecx
call dword [0x56de08]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x43ab53
mov dword [esi + 0xc], ecx
jmp 0x43aae0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x445764
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x445764
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