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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1c], eax
lea ecx, [ecx]
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov edi, edi
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x4c]
mov dword [esp + 0x8c], edi
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, ecx
jb 0x44c4fe
mov esi, dword [esi]
test esi, esi
je 0x45a1a1
mov edi, 0xfffffff8
jmp 0x455da9
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x44c51a
mov esi, dword [esi]
test esi, esi
je 0x45a1ae
mov edi, 0xffffffeb
jmp 0x455da9
cmp dword [ebp + 0x98], 2
jne 0x44c551
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
jmp 0x44c551
add dword [esi + 0xc], 3
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ebx
movzx edx, byte [eax]
mov dword [esi + 0x9c], edx
cmp edx, 0xa1
ja case.0x44c584.98
movzx eax, byte [edx + 0x45a3bc]
jmp dword [eax*4 + 0x45a270]
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 0x459a05
push 0x134
call dword [0x1de7368]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4599ff
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov edx, dword [esi + 4]
test edx, edx
jne 0x459a55
push 0x134
call dword [0x1de7368]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459a4f
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov edx, dword [esi + 4]
test edx, edx
jne 0x459a73
push 0x134
call dword [0x1de7368]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459a6d
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
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 0x459a91
push 0x134
call dword [0x1de7368]
mov edi, eax
add esp, 4
test edi, edi
jne 0x459a8b
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov edx, dword [esi + 4]
test edx, edx
jne 0x459aa6
push 0x134
call dword [0x1de7368]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459aa0
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x44c6de
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x510fc0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x44c551
mov edi, dword [esi + 4]
test edi, edi
jne 0x459ac4
push 0x134
call dword [0x1de7368]
mov edi, eax
add esp, 4
test edi, edi
jne 0x459abe
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov edx, dword [esi + 4]
test edx, edx
jne 0x459ad9
push 0x134
call dword [0x1de7368]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459ad3
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
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 0x459af7
push 0x134
call dword [0x1de7368]
mov edi, eax
add esp, 4
test edi, edi
jne 0x459af1
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
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 0x4572e8
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.0x44c584.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 0x455e4b
mov dword [esi + 0x54], ebx
jmp 0x44cfef
mov dword [esi + 0x54], ebx
jmp 0x44d013
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x76
jne 0x44c958
mov edi, dword [0x1dec628]
test edi, edi
je 0x44c944
mov dword [esp + 0x10], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x44c8fe
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x44c933
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455da9
jns 0x44c944
mov esi, dword [esi]
test esi, esi
je 0x45628c
jmp 0x455da9
movzx eax, byte [0x511036]
add dword [esi + 0xc], eax
movzx eax, byte [0x511036]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx]
mov dword [esp + 0x88], edx
lea eax, [edx - 0x8d]
cmp eax, 0x10
ja case.0x44c97e.146
movzx eax, byte [eax + 0x45a478]
jmp dword [eax*4 + 0x45a460]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x44c97e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x44c9b7
cmp edx, dword [edi + 4]
je 0x44c9b7
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x4560e3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x4560e3
cmp dword [ebp + 0xa4], ebx
je case.0x44c97e.145
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edi, byte [ecx + 1]
shl ebx, 8
shl edi, 8
or ebx, eax
movzx eax, byte [ecx + 2]
or edi, eax
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
test ebx, ebx
jle case.0x44c97e.145
lea esp, [esp]
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
dec ebx
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x58], ecx
test ecx, ecx
jne 0x4560e3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x44ca00
jmp 0x4560e3
mov eax, dword [esi + 0xc]
movzx ecx, byte [ecx + 1]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x44ca64
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x44ca64
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x44c97e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x44c97e.145
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ecx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
jle 0x4560e3
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 0x44cab9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x44cac8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x44ca97
jmp 0x4560e3
mov dword [esi + 0x58], 1
jmp 0x4560e3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459b0c
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459b06
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
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 0x44cb64
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44c546
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jl 0x44c546
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x44cbb3
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
jmp 0x44c546
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x44cc06
cmp edx, 0x9f
je 0x44cc06
cmp dword [ebp + 0xa4], ebx
jne 0x44cc06
cmp dword [ebp + 0x5c], ebx
jne 0x44cbf5
cmp dword [ebp + 0x60], ebx
je 0x44cc06
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x44cc06
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455da9
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov esi, dword [esi]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
test esi, esi
je 0x45628c
jmp 0x455da9
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x44cc5f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4561dd
mov dword [esi + 0x58], ebx
jmp 0x4561dd
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x44cc8b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x45632b
mov dword [esi + 0x58], ebx
jmp 0x45632b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x44ccf2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x44ccd8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x4534d6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44ccd4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44ccc8
test edx, edx
jg 0x44ccb0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x44c546
mov dword [ebp + 0x84], eax
jmp 0x44c546
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0xc]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jae 0x44ccd8
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455db0
mov edi, dword [0x1dec628]
test edi, edi
je 0x44cdfc
mov dword [esp + 0x44], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x44cdb6
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x44]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x44cdeb
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455da9
jns 0x44cdfc
mov esi, dword [esi]
test esi, esi
je 0x45628c
jmp 0x455da9
add dword [esi + 0xc], 6
jmp 0x44c54a
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 0x44ce26
xor edx, edx
jmp 0x44ce33
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 0x44ce53
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x44ce4d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x44ceb4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x44ce40
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 0x44cec8
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.00440a55
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x456414
mov esi, dword [esi]
test esi, esi
je 0x45a1d2
mov edi, 0xffffffe6
jmp 0x455da9
shl eax, 2
push eax
call dword [0x1de7360]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x44ce8e
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
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 0x44cef1
jmp 0x44c551
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459b47
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459b41
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x44cf50
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459b65
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459b5f
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x44cfa3
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x44c551
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x44cfef
cmp eax, 0x8b
jne 0x44d013
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 0x44d030
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 0x456efd
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 0x44d0ad
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x459ef7
push 0x134
call dword [0x1de7368]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459eed
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x44d108
cmp al, 0x81
je 0x44d108
mov dword [esi + 0x38], ebx
jmp 0x44d119
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 0x44d126
cmp al, 0x80
jbe 0x44d12a
cmp al, 0x82
jne 0x44d156
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a206
mov edi, 1
jmp 0x455da9
cmp al, 0x85
je 0x44d16a
cmp al, 0x8a
je 0x44d16a
cmp al, 0x86
je 0x44d16a
cmp al, 0x8b
jne 0x44d231
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 0x44d1a6
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x44d1a6
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x44d13c
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x98]
cmp ecx, dword [ebp + 0x14]
jl 0x44d1d5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44d231
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x44d1f5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x44d1f5
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x98]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x98]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x98]
cmp dword [esi + 0x14], eax
jg 0x44d231
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x44d267
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a1df
mov edi, 0xfffffc1a
jmp 0x455da9
cmp cl, 0x78
je 0x44d2e0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x44d2e0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x44d2ae
test ecx, ecx
jne 0x459b86
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459b80
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test ecx, ecx
jne 0x459ba7
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459ba1
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x456547
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459bc5
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459bbf
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
cmp dword [ebp + 0x44], ebx
je case.0x44c584.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x44c584.1
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455da9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x44d408
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455da9
cmp dword [ebp + 0x44], ebx
je 0x44d37a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44d37a
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455da9
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x44ddc4
cmp ecx, dword [ebp + 0x78]
je 0x44d3e0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44d3b8
cmp ecx, edx
jbe 0x44d3e0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045c430
add esp, 0x14
test eax, eax
jne 0x44ddc4
jmp 0x44d3e0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x44d3e0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44d3e0
cmp edi, 1
je 0x44ddc4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44ddc4
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455da9
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x44d345
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x44c551
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44d4ca
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44d445
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045c2e0
add esp, 0x14
test eax, eax
jne 0x44ddc4
jmp 0x44d469
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44d469
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44d469
cmp edx, 1
je 0x44ddc4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44ddc4
cmp dword [ebp + 0x88], ebx
je case.0x4534d6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x4534d6.14
cmp dword [ebp + 0x18], ebx
jne case.0x4534d6.14
cmp dword [edi], 2
jne case.0x4534d6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x4534d6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4534d6.14
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edi, 0xfffffff4
jmp 0x455da9
cmp dword [ebp + 0x48], ebx
jne 0x44d34b
cmp dword [ebp + 0x88], ebx
je 0x44ddc4
cmp ecx, dword [ebp + 0x84]
jbe 0x44ddc4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ddc4
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edi, 0xfffffff4
jmp 0x455da9
cmp dword [ebp + 0x48], ebx
jne 0x44d34b
cmp dword [ebp + 0x58], ebx
je case.0x44c584.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44d34b
cmp dword [ebp + 0x88], ebx
je 0x44d408
cmp eax, dword [ebp + 0x84]
jbe 0x44d408
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44d408
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edi, 0xfffffff4
jmp 0x455da9
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44d5d5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44d59d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045c2e0
add esp, 0x14
test eax, eax
jne 0x44d5c5
jmp 0x44d469
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44d469
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44d469
cmp edx, 1
je 0x44d5c5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x44d469
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x44d469
cmp dword [ebp + 0x88], ebx
je 0x44ddc4
cmp ecx, dword [ebp + 0x84]
jbe 0x44ddc4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ddc4
jmp 0x44d4b6
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44d8d7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x44d625
mov dword [esi + 0x5c], ebx
jmp 0x44d75e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x44d63a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x44d630
cmp edx, dword [ebp + 0x84]
jae 0x44d648
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44d6fc
test bl, 0x20
jne 0x44d670
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x44d6fc
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44d68a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x44d6f2
and eax, 0x3f
test bl, 8
jne 0x44d6a5
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44d6f2
test bl, 4
jne 0x44d6c9
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x44d6f2
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp dword [ebp + 0x54], 0
je 0x44d797
cmp ebx, 0x5f
jne 0x44d714
mov dword [esi + 0x5c], 1
jmp 0x44d75e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44d736
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x44d7a8
cmp eax, 3
je 0x44d7a8
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44d7af
cmp dword [ebp + 0x88], 0
je 0x44d78b
cmp edx, dword [ebp + 0x84]
jbe 0x44d78b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
mov dword [esi + 0x54], 0
jmp 0x44da15
cmp ebx, 0x100
jae 0x44d759
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44d759
mov eax, 1
jmp 0x44d75b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44d859
test bl, 0x20
jne 0x44d7cf
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x44d851
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44d7e9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x44d851
and eax, 0x3f
test bl, 8
jne 0x44d804
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x44d851
test bl, 4
jne 0x44d828
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 0x44d851
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x54], 0
je 0x44d8bc
cmp ebx, 0x5f
jne 0x44d870
mov dword [esi + 0x54], 1
jmp 0x44da15
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44d892
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x44d8cd
cmp eax, 3
je 0x44d8cd
xor eax, eax
jmp 0x44da12
cmp ebx, 0x100
jae 0x44d8b5
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44d8b5
mov eax, 1
jmp 0x44da12
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44d8e7
mov dword [esi + 0x5c], ebx
jmp 0x44d982
cmp eax, dword [ebp + 0x84]
ja 0x44d8f6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x44d96e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x44d910
mov dword [esi + 0x5c], 1
jmp 0x44d982
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d932
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x44d960
cmp eax, 3
je 0x44d960
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x44d97f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x44d97f
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44d9c3
cmp dword [ebp + 0x88], ebx
je 0x44d9be
cmp eax, dword [ebp + 0x84]
jbe 0x44d9be
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44d9be
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edi, 0xfffffff4
jmp 0x455db0
mov dword [esi + 0x54], ebx
jmp 0x44da15
cmp dword [ebp + 0x54], ebx
je 0x44da02
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x44d9d9
mov dword [esi + 0x54], 1
jmp 0x44da15
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d9fb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x44d894
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x44da30
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x44da38
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x44c551
jmp 0x44d34b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x44da7d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x44daa8
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0045c2e0
add esp, 0x14
test eax, eax
jne 0x44d34b
jmp 0x44daa8
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x44daa8
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44daa8
cmp edx, 1
je 0x44d34b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44d34b
cmp dword [ebp + 0x88], ebx
je case.0x44c584.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x44c584.13
cmp dword [ebp + 0x18], ebx
jne case.0x44c584.13
cmp dword [ebp + 0x1c], 2
jne case.0x44c584.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x44c584.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44db06
cmp dword [ebp + 0x88], ebx
je case.0x4534d6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4534d6.14
jmp 0x44d4a2
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x44d408
cmp eax, dword [ebp + 0x78]
jae 0x44d408
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44d408
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x44db22
inc dword [esi + 0xc]
jmp 0x44c551
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44dae9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x44c551
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x44db7d
cmp dword [ebp + 0x88], ebx
je case.0x4534d6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4534d6.14
jmp 0x44d4a2
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44dc79
cmp ebx, 0xc0
jb 0x44dc79
test bl, 0x20
jne 0x44dbba
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44dc76
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44dbe4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44dc79
mov edx, dword [esi + 8]
test bl, 8
jne 0x44dc0a
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44dc6d
test bl, 4
jne 0x44dc39
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44dc6d
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x44ddc4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44ddc4
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455db0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44ddab
cmp ebx, 0xc0
jb 0x44ddab
test bl, 0x20
jne 0x44dcec
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44dda8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44dd16
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44ddab
mov edx, dword [esi + 8]
test bl, 8
jne 0x44dd3c
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44dd9f
test bl, 4
jne 0x44dd6b
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44dd9f
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x44cd0d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44cd0d
inc dword [esi + 0xc]
jmp 0x44c54a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44ded4
cmp ebx, 0xc0
jb 0x44ded4
test bl, 0x20
jne 0x44de15
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ded1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44de3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44ded4
mov edx, dword [esi + 8]
test bl, 8
jne 0x44de65
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44dec8
test bl, 4
jne 0x44de94
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44dec8
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x44ddc4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x44dc8c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44dff4
cmp ebx, 0xc0
jb 0x44dff4
test bl, 0x20
jne 0x44df35
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44dff1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44df5f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44dff4
mov edx, dword [esi + 8]
test bl, 8
jne 0x44df85
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44dfe8
test bl, 4
jne 0x44dfb4
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44dfe8
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x44cd0d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x44cd0d
inc dword [esi + 0xc]
jmp 0x44c54a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e11d
cmp ebx, 0xc0
jb 0x44e11d
test bl, 0x20
jne 0x44e05e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e11a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e088
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e11d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e0ae
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44e111
test bl, 4
jne 0x44e0dd
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44e111
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x44ddc4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x44dc8c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e23d
cmp ebx, 0xc0
jb 0x44e23d
test bl, 0x20
jne 0x44e17e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e23a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e1a8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e23d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e1ce
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44e231
test bl, 4
jne 0x44e1fd
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44e231
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x44cd0d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44cd0d
inc dword [esi + 0xc]
jmp 0x44c54a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e366
cmp ebx, 0xc0
jb 0x44e366
test bl, 0x20
jne 0x44e2a7
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e363
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e2d1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e366
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e2f7
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44e35a
test bl, 4
jne 0x44e326
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44e35a
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xd
ja 0x44e3df
je 0x44e381
cmp ebx, 0xa
je 0x44ddc4
jbe 0x44dc92
cmp ebx, 0xc
jmp 0x44e3f9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44e3ca
cmp dword [ebp + 0x88], 0
je 0x44ddc4
cmp eax, dword [ebp + 0x84]
jbe 0x44ddc4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ddc4
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edi, 0xfffffff4
jmp 0x455db0
cmp byte [eax], 0xa
jne 0x44ddc4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x44c54a
cmp ebx, 0x85
je 0x44e3ff
cmp ebx, 0x2027
jbe 0x44dc92
cmp ebx, 0x2029
ja 0x44dc92
cmp dword [ebp + 0x68], 0
jmp 0x44dc8c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e510
cmp ebx, 0xc0
jb 0x44e510
test bl, 0x20
jne 0x44e451
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e50d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e47b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e510
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e4a1
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44e504
test bl, 4
jne 0x44e4d0
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44e504
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x44e548
je 0x44cd0d
cmp ebx, 0xa0
ja 0x44e53d
je 0x44cd0d
cmp ebx, 9
je 0x44cd0d
cmp ebx, 0x20
jmp 0x44ddbe
cmp ebx, 0x1680
jmp 0x44ddbe
cmp ebx, 0x205f
ja 0x44e579
je 0x44cd0d
cmp ebx, 0x2000
jb 0x44ddc4
cmp ebx, 0x200a
jbe 0x44cd0d
cmp ebx, 0x202f
jmp 0x44ddbe
cmp ebx, 0x3000
je 0x44cd0d
inc dword [esi + 0xc]
jmp 0x44c54a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e695
cmp ebx, 0xc0
jb 0x44e695
test bl, 0x20
jne 0x44e5d6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e692
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e600
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e695
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e626
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44e689
test bl, 4
jne 0x44e655
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44e689
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x44e6cd
je 0x44ddc4
cmp ebx, 0xa0
ja 0x44e6c2
je 0x44ddc4
cmp ebx, 9
je 0x44ddc4
cmp ebx, 0x20
jmp 0x44dc8c
cmp ebx, 0x1680
jmp 0x44dc8c
cmp ebx, 0x205f
ja 0x44e6fe
je 0x44ddc4
cmp ebx, 0x2000
jb 0x44dc92
cmp ebx, 0x200a
jbe 0x44ddc4
cmp ebx, 0x202f
jmp 0x44dc8c
cmp ebx, 0x3000
jmp 0x44dc8c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e811
cmp ebx, 0xc0
jb 0x44e811
test bl, 0x20
jne 0x44e752
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e80e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e77c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e811
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e7a2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44e805
test bl, 4
jne 0x44e7d1
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44e805
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x44e839
je 0x44dc92
cmp ebx, 0xa
jb 0x44ddc4
cmp ebx, 0xd
jbe 0x44dc92
inc dword [esi + 0xc]
jmp 0x44c54a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44ddc4
jmp 0x44dc92
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e955
cmp ebx, 0xc0
jb 0x44e955
test bl, 0x20
jne 0x44e896
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e952
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e8c0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e955
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e8e6
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44e949
test bl, 4
jne 0x44e915
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44e949
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x44e97a
je 0x44ddc4
cmp ebx, 0xa
jb 0x44cd0d
cmp ebx, 0xd
jbe 0x44ddc4
jmp 0x44cd0d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44cd0d
inc dword [esi + 0xc]
jmp 0x44c54a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44ea8d
cmp ebx, 0xc0
jb 0x44ea8d
test bl, 0x20
jne 0x44e9d9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ea8a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ea01
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x44ea8d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ea27
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x44ea8a
test bl, 4
jne 0x44ea56
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x44ea8a
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x512948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44eab0
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
movzx edx, word [ecx*2 + 0x514b48]
cmp eax, 0xa
ja case.default.0x44eaca
jmp dword [eax*4 + 0x45a48c]
cmp dword [esi + 0x9c], 0xf
jne 0x44c546
jmp 0x44d34b
mov al, byte [edx*8 + 0x5112c9]
cmp al, 9
je 0x44eafa
cmp al, 5
je 0x44eafa
cmp al, 8
je 0x44eafa
xor ecx, ecx
jmp 0x44eaff
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x44c546
jmp 0x44d34b
movzx ecx, byte [edx*8 + 0x5112c9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x5110d8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x44c546
jmp 0x44d34b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x5112c9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x44c546
jmp 0x44d34b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x5112c8]
jmp 0x44eb5b
movzx eax, byte [edx*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x44eafa
cmp eax, 3
je 0x44eafa
xor ecx, ecx
jmp 0x44eaff
cmp ebx, 0x180e
ja 0x44ebf3
je case.0x44eaca.0
cmp ebx, 0x85
ja 0x44ebdf
je case.0x44eaca.0
cmp ebx, 9
jb case.0x44ec13.8203
cmp ebx, 0xd
jbe case.0x44eaca.0
cmp ebx, 0x20
jmp 0x44ec2c
cmp ebx, 0xa0
je case.0x44eaca.0
cmp ebx, 0x1680
jmp 0x44ec2c
cmp ebx, 0x202f
ja 0x44ec1a
je case.0x44eaca.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x44ec13.8203
movzx eax, byte [ebx + 0x45a4c0]
jmp dword [eax*4 + 0x45a4b8]
cmp ebx, 0x205f
je case.0x44eaca.0
cmp ebx, 0x3000
je case.0x44eaca.0
movzx eax, byte [edx*8 + 0x5112c9]
xor ecx, ecx
cmp dword [eax*4 + 0x5110d8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x44eb67
movzx eax, byte [edx*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x44eafa
cmp eax, 3
je 0x44eafa
cmp ebx, 0x5f
je 0x44eafa
xor ecx, ecx
jmp 0x44eaff
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x511188]
lea eax, [eax*4 + 0x511188]
cmp ebx, ecx
jb 0x44ecad
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x44ecbf
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x44eca0
cmp dword [esi + 0x9c], 0x10
jne 0x44c546
jmp 0x44d34b
cmp dword [esi + 0x9c], 0x10
je 0x44c546
jmp 0x44d34b
cmp ebx, 0x24
je 0x44eafa
cmp ebx, 0x40
je 0x44eafa
cmp ebx, 0x60
je 0x44eafa
cmp ebx, 0xa0
jb 0x44ed00
cmp ebx, 0xd7ff
jbe 0x44eafa
cmp ebx, 0xe000
jae 0x44eafa
xor ecx, ecx
jmp 0x44eaff
mov esi, dword [esi]
test esi, esi
je case.default.0x455dc4
mov edi, 0xfffffff2
jmp 0x455da9
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x44ee32
cmp ebx, 0xc0
jb 0x44ee32
test bl, 0x20
jne 0x44ed70
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ee2f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ed9f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x8c]
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x44ee32
mov edx, dword [esi + 8]
test bl, 8
jne 0x44edc5
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x44ee28
test bl, 4
jne 0x44edf4
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x44ee28
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44ee54
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44efe6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x44ef7e
cmp ebx, 0xc0
jb 0x44ef7e
test bl, 0x20
jne 0x44eeb5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x44ef76
test bl, 0x10
jne 0x44eeda
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x44ef76
test bl, 8
jne 0x44ef08
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x44ef76
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x44ef42
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x44ef76
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44efa0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx ecx, byte [eax*8 + 0x5112ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x511150], eax
je 0x44efe6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x44ee80
cmp dword [ebp + 0x88], 0
je 0x44ddc4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44ddc4
cmp eax, dword [ebp + 0x84]
jbe 0x44ddc4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ddc4
jmp 0x44d4b6
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
movzx ebx, byte [ecx + 3]
movzx edx, byte [ecx + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
lea eax, [ecx + 5]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
jle 0x44f114
lea esp, [esp]
movzx ecx, byte [edx]
dec ebx
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [esi + 0x98], edi
cmp edi, dword [esi + 0x14]
jge 0x44f0a4
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x44f0ad
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x44f080
jmp 0x44f114
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x44f114
xor eax, eax
cmp edx, 0x72
sete al
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov edx, dword [esi + 0x98]
cmp edx, dword [esi + 0x14]
jge 0x44f104
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x44f104
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x44f10e
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x44f12f
movzx eax, byte [eax + 0x45a4f4]
jmp dword [eax*4 + 0x45a4ec]
add ecx, 0xffffff9e
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x80], ebx
movsx eax, byte [ecx + 0x510618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x510624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44f1bd
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x44f1bd
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x44f1b9
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x44c551
jns 0x44f1e1
cmp dword [esi + 0x90], 0
je 0x44c551
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44f21f
mov edi, edi
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0045a9f0
add esp, 0x14
test eax, eax
js 0x44f251
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x44f1f0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44c551
cmp dword [esp + 0x80], 0
je 0x44f27a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x456662
cmp eax, 0xfffffffe
jne 0x44f25c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x4534d6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4534d6.14
jmp 0x44daf5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x44f290
cmp edi, dword [esi + 0x8c]
jge 0x4566b1
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0045a9f0
add esp, 0x14
test eax, eax
js 0x44f2c5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x44f290
cmp eax, 0xfffffffe
jne 0x4566b1
cmp dword [ebp + 0x88], 0
je 0x4566b1
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4566b1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4566b1
jmp 0x44d4b6
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0045a9f0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x44f389
cmp eax, 0xfffffffe
jne 0x44f335
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x456c8d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x456c8d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x456c8d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x456c8d.14
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x455db4
add dword [esi + 8], eax
jmp 0x44c54a
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
add dword [esi + 0xc], 0x21
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x44f3b7
movzx eax, byte [eax + 0x45a504]
jmp dword [eax*4 + 0x45a4fc]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x44f3da
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x44f3e5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x510618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x510624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44f47c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x44f47c
xor ebx, ebx
cmp cl, 0x69
sete bl
xor eax, eax
cmp cl, 0x6d
mov dword [esp + 0x84], ebx
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x44f462
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x44f47c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44f5dc
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44f631
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x44f58c
test bl, 0x20
jne 0x44f4da
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44f589
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f501
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44f587
test bl, 8
jne 0x44f524
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44f587
test bl, 4
jne 0x44f553
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44f587
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x44f59d
cmp dword [esi + 0x9c], 0x6e
jmp 0x44f5b2
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44f4a0
jmp 0x44f623
cmp dword [ebp + 0x88], 0
je case.0x4534d6.14
mov eax, dword [esi + 8]
jmp 0x44daf5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44f62a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5c7
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.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f5f0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c54a
test ebx, ebx
je 0x44f65a
test edx, edx
jne 0x4598c7
mov dword [esi + 0x84], eax
jmp 0x45674b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x44f812
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x44f7ff
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x44f7d7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x44f786
test bl, 0x20
jne 0x44f6cb
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x44f786
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44f6f3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x44f77c
and eax, 0x3f
test bl, 8
jne 0x44f719
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x44f77c
test bl, 4
jne 0x44f748
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x44f77c
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0xff
jbe 0x44f797
cmp dword [esi + 0x9c], 0x6e
jmp 0x44f7ac
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x44f7ff
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x44f681
jmp 0x44f7ff
cmp dword [ebp + 0x88], 0
je 0x44f7ff
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44f7ff
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
je 0x45770c
jmp 0x44c54a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x44f88a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44f862
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 0x44f88a
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x44f821
jmp 0x44f88a
cmp dword [ebp + 0x88], 0
je 0x44f88a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44f88a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
je 0x45678b
jmp 0x44c54a
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x44f8d5
movzx eax, byte [eax + 0x45a518]
jmp dword [eax*4 + 0x45a510]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x44f8f8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x44f903
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x510618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x510624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44f99a
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x44f99a
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x84], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x44f980
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x44f99a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44fad5
jmp 0x44f9b0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44faaa
cmp edx, 0xc0
jb 0x44faaa
test dl, 0x20
jne 0x44f9f8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44faa7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44fa1f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44faa5
test dl, 8
jne 0x44fa42
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x44faa5
test dl, 4
jne 0x44fa71
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x44faa5
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.0045bc70
add esp, 0xc
test eax, eax
je case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f9b0
jmp 0x44fadc
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c551
cmp dword [esp + 0x84], 0
jne 0x4598d8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x44fc6d
jmp 0x44fb20
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44fc43
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x44fc0b
cmp edx, 0xc0
jb 0x44fc0b
test dl, 0x20
jne 0x44fb6c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x44fc0b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x44fb8b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x44fc01
and eax, 0x3f
test dl, 8
jne 0x44fbab
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x44fc01
test dl, 4
jne 0x44fbd4
and edx, 3
mov ebx, 5
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x44fc01
and edx, ebx
mov ebx, 6
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.0045bc70
add esp, 0xc
test eax, eax
je 0x44fc6d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x44fb20
jmp 0x44fc6d
cmp dword [ebp + 0x88], 0
je 0x44fc66
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44fc66
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x44d4b6
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x44c551
jmp 0x457521
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44fe59
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x44fde0
test al, 0x20
jne 0x44fce0
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x44fde0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x44fd1a
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x44fde0
test al, 8
jne 0x44fd56
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x44fde0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44fd9b
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x44fde0
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x44fe19
cmp dword [ebp + 0x88], ebx
je case.0x4534d6.14
cmp edx, edi
jb case.0x4534d6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4534d6.14
jmp 0x44d4a2
test ecx, ecx
jle 0x44fe4e
lea ecx, [ecx]
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.0x4534d6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x44fe20
dec dword [esi + 0x88]
jmp 0x44c54a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x44fea6
cmp dword [ebp + 0x88], ebx
je 0x44cd0d
cmp edi, dword [ebp + 0x84]
jbe 0x44cd0d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44cd0d
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edi, 0xfffffff4
jmp 0x455db0
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 0x4501bb
jmp 0x44d34b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db60
cmp dword [esp + 0x8c], ebx
je 0x45019c
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x45002b
test al, 0x20
jne 0x44ff2b
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x45002b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x44ff65
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x45002b
test al, 8
jne 0x44ffa1
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x45002b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44ffe6
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x45002b
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [esi + 0x80]
mov eax, dword [esi + 8]
cmp edi, 0x80
jae 0x450059
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x44d34b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x44c54a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x45013b
test bl, 0x20
jne 0x450089
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x450138
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4500b0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x450136
test bl, 8
jne 0x4500d3
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x450136
test bl, 4
jne 0x450102
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x450136
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edi, dword [esi + 0x80]
cmp edi, ebx
je 0x44c54a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x512948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x450175
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x514b48]
mov eax, dword [eax*8 + 0x5112cc]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x44c551
jmp 0x44d34b
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 0x44d34b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x44c54a
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 0x4502ed
mov dword [esp + 0x80], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x450224
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x45022f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x4502ed
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4502f4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x4502f4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x4502f4
mov ecx, dword [esi + 0xc]
cmp edx, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x84], eax
movsx eax, byte [edx + 0x510618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x510624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4502ed
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x450768
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 0x45043b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x450351
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x45043b
test bl, 0x10
jne 0x450386
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 0xc]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x45043b
mov ecx, dword [esi + 0xc]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x4503c4
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 0x45043b
test bl, 4
jne 0x4503fd
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 0x45043b
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 0x450777
cmp dword [esi + 0x9c], 0x2e
jb 0x4504ac
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x512948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x450483
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x514b48]
mov ecx, dword [eax*8 + 0x5112cc]
add ecx, edi
cmp ecx, edi
je 0x4504ac
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0045bc10
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x4504b3
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x4505e6
jmp 0x4504d0
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x90], ecx
cmp edi, eax
ja 0x450554
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x450508
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x450511
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4504f7
cmp edi, 0xfffffffc
je 0x4505c8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45054a
cmp edi, 0xfffffffd
je 0x4505c8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45054a
cmp edi, 0xfffffffe
je 0x4505c8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45054a
cmp edi, 0xffffffff
je 0x4505c8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4505c8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x44f25c
sub ecx, ebx
cmp edi, ecx
ja 0x44f25c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x450586
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45058b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x450575
cmp edi, 0xfffffffc
je 0x4505c8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44f25c
cmp edi, 0xfffffffd
je 0x4505c8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44f25c
cmp edi, 0xfffffffe
je 0x4505c8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44f25c
cmp edi, 0xffffffff
je 0x4505c8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44f25c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x4504d0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44c551
cmp dword [esp + 0x84], 0
jne 0x4598e9
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x450755
lea esp, [esp]
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x84], ecx
cmp edi, eax
ja 0x4506ac
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x450668
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x450671
add ecx, 4
add edx, 4
sub edi, 4
jae 0x450657
cmp edi, 0xfffffffc
je 0x450708
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4506a2
cmp edi, 0xfffffffd
je 0x450708
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4506a2
cmp edi, 0xfffffffe
je 0x450708
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4506a2
cmp edi, 0xffffffff
je 0x450708
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x450708
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x450728
sub ecx, ebx
cmp edi, ecx
ja 0x450728
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x4506d6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4506db
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4506c5
cmp edi, 0xfffffffc
je 0x450708
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x450728
cmp edi, 0xfffffffd
je 0x450708
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x450728
cmp edi, 0xfffffffe
je 0x450708
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x450728
cmp edi, 0xffffffff
je 0x450708
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x450728
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x450630
jmp 0x450755
cmp dword [ebp + 0x88], 0
je 0x450755
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x450755
cmp eax, dword [ebp + 0x84]
jbe 0x450755
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
je 0x4578cc
jmp 0x44c54a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x45086f
mov ecx, dword [ebp + 0x3c]
mov edx, 1
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x90], edx
jl 0x4507d4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5c7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4507c7
cmp dword [esi + 0x94], ecx
jne case.0x4534d6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x4507a4
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c54a
cmp dword [esp + 0x84], 0
je 0x4507fb
mov dword [esi + 0x84], eax
jmp 0x45682b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x450862
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45083a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45082b
cmp dword [esi + 0x94], ecx
jne 0x450862
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x450810
jmp 0x450862
cmp dword [ebp + 0x88], 0
je 0x450862
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x450862
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
test edi, edi
je 0x45686b
jmp 0x44c54a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4508aa
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x450880
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44c551
cmp dword [esp + 0x84], 0
je 0x4508d8
mov dword [esi + 0x84], eax
jmp 0x4568f8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45093c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x450914
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x45093c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4508f0
jmp 0x45093c
cmp dword [ebp + 0x88], 0
je 0x45093c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45093c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
je 0x456938
jmp 0x44c551
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x450974
cmp dword [ebp + 0x88], ebx
je case.0x4534d6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x4534d6.14
jmp 0x44d4a2
test edi, edi
je 0x450bec
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 0xc], edx
cmp ebx, 0xc0
jb 0x450a75
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x4509b2
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x450a72
test bl, 0x10
jne 0x4509d3
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x450a72
test bl, 8
jne 0x4509fe
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [edx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 0xc], 3
jmp 0x450a75
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x450a37
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x450a72
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esp + 0x80], edx
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x450b68
test dl, 0x20
jne 0x450aaf
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x450b5e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x450ad6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x450b5c
test dl, 8
jne 0x450af9
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x450b5c
test dl, 4
jne 0x450b28
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x450b5c
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esp + 0x80], edx
mov dword [esi + 8], eax
cmp dword [esi + 0x9c], 0x1f
jne 0x450b85
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x44c551
jmp 0x44d34b
cmp ebx, 0x7f
jbe 0x450bc2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x512948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x450bad
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x514b48]
mov ecx, dword [eax*8 + 0x5112cc]
add ecx, ebx
jmp 0x450bc9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x44d34b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x44c551
jmp 0x44d34b
mov eax, dword [esi + 0xc]
movzx edi, byte [ecx]
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x4534d6.14
cmp dword [esi + 0x9c], 0x20
jne 0x4501bb
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4534d6.14
add dword [esi + 0xc], 2
jmp 0x44c54a
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 0x450d86
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 0x450c8b
cmp al, 0x4f
je 0x450c8b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x450d86
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x450d86
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x450d86
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x450d86
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x450d86
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x450d86
mov ecx, dword [esi + 0xc]
cmp edx, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x48
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x84], ebx
movsx eax, byte [edx + 0x510618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x510624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x450d86
mov dword [esi + 0x8c], 0x7fffffff
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
mov edi, dword [esi + 0xc]
test edx, edx
je 0x450ee1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x450ee1
test al, 0x20
jne 0x450dd8
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x450ee1
test al, 0x10
jne 0x450e0b
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x450ee1
test al, 8
jne 0x450e4d
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x450ee1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x450e98
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 4
jmp 0x450eda
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 5
mov edx, dword [esp + 0x8c]
cmp dword [esi + 0x9c], 0x48
jb 0x451305
test edx, edx
je 0x450f3c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x450f3c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x512948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x450f20
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x514b48]
mov eax, dword [eax*8 + 0x5112cc]
add eax, edi
jmp 0x450f49
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x451090
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4510db
jmp 0x450f70
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x451069
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x450faa
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x451066
test cl, 0x10
jne 0x450fcb
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 0x451066
test cl, 8
jne 0x450ff5
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 0x451066
test cl, 4
jne 0x45102b
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 0x451066
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x4534d6.14
cmp dword [esi + 0x94], ecx
je case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x450f70
jmp 0x4510d4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x4510d4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5c7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4534d6.14
cmp dword [esi + 0x94], ecx
je case.0x4534d6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x4510a0
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c54a
test ebx, ebx
je 0x451104
test edx, edx
jne 0x4598fa
mov dword [esi + 0x84], eax
jmp 0x4569cf
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x45128d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45127a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x451252
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45122e
test dl, 0x20
jne 0x451162
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45122e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45118c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x45122c
test dl, 8
jne 0x4511b8
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x45122c
test dl, 4
jne 0x4511f0
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x45122c
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x45127a
cmp dword [esi + 0x94], edx
je 0x45127a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451124
jmp 0x45127a
cmp dword [ebp + 0x88], 0
je 0x45127a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45127a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
je 0x457aac
jmp 0x44c54a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4512f2
jmp 0x4512a0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4512ca
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4512f2
cmp dword [esi + 0x94], ecx
je 0x4512f2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4512a0
jmp 0x4512f2
cmp dword [ebp + 0x88], 0
je 0x4512f2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4512f2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
je 0x456a0f
jmp 0x44c54a
test edx, edx
je 0x451427
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x451465
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45140c
test dl, 0x20
jne 0x45135a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x451409
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x451381
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x451407
test dl, 8
jne 0x4513a4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x451407
test dl, 4
jne 0x4513d3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x451407
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x451320
jmp 0x45145e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x451465
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451434
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c54a
cmp dword [esp + 0x84], 0
je 0x451494
test edx, edx
jne 0x45990f
mov dword [esi + 0x84], eax
jmp 0x456a9c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x451618
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x451605
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4515dd
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4515c1
test dl, 0x20
jne 0x4514f2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4515c1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45151c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x4515bf
test dl, 8
jne 0x45154b
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x4515bf
test dl, 4
jne 0x451583
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x4515bf
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x451605
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4514b4
jmp 0x451605
cmp dword [ebp + 0x88], 0
je 0x451605
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x451605
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
je 0x457c70
jmp 0x44c54a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x451672
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45164a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x451672
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x451626
jmp 0x451672
cmp dword [ebp + 0x88], 0
je 0x451672
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x451672
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
je 0x456adc
jmp 0x44c54a
mov eax, dword [esi + 0xc]
mov dword [esp + 0x84], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x4517c4
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x84], edx
mov dword [esi + 0xc], eax
jmp 0x4517c4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4517c4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4517c4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4517c4
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x4517c4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x5105c3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x5105cf]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4517c4
mov dword [esi + 0x8c], 0x7fffffff
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 0x4517e6
cmp ecx, 0xf
je 0x4517e6
mov dword [esi + 0x60], 0xffffffff
jmp 0x451809
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x4537ab
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4525b8
cmp eax, 0xa
ja case.default.0x44eaca
jmp dword [eax*4 + 0x45a524]
cmp dword [esi + 0x68], ebx
jne 0x44d34b
mov edx, 1
cmp ecx, edx
jl 0x4537ab
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x45188f
cmp ecx, 0xc0
jb 0x45188f
test cl, 0x20
jne 0x45186b
inc eax
jmp 0x45188c
test cl, 0x10
jne 0x451875
add eax, 2
jmp 0x45188c
test cl, 8
jne 0x45187f
add eax, 3
jmp 0x45188c
test cl, 4
jne 0x451889
add eax, 4
jmp 0x45188c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x451848
jmp 0x4537ab
cmp dword [ebp + 0x88], ebx
je case.0x4534d6.14
mov eax, dword [esi + 8]
jmp 0x44daf5
mov edi, 1
cmp ecx, edi
jl 0x4537ab
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4519ba
cmp ebx, 0xc0
jb 0x4519ba
test bl, 0x20
jne 0x451908
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4519b7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45192f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4519b5
test bl, 8
jne 0x451952
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4519b5
test bl, 4
jne 0x451981
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4519b5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4519dc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
cmp eax, 9
je 0x451a01
cmp eax, 5
je 0x451a01
cmp eax, 8
je 0x451a01
xor eax, eax
jmp 0x451a06
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4518c0
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537ab
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x451b28
cmp ebx, 0xc0
jb 0x451b28
test bl, 0x20
jne 0x451a78
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451b25
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451a9f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x451b25
test bl, 8
jne 0x451ac2
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x451b25
test bl, 4
jne 0x451af1
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x451b25
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x451b4a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451a30
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537ab
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x451c8b
cmp ebx, 0xc0
jb 0x451c8b
test bl, 0x20
jne 0x451bdb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451c88
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451c02
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x451c88
test bl, 8
jne 0x451c25
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x451c88
test bl, 4
jne 0x451c54
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x451c88
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x451cad
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451b93
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537ab
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x451de8
cmp ebx, 0xc0
jb 0x451de8
test bl, 0x20
jne 0x451d38
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451de5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451d5f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x451de5
test bl, 8
jne 0x451d82
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x451de5
test bl, 4
jne 0x451db1
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x451de5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x451e0a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451cf0
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537ab
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x451f4a
cmp ebx, 0xc0
jb 0x451f4a
test bl, 0x20
jne 0x451e98
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451f47
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451ebf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x451f45
test bl, 8
jne 0x451ee2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x451f45
test bl, 4
jne 0x451f11
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x451f45
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x451f6c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x451f93
cmp eax, 3
je 0x451f93
xor eax, eax
jmp 0x451f98
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451e50
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537ab
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4520ba
cmp ebx, 0xc0
jb 0x4520ba
test bl, 0x20
jne 0x452008
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4520b7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45202f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4520b5
test bl, 8
jne 0x452052
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4520b5
test bl, 4
jne 0x452081
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4520b5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x4520fd
je case.0x452119.8192
cmp ebx, 0x85
ja 0x4520e9
je case.0x452119.8192
cmp ebx, 9
jb case.0x452119.8203
cmp ebx, 0xd
jbe case.0x452119.8192
cmp ebx, 0x20
jmp 0x45212e
cmp ebx, 0xa0
je case.0x452119.8192
cmp ebx, 0x1680
jmp 0x45212e
cmp ebx, 0x202f
ja 0x452120
je case.0x452119.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x452119.8203
movzx eax, byte [eax + 0x45a558]
jmp dword [eax*4 + 0x45a550]
cmp ebx, 0x205f
je case.0x452119.8192
cmp ebx, 0x3000
je case.0x452119.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x452152
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
cmp dword [eax*4 + 0x5110d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4534d6.14
jmp 0x452186
cmp dword [esi + 0x68], 0
jne case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451fc0
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537ab
jmp 0x4521b0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4522a8
cmp ebx, 0xc0
jb 0x4522a8
test bl, 0x20
jne 0x4521f8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4522a5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45221f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4522a5
test bl, 8
jne 0x452242
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4522a5
test bl, 4
jne 0x452271
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4522a5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x512948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4522cb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x4522f7
cmp eax, 3
je 0x4522f7
cmp ebx, 0x5f
je 0x4522f7
xor eax, eax
jmp 0x4522fc
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4534d6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4521b0
jmp 0x4537ab
mov ebx, 1
cmp ecx, ebx
jl 0x4537ab
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45241c
cmp edx, 0xc0
jb 0x45241c
test dl, 0x20
jne 0x45236c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452419
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452393
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x452419
test dl, 8
jne 0x4523b6
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 0x452419
test dl, 4
jne 0x4523e5
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 0x452419
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x511188]
lea eax, [eax*4 + 0x511188]
cmp edx, ecx
jb 0x45243e
lea eax, [eax + 4]
cmp edx, ecx
je 0x45245a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x452431
cmp dword [esi + 0x68], 0
je case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452324
jmp 0x4537ab
cmp dword [esi + 0x68], 0
jne case.0x4534d6.14
jmp 0x452448
mov ebx, 1
cmp ecx, ebx
jl 0x4537ab
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45256d
cmp edx, 0xc0
jb 0x45256d
test dl, 0x20
jne 0x4524bb
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45256a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4524e2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452568
test dl, 8
jne 0x452505
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x452568
test dl, 4
jne 0x452534
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x452568
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x24
je 0x452598
cmp edx, 0x40
je 0x452598
cmp edx, 0x60
je 0x452598
cmp edx, 0xa0
jb 0x45258c
cmp edx, 0xd7ff
jbe 0x452598
cmp edx, 0xe000
jae 0x452598
xor eax, eax
jmp 0x45259d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452473
jmp 0x4537ab
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4528e3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x4537ab
jmp 0x4525e0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5c7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x4526e0
cmp ebx, 0xc0
jb 0x4526e0
test bl, 0x20
jne 0x452629
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4526dd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452650
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4526d6
test bl, 8
jne 0x452673
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4526d6
test bl, 4
jne 0x4526a2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4526d6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x452702
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112ca]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45289d
jmp 0x452730
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45282e
cmp ebx, 0xc0
jb 0x45282e
test bl, 0x20
jne 0x452765
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x452826
test bl, 0x10
jne 0x45278a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x452826
test bl, 8
jne 0x4527b8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x452826
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4527f2
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x452826
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x452850
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx ecx, byte [eax*8 + 0x5112ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x511150], eax
je 0x452896
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x452730
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x4528ca
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4528ca
cmp eax, dword [ebp + 0x84]
jbe 0x4528ca
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x4525e0
jmp 0x4537ab
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x4533af
cmp eax, 0xf
ja case.0x4558f7.9
jmp dword [eax*4 + 0x45a584]
mov ebx, 1
cmp ecx, ebx
jl 0x4537b2
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44f5c7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x452947
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045c2e0
add esp, 0x14
test eax, eax
jne case.0x4534d6.14
jmp 0x45296b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45296b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45296b
cmp edx, 1
je case.0x4534d6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4534d6.14
cmp dword [ebp + 0x88], 0
je 0x4529a6
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4529a6
cmp dword [ebp + 0x18], 0
jne 0x4529a6
cmp dword [edi], 2
jne 0x4529a6
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4529a6
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4529c2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4529c2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4529b1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452912
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x45189d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x452a18
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x452a18
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x452a00
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4529e4
jmp 0x4537ab
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x44d34b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x4537ab
mov ebx, 1
cmp ecx, ebx
jl 0x4537b2
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x452b3c
test dl, 0x20
jne 0x452a8a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452b39
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452ab1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452b37
test dl, 8
jne 0x452ad4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x452b37
test dl, 4
jne 0x452b03
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x452b37
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0xd
ja 0x452b60
je 0x452b4d
cmp edx, 0xa
je 0x452b81
lea eax, [edx - 0xb]
jmp 0x452b6e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x452b81
cmp byte [eax], 0xa
jne 0x452b81
inc eax
mov dword [esi + 8], eax
jmp 0x452b81
cmp edx, 0x85
je 0x452b77
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4534d6.14
cmp dword [ebp + 0x68], 0
jne case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452a50
jmp 0x4537ab
mov ebx, 1
cmp ecx, ebx
jl 0x4537b2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x452c8c
test dl, 0x20
jne 0x452bda
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452c89
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452c01
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452c87
test dl, 8
jne 0x452c24
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x452c87
test dl, 4
jne 0x452c53
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x452c87
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x452cbe
je case.0x4534d6.14
cmp edx, 0xa0
ja 0x452cb6
je case.0x4534d6.14
cmp edx, 9
je case.0x4534d6.14
cmp edx, 0x20
jmp 0x452cee
cmp edx, 0x1680
jmp 0x452cee
cmp edx, 0x205f
ja 0x452ce8
je case.0x4534d6.14
cmp edx, 0x2000
jb 0x452cf4
cmp edx, 0x200a
jbe case.0x4534d6.14
cmp edx, 0x202f
jmp 0x452cee
cmp edx, 0x3000
je case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452ba0
jmp 0x4537ab
mov ebx, 1
cmp ecx, ebx
jl 0x4537b2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x452dff
test dl, 0x20
jne 0x452d4d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452dfc
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452d74
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452dfa
test dl, 8
jne 0x452d97
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x452dfa
test dl, 4
jne 0x452dc6
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x452dfa
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x452e25
je 0x452e57
cmp edx, 0xa0
ja 0x452e1d
je 0x452e57
cmp edx, 9
je 0x452e57
cmp edx, 0x20
jmp 0x452e51
cmp edx, 0x1680
jmp 0x452e51
cmp edx, 0x205f
ja 0x452e4b
je 0x452e57
cmp edx, 0x2000
jb case.0x4534d6.14
cmp edx, 0x200a
jbe 0x452e57
cmp edx, 0x202f
jmp 0x452e51
cmp edx, 0x3000
jne case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452d13
jmp 0x4537ab
mov ebx, 1
cmp ecx, ebx
jl 0x4537b2
jmp 0x452e80
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x452f6c
test dl, 0x20
jne 0x452eba
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452f69
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452ee1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452f67
test dl, 8
jne 0x452f04
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x452f67
test dl, 4
jne 0x452f33
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x452f67
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x452f84
je case.0x4534d6.14
cmp edx, 0xa
jb 0x452f98
cmp edx, 0xd
jmp 0x452f92
cmp edx, 0x2028
jb 0x452f98
cmp edx, 0x2029
jbe case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452e80
jmp 0x4537ab
mov ebx, 1
cmp ecx, ebx
jl 0x4537b2
jmp 0x452fc0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4530ac
test dl, 0x20
jne 0x452ffa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4530a9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453021
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4530a7
test dl, 8
jne 0x453044
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x4530a7
test dl, 4
jne 0x453073
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x4530a7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x4530be
je 0x4530cd
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x4530c7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452fc0
jmp 0x4537ab
mov ebx, 1
cmp ecx, ebx
jl 0x4537b2
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5c7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4531dc
test dl, 0x20
jne 0x45312a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4531d9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453151
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4531d7
test dl, 8
jne 0x453174
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x4531d7
test dl, 4
jne 0x4531a3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x4531d7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x80
jae 0x4531f1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4534d6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4530f0
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45189d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4534d6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4534d6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453210
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45189d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x453283
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4534d6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4532a8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4532a8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x453290
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453260
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45189d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4534d6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4534d6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4532c3
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45189d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x453333
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4534d6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x453358
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x453358
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x453340
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453310
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45189d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4534d6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4534d6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453373
jmp 0x4537ab
cmp eax, 0xf
ja case.0x4558f7.9
jmp dword [eax*4 + 0x45a5c4]
mov ebx, 1
cmp ecx, ebx
jl 0x4537b2
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44f5c7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x453400
push 0
push edi
push eax
push edx
push ecx
call fcn.0045c2e0
add esp, 0x14
test eax, eax
jne case.0x4534d6.14
jmp 0x453424
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x453424
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x453424
cmp edx, 1
je case.0x4534d6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4534d6.14
cmp dword [ebp + 0x88], 0
je 0x45345f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45345f
cmp dword [ebp + 0x18], 0
jne 0x45345f
cmp dword [edi], 2
jne 0x45345f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45345f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4533d0
jmp 0x4537ab
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x452a36
cmp dword [ebp + 0x88], ebx
je case.0x4534d6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4534d6.14
jmp 0x44d4a2
mov edx, 1
cmp ecx, edx
jl 0x4537ab
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45189d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4534d6.14
movzx eax, byte [eax + 0x45a614]
jmp dword [eax*4 + 0x45a604]
cmp ecx, dword [ebp + 0x78]
jae case.0x4534d6.10
cmp byte [ecx], 0xa
jne case.0x4534d6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4534d6.10
cmp dword [ebp + 0x68], ebx
jne case.0x4534d6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4534b0
jmp 0x4537ab
mov edx, 1
cmp ecx, edx
jl 0x4537ab
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4534d6.14
cmp ecx, 0x20
je case.0x4534d6.14
cmp ecx, 0xa0
je case.0x4534d6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x453513
jmp 0x4537ab
mov edx, 1
cmp ecx, edx
jl 0x4537ab
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x453589
cmp ecx, 0x20
je 0x453589
cmp ecx, 0xa0
jne case.0x4534d6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x453560
jmp 0x4537ab
mov edx, 1
cmp ecx, edx
jl 0x4537ab
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x4535d1
cmp ecx, 0xd
jle case.0x4534d6.14
cmp ecx, 0x85
je case.0x4534d6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4535a4
jmp 0x4537ab
mov edx, 1
cmp ecx, edx
jl 0x4537ab
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x4534d6.14
cmp ecx, 0xd
jle 0x45361d
cmp ecx, 0x85
jne case.0x4534d6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4535f0
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
jmp 0x453640
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4534d6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453640
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4534d6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453680
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4534d6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4536c0
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4534d6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453700
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
jmp 0x453740
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4534d6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453740
jmp 0x4537ab
mov edi, 1
cmp ecx, edi
jl 0x4537b2
jmp 0x453780
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45189d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4534d6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453780
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x44c54a
cmp dword [esp + 0x84], 0
je 0x453812
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4537f5
cmp eax, 0xa
ja case.0x4558f7.9
jmp dword [eax*4 + 0x45a690]
mov esi, dword [esi]
test esi, esi
je case.default.0x455dc4
mov edi, 0xfffffff2
jmp 0x455db0
cmp dword [esi + 0x7c], 0x16
je 0x4599e3
test edx, edx
jne 0x4599ce
mov dword [esi + 0x84], ecx
jmp 0x456c45
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45484b
cmp eax, 0xa
ja case.0x4558f7.9
jmp dword [eax*4 + 0x45a6bc]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x454838
mov ebx, dword [esp + 0x8c]
jmp 0x453850
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x4538bb
movzx ecx, byte [edx]
test ebx, ebx
je 0x45389e
cmp ecx, 0xc0
jb 0x45389e
test cl, 0x20
jne 0x453878
mov eax, 2
jmp 0x45389e
test cl, 0x10
jne 0x453884
mov eax, 3
jmp 0x45389e
test cl, 8
jne 0x453890
mov eax, 4
jmp 0x45389e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x454838
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x453850
jmp 0x454838
cmp dword [ebp + 0x88], 0
je 0x454838
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454838
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x454838
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x455db0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x454838
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x453a7e
movzx ebx, byte [edi]
test edx, edx
je 0x4539fc
cmp ebx, 0xc0
jb 0x4539fc
test bl, 0x20
jne 0x45395e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x4539f4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45397d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x4539f4
and eax, 0x3f
test bl, 8
jne 0x45399d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4539f4
test bl, 4
jne 0x4539c6
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x4539f4
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x453a1e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
cmp eax, 9
je 0x453a43
cmp eax, 5
je 0x453a43
cmp eax, 8
je 0x453a43
xor eax, eax
jmp 0x453a48
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x454838
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x453920
jmp 0x454838
cmp dword [ebp + 0x88], 0
je 0x454838
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454838
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x454838
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edi, 0xfffffff4
jmp 0x455db0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454838
jmp 0x453ae0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c62
movzx ebx, byte [edi]
test edx, edx
je 0x453be3
cmp ebx, 0xc0
jb 0x453be3
test bl, 0x20
jne 0x453b2a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x453bdb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x453b52
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x453bdb
and eax, 0x3f
test bl, 8
jne 0x453b78
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x453bdb
test bl, 4
jne 0x453ba7
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x453bdb
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x453c05
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x454838
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x453ae0
jmp 0x454838
cmp dword [ebp + 0x88], 0
je 0x454838
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454838
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x453aa3
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454838
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c62
movzx ebx, byte [edi]
test edx, edx
je 0x453daf
cmp ebx, 0xc0
jb 0x453daf
test bl, 0x20
jne 0x453cf6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x453da7
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x453d1e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x453da7
and eax, 0x3f
test bl, 8
jne 0x453d44
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x453da7
test bl, 4
jne 0x453d73
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x453da7
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x453dd1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x454838
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x453cb0
jmp 0x454838
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454838
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c62
movzx ebx, byte [edi]
test edx, edx
je 0x453f43
cmp ebx, 0xc0
jb 0x453f43
test bl, 0x20
jne 0x453e8a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x453f3b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x453eb2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x453f3b
and eax, 0x3f
test bl, 8
jne 0x453ed8
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x453f3b
test bl, 4
jne 0x453f07
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x453f3b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x453f65
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x454838
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x453e40
jmp 0x454838
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x454838
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x453a7e
movzx ebx, byte [edi]
test edx, edx
je 0x4540b3
cmp ebx, 0xc0
jb 0x4540b3
test bl, 0x20
jne 0x454012
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x4540ab
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x454034
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x4540ab
and eax, 0x3f
test bl, 8
jne 0x454054
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4540ab
test bl, 4
jne 0x45407d
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x4540ab
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4540d5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x4540fc
cmp eax, 3
je 0x4540fc
xor eax, eax
jmp 0x454101
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x454838
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x453fd4
jmp 0x454838
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454838
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c62
movzx ebx, byte [edi]
test edx, edx
je 0x45425d
cmp ebx, 0xc0
jb 0x45425d
test bl, 0x20
jne 0x4541a2
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x45425d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4541ca
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x454253
and eax, 0x3f
test bl, 8
jne 0x4541f0
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x454253
test bl, 4
jne 0x45421f
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x454253
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0x180e
ja 0x4542a0
je case.0x4542c0.8192
cmp ebx, 0x85
ja 0x45428c
je case.0x4542c0.8192
cmp ebx, 9
jb case.0x4542c0.8203
cmp ebx, 0xd
jbe case.0x4542c0.8192
cmp ebx, 0x20
jmp 0x4542d5
cmp ebx, 0xa0
je case.0x4542c0.8192
cmp ebx, 0x1680
jmp 0x4542d5
cmp ebx, 0x202f
ja 0x4542c7
je case.0x4542c0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x4542c0.8203
movzx eax, byte [eax + 0x45a6f0]
jmp dword [eax*4 + 0x45a6e8]
cmp ebx, 0x205f
je case.0x4542c0.8192
cmp ebx, 0x3000
je case.0x4542c0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4542f9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
cmp dword [eax*4 + 0x5110d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x454838
mov edx, dword [esp + 0x8c]
jmp 0x454334
cmp dword [esi + 0x68], 0
jne 0x454838
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x454150
jmp 0x454838
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454838
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c62
movzx ebx, byte [edi]
test edx, edx
je 0x454483
cmp ebx, 0xc0
jb 0x454483
test bl, 0x20
jne 0x4543ca
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45447b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4543f2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45447b
and eax, 0x3f
test bl, 8
jne 0x454418
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45447b
test bl, 4
jne 0x454447
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x45447b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x512948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4544a6
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x4544d2
cmp eax, 3
je 0x4544d2
cmp ebx, 0x5f
je 0x4544d2
xor eax, eax
jmp 0x4544d7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x454838
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x454380
jmp 0x454838
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x454838
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45466f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x454611
cmp edx, 0xc0
jb 0x454611
test dl, 0x20
jne 0x454574
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x454609
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x454593
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x454609
and eax, 0x3f
test dl, 8
jne 0x4545b3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x454609
test dl, 4
jne 0x4545dc
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 0x454609
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x511188]
lea eax, [eax*4 + 0x511188]
cmp edx, ecx
jb 0x454633
lea eax, [eax + 4]
cmp edx, ecx
je 0x454663
mov ecx, dword [eax]
cmp edx, ecx
jae 0x454626
cmp dword [esi + 0x68], 0
je 0x454838
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x454530
jmp 0x454838
cmp dword [esi + 0x68], 0
jne 0x454838
jmp 0x45463d
cmp dword [ebp + 0x88], 0
je 0x454838
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454838
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x454838
jmp 0x44d4b6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x454838
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x454810
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4547c7
cmp edx, 0xc0
jb 0x4547c7
test dl, 0x20
jne 0x4546fd
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4547c7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x454727
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x4547c7
test dl, 8
jne 0x454753
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x4547c7
test dl, 4
jne 0x45478b
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x4547c7
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0x24
je 0x4547f2
cmp edx, 0x40
je 0x4547f2
cmp edx, 0x60
je 0x4547f2
cmp edx, 0xa0
jb 0x4547e6
cmp edx, 0xd7ff
jbe 0x4547f2
cmp edx, 0xe000
jae 0x4547f2
xor ecx, ecx
jmp 0x4547f7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x454838
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4546b1
jmp 0x454838
cmp dword [ebp + 0x88], 0
je 0x454838
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454838
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
je 0x458cec
jmp 0x44c54a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x454be7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x454b98
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x454b70
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x454970
cmp ebx, 0xc0
jb 0x454970
test bl, 0x20
jne 0x4548b9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45496d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4548e0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x454966
test bl, 8
jne 0x454903
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x454966
test bl, 4
jne 0x454932
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x454966
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x454992
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112ca]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454b2d
jmp 0x4549c0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x454abe
cmp ebx, 0xc0
jb 0x454abe
test bl, 0x20
jne 0x4549f5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x454ab6
test bl, 0x10
jne 0x454a1a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x454ab6
test bl, 8
jne 0x454a48
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x454ab6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x454a82
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x454ab6
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x454ae0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx ecx, byte [eax*8 + 0x5112ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x511150], eax
je 0x454b26
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x4549c0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x454b5a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x454b5a
cmp eax, dword [ebp + 0x84]
jbe 0x454b5a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x454870
jmp 0x454b98
cmp dword [ebp + 0x88], 0
je 0x454b98
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454b98
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
cmp dword [esp + 0x80], 0
jne 0x44c54a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a115
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a10b
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
add eax, 0xfffffffa
test edx, edx
je 0x4558ee
cmp eax, 0xf
ja case.0x4558f7.9
jmp dword [eax*4 + 0x45a71c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x454cd6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x454c49
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045c2e0
add esp, 0x14
test eax, eax
jne 0x4558db
jmp 0x454c6d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x454c6d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x454c6d
cmp edx, 1
je 0x4558db
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4558db
cmp dword [ebp + 0x88], 0
je 0x454ca8
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x454ca8
cmp dword [ebp + 0x18], 0
jne 0x454ca8
cmp dword [edi], 2
jne 0x454ca8
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x454ca8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x454cc4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454cc4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x454cb3
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x454c14
jmp 0x4558db
cmp dword [ebp + 0x88], 0
je 0x4558db
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4558db
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4558db
jmp 0x44d4b6
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x454d68
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4558db
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x454cd6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x454d5a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454d5a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x454d42
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x454d30
jmp 0x4558db
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4558db
cmp eax, dword [ebp + 0x84]
jbe 0x4558db
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4558db
jmp 0x453aa9
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 0x454def
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4558db
cmp edx, dword [ebp + 0x84]
jbe 0x4558db
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4558db
jmp 0x44d4b6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4558db
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x454cd6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x454f1a
test dl, 0x20
jne 0x454e4e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x454f1a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x454e78
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x454f18
test dl, 8
jne 0x454ea4
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x454f18
test dl, 4
jne 0x454edc
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x454f18
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp edx, 0xd
jne 0x454f36
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4558db
cmp byte [eax], 0xa
jne 0x454f70
inc eax
jmp 0x454f6d
cmp edx, 0xa
je 0x454f6b
cmp dword [ebp + 0x68], 0
jne 0x4558db
cmp edx, 0xb
je 0x454f6b
cmp edx, 0xc
je 0x454f6b
cmp edx, 0x85
je 0x454f6b
cmp edx, 0x2028
je 0x454f6b
cmp edx, 0x2029
jne 0x4558db
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x454e10
jmp 0x4558db
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ea
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455068
test dl, 0x20
jne 0x454fca
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x455060
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x454fe9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x455060
and eax, 0x3f
test dl, 8
jne 0x455009
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x455060
test dl, 4
jne 0x455032
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 0x455060
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x45508e
je 0x4550bc
cmp edx, 0xa0
ja 0x455086
je 0x4550bc
cmp edx, 9
je 0x4550bc
cmp edx, 0x20
jmp 0x4550b6
cmp edx, 0x1680
jmp 0x4550b6
cmp edx, 0x205f
ja 0x4550b0
je 0x4550bc
cmp edx, 0x2000
jb 0x4550b8
cmp edx, 0x200a
jbe 0x4550bc
cmp edx, 0x202f
jmp 0x4550b6
cmp edx, 0x3000
je 0x4550bc
xor edx, edx
jmp 0x4550c1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x4558db
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x454f94
jmp 0x4558db
cmp dword [ebp + 0x88], 0
je 0x4558db
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4558db
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4558db
jmp 0x44d4b6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ea
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455200
test dl, 0x20
jne 0x455162
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4551f8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455181
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4551f8
and eax, 0x3f
test dl, 8
jne 0x4551a1
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4551f8
test dl, 4
jne 0x4551ca
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 0x4551f8
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x45523f
je 0x45524a
cmp edx, 0xa
jb 0x455214
cmp edx, 0xd
jbe 0x45524a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x4558db
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455130
jmp 0x4558db
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x455214
mov edx, 1
jmp 0x455216
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ea
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455337
test dl, 0x20
jne 0x455299
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45532f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4552b8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45532f
and eax, 0x3f
test dl, 8
jne 0x4552d8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45532f
test dl, 4
jne 0x455301
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 0x45532f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x45534c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4558db
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455263
jmp 0x4558db
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
jmp 0x455380
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ea
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455454
test dl, 0x20
jne 0x4553b6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45544c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4553d5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45544c
and eax, 0x3f
test dl, 8
jne 0x4553f5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45544c
test dl, 4
jne 0x45541e
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 0x45544c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4558db
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4558db
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455380
jmp 0x4558db
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
jmp 0x4554a0
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ea
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455574
test dl, 0x20
jne 0x4554d6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45556c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4554f5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45556c
and eax, 0x3f
test dl, 8
jne 0x455515
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45556c
test dl, 4
jne 0x45553e
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 0x45556c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x455589
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4558db
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4554a0
jmp 0x4558db
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ea
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455687
test dl, 0x20
jne 0x4555e9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45567f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455608
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45567f
and eax, 0x3f
test dl, 8
jne 0x455628
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45567f
test dl, 4
jne 0x455651
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 0x45567f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4558db
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4558db
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4555b3
jmp 0x4558db
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ea
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4557a4
test dl, 0x20
jne 0x455706
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45579c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455725
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45579c
and eax, 0x3f
test dl, 8
jne 0x455745
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45579c
test dl, 4
jne 0x45576e
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 0x45579c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4557b9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4558db
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4556d0
jmp 0x4558db
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558db
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ea
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4558b7
test dl, 0x20
jne 0x455819
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4558af
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455838
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4558af
and eax, 0x3f
test dl, 8
jne 0x455858
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4558af
test dl, 4
jne 0x455881
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 0x4558af
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4558db
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4558db
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4557e3
cmp dword [esp + 0x80], 0
je 0x4581a8
jmp 0x44c54a
cmp eax, 0xf
ja case.0x4558f7.9
jmp dword [eax*4 + 0x45a75c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x455d87
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4559b4
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x455940
push 0
push edi
push eax
push edx
push ecx
call fcn.0045c2e0
add esp, 0x14
test eax, eax
jne 0x455d87
jmp 0x455964
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x455964
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x455964
cmp edx, 1
je 0x455d87
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x455d87
cmp dword [ebp + 0x88], 0
je 0x45599f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45599f
cmp dword [ebp + 0x18], 0
jne 0x45599f
cmp dword [edi], 2
jne 0x45599f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45599f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x455910
jmp 0x455d87
cmp dword [ebp + 0x88], 0
je 0x455d87
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x455d87
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x455d87
jmp 0x44d4b6
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 0x455a38
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x455d87
cmp edx, dword [ebp + 0x84]
jbe 0x455d87
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x455d87
jmp 0x44d4b6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x455d87
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d87
jmp 0x455a60
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4559b4
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x455a8b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x455d87
cmp byte [eax], 0xa
jne 0x455ab5
inc eax
jmp 0x455ab2
cmp eax, 0xa
je 0x455aaf
cmp dword [ebp + 0x68], 0
jne 0x455d87
cmp eax, 0xb
je 0x455aaf
cmp eax, 0xc
je 0x455aaf
cmp eax, 0x85
jne 0x455d87
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x455a60
jmp 0x455d87
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d87
jmp 0x455ae0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4559b4
mov al, byte [ecx]
cmp al, 9
je 0x455d87
cmp al, 0x20
je 0x455d87
cmp al, 0xa0
je 0x455d87
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455ae0
jmp 0x455d87
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d87
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4559b4
mov al, byte [ecx]
cmp al, 9
je 0x455b4e
cmp al, 0x20
je 0x455b4e
cmp al, 0xa0
jne 0x455d87
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455b30
jmp 0x455d87
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d87
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4559b4
mov al, byte [ecx]
cmp al, 0xa
jb 0x455b96
cmp al, 0xd
jbe 0x455d87
cmp al, 0x85
je 0x455d87
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455b74
jmp 0x455d87
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d87
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4559b4
mov al, byte [ecx]
cmp al, 0xa
jb 0x455d87
cmp al, 0xd
jbe 0x455be2
cmp al, 0x85
jne 0x455d87
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455bc0
jmp 0x455d87
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d87
jmp 0x455c10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4559b4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x455d87
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455c10
jmp 0x455d87
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d87
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4559b4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x455d87
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455c52
jmp 0x455d87
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d87
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4559b4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x455d87
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455c94
jmp 0x455d87
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d87
jmp 0x455ce0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4559b4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x455d87
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455ce0
jmp 0x455d87
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d87
jmp 0x455d20
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4559b4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x455d87
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455d20
jmp 0x455d87
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d87
jmp 0x455d60
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4559b4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x455d87
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455d60
cmp dword [esp + 0x80], 0
je 0x456dea
jmp 0x44c54a
mov esi, dword [esi]
test esi, esi
je 0x45a261
mov edi, 0xfffffffb
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x455dc4
jmp dword [eax*4 + 0x45a79c]
cmp edi, 0xfffffc1b
je 0x455e96
cmp edi, 0xfffffc20
jne 0x455e13
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x455dc4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x455e0f
cmp byte [ecx], 0x77
jne case.0x455dc4.49
xor edi, edi
jmp 0x455e1b
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x455e96
cmp dword [esi + 0x9c], 0x88
jb 0x455e61
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x459bea
push 0x134
call dword [0x1de7368]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459be0
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov esi, dword [esi]
test esi, esi
je 0x45628c
mov edx, dword [esp + 0x8c]
jmp 0x455db4
cmp edi, 0xfffffc20
jne 0x455f53
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x455fa1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x455f1e
cmp byte [ecx], 0x77
jne 0x455fa1
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x455fb7
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455db4
test edi, edi
je 0x455f1e
cmp edi, 0xfffffc1b
jne 0x455fa1
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x455f93
cmp al, 0x77
jne 0x455f84
lea esp, [esp]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x455f70
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov esi, dword [esi]
test esi, esi
je 0x45628c
mov edx, dword [esp + 0x8c]
jmp 0x455db4
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x456009
cmp eax, 0x81
je 0x456009
cmp dword [ebp + 0x6c], 0
jne 0x456013
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 0x456013
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x510fc0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x44c4d0
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 0x459c0c
push 0x134
call dword [0x1de7368]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459c02
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
cmp edi, 1
jne 0x4560d3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x456070
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x456083
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4560b9
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], edx
cmp byte [eax], 0x77
je 0x4560a0
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x510fc0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x44c97e.145
test edi, edi
je 0x4560e3
cmp edi, 0xfffffc20
jne case.0x455dc4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x4560f9
movzx eax, byte [edx + 0x510fc0]
jmp 0x4560fc
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x456119
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x44c551
cmp dword [esi + 0x9c], 0x8c
jne 0x44c4d0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459c2e
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459c24
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
cmp edi, 1
je 0x456212
cmp edi, 0xfffffc19
je 0x456212
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x4561ba
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x455dc4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4561c2
cmp byte [ecx], 0x77
jmp 0x4561bc
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x456218
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459c47
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459c3d
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x456231
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455db4
cmp dword [esi + 0x58], 0
je 0x45986e
mov esi, dword [esi]
test esi, esi
je 0x45a206
mov edi, 1
jmp 0x455db4
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x4562fd
je 0x456296
cmp edi, 0xfffffc19
je 0x456b33
cmp edi, 0xfffffc1b
jle case.0x455dc4.49
cmp edi, 0xfffffc1f
jle 0x4562be
mov esi, dword [esi]
test esi, esi
jne 0x455db4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x4562be
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x456310
cmp byte [ecx], 0x77
je 0x456310
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 0x4562c1
cmp dword [esi + 0x58], 0
je 0x456547
mov esi, dword [esi]
test esi, esi
je 0x45a206
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x455db4
mov eax, edi
sub eax, 0
je 0x456310
dec eax
je 0x456b33
jmp case.0x455dc4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
jne 0x4562d8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459c5d
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459c53
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.00440a55
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x45989c
cmp edi, 0xfffffc19
je 0x45989c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x4563c9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x44d34b
push ecx
call dword [0x1de7364]
add esp, 4
jmp 0x44d34b
test edi, edi
je 0x4563f3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4563e4
push ecx
call dword [0x1de7364]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x45628c
jmp 0x455da9
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x456459
cmp dword [esi + 0x58], 0
je 0x456424
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x459ca3
push 0x134
call dword [0x1de7368]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459c99
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x4563a9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x4564b3
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459cf1
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459ce7
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455db4
cmp al, 0x88
jb 0x4599f4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d13
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d09
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455db4
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x45a213
mov edi, 0xfffffc1b
jmp 0x455db4
test edi, edi
jne case.0x455dc4.49
mov edx, dword [esi + 0x2c]
jmp 0x456530
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 0x456530
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x44c54a
test edi, edi
je 0x44ddc4
jmp case.0x455dc4.49
test edi, edi
je 0x4564ff
jmp case.0x455dc4.49
cmp edi, 0xfffffc1b
jne 0x45657b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x45657d
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x45736b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d35
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d2b
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455db4
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4565f0
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0045a9f0
add esp, 0x14
test eax, eax
jns 0x456657
cmp eax, 0xfffffffe
jne 0x456619
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x458131
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x458131
cmp eax, dword [ebp + 0x84]
jbe 0x458131
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f36e
jmp 0x458131
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d5a
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d50
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x455db4
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x4534d6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d73
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d69
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x456717
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x458216
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 0x458131
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d8c
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d82
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x44d34b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459da5
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d9b
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4567f1
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x458216
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x456821
cmp dword [esi + 0x94], ecx
je 0x456821
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455db4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459dbe
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459db4
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
dec dword [esi + 8]
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459dd7
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459dcd
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4568d1
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x458216
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x458131
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459df0
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459de6
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
dec dword [esi + 8]
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e09
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459dff
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45699e
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x458216
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x456b33
cmp dword [esi + 0x94], ecx
je 0x456b33
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e22
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e18
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e3b
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e31
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x456a75
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x458216
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x458131
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e51
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e47
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e67
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e5d
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x456b44
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455db4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x456b8b
cmp dword [ebp + 0x88], 0
je 0x456b73
cmp ecx, dword [ebp + 0x84]
jbe 0x456b73
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f36e
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455db4
cmp dword [esi + 0x7c], 0xc
jne 0x456bb2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x456bd4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045c2e0
add esp, 0x14
test eax, eax
jne 0x456bf1
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.0x456bcd.15
jmp dword [eax*4 + 0x45a8a8]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x456bb2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x456bb2
cmp edi, 1
je 0x456bf1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x456bb2
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455db4
cmp dword [ebp + 0x88], 0
je case.0x456bcd.13
cmp edx, dword [ebp + 0x78]
jb case.0x456bcd.13
cmp dword [ebp + 0x18], 0
jne case.0x456bcd.13
cmp dword [ebp + 0x1c], 2
jne case.0x456bcd.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x456bcd.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f36e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e7d
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e73
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x456c8d.14
movzx eax, byte [ecx + 0x45a8f8]
jmp dword [eax*4 + 0x45a8e8]
cmp edx, dword [ebp + 0x78]
jae case.0x456bcd.13
cmp byte [edx], 0xa
jne case.0x456bcd.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x456bcd.13
cmp dword [ebp + 0x68], 0
je case.0x456bcd.13
jmp case.0x456c8d.14
cmp ecx, 9
je case.0x456c8d.14
cmp ecx, 0x20
je case.0x456c8d.14
cmp ecx, 0xa0
jmp 0x456d8a
cmp ecx, 9
je case.0x456bcd.13
cmp ecx, 0x20
je case.0x456bcd.13
cmp ecx, 0xa0
je case.0x456bcd.13
jmp case.0x456c8d.14
cmp ecx, 0xa
jb case.0x456bcd.13
cmp ecx, 0xd
jbe case.0x456c8d.14
cmp ecx, 0x85
jmp 0x456d8a
cmp ecx, 0xa
jb case.0x456c8d.14
cmp ecx, 0xd
jbe case.0x456bcd.13
cmp ecx, 0x85
je case.0x456bcd.13
jmp case.0x456c8d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x456bcd.13
jmp case.0x456c8d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x456d8a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x456bcd.13
jmp case.0x456c8d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x456d8a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x456bcd.13
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455db4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x456bcd.13
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455db4
mov esi, dword [esi]
test esi, esi
je case.default.0x455dc4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x455db4
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x456dea
cmp eax, dword [esi + 0x30]
jbe 0x456dea
cmp byte [eax], 0xa
jne 0x456dea
cmp byte [eax - 1], 0xd
jne 0x456dea
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e93
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e89
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
cmp edi, 0xfffffc1a
jne 0x456e81
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 0x456e79
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 0x456e60
jmp 0x456ed8
mov dword [esi + 8], eax
jmp 0x456efd
cmp edi, 0xfffffc20
jne 0x456eb5
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x455dc4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x456ebd
cmp byte [ecx], 0x77
jmp 0x456eb7
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
je 0x456ef1
cmp dword [esi + 0x5c], 0
jne 0x456547
cmp dword [esi + 0x54], 0
jne 0x456547
jmp 0x458131
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x456f13
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x459ed5
push 0x134
call dword [0x1de7368]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459ecb
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
mov esi, dword [esi]
test edi, edi
jne 0x456284
test esi, esi
je 0x45a22d
mov edi, 0xfffffc1c
jmp 0x455db4
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a247
mov edi, 0xfffffc1e
jmp 0x455db4
cmp edi, 1
je 0x456f93
cmp edi, 0xfffffc19
jne 0x456fad
cmp dword [ebp + 0xac], 0
jne 0x456fad
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x455fa1
cmp edi, 0xfffffc1f
jne 0x455fa1
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x456fe2
test dl, dl
je 0x456fde
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x456fe2
add eax, 2
add ecx, 2
test dl, dl
jne 0x456fc2
xor eax, eax
jmp 0x456fe7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x455fa1
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a247
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x455db4
cmp edi, 1
je 0x45701d
cmp edi, 0xfffffc19
jne case.0x455dc4.51
cmp dword [ebp + 0xac], 0
jne case.0x455dc4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x456284
test esi, esi
je 0x45a220
mov edi, 0xfffffc1d
jmp 0x455db4
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a254
mov edi, 0xfffffc1f
jmp 0x455db4
cmp edi, 1
je 0x457080
cmp edi, 0xfffffc19
jne case.0x455dc4.54
cmp dword [ebp + 0xac], 0
jne case.0x455dc4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a23a
mov edi, 0xfffffc20
jmp 0x455db4
cmp edi, 0xfffffc1a
jne 0x457121
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 0x457119
mov edx, dword [esi + 0xc]
jmp 0x457100
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 0x457100
jmp 0x457188
mov dword [esi + 8], eax
jmp 0x44d082
cmp edi, 0xfffffc20
jne 0x457155
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x455dc4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45715d
cmp byte [ecx], 0x77
jmp 0x457157
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44d082
cmp dword [esi + 0x5c], 0
jne 0x4571c8
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 0x44c546
cmp dword [esi + 0x5c], 0
jne 0x44c546
jmp 0x458131
cmp edi, 1
jne 0x457284
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x457201
cmp al, 0x77
jne 0x458131
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 0x457201
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov eax, dword [esi + 0xc]
mov al, byte [eax]
cmp al, 0x78
je 0x44c546
cmp ecx, dword [esi + 0x38]
je 0x44c546
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x45731d
test ecx, ecx
jne 0x459f3e
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f34
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455db4
cmp edi, 0xfffffc20
jne 0x4572b8
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x455dc4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4572c0
cmp byte [ecx], 0x77
jmp 0x4572ba
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4571f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459f19
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f0f
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test ecx, ecx
jne 0x459f63
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f59
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455db4
test edi, edi
je 0x4599f4
jmp case.0x455dc4.49
test edi, edi
jne case.0x455dc4.49
add dword [esi + 0xc], 3
jmp 0x44c4d0
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457399
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45749a
cmp ebx, 0xc0
jb 0x45749a
test bl, 0x20
jne 0x4573db
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x457497
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x457405
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45749a
mov edx, dword [esi + 8]
test bl, 8
jne 0x45742b
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45748e
test bl, 4
jne 0x45745a
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x45748e
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
push edx
push dword [esi + 0x28]
push ebx
call fcn.0045bc70
add esp, 0xc
test eax, eax
je 0x44d34b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459f85
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f7b
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x458131
cmp dword [esp + 0x8c], edi
je 0x457521
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x457521
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x457515
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459f9e
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f94
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45757b
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x457670
test bl, 0x20
jne 0x4575b5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45766d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4575df
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x457670
mov edx, dword [esi + 8]
test bl, 8
jne 0x457608
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45766b
test bl, 4
jne 0x457637
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x45766b
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x457686
cmp dword [esi + 0x9c], 0x6e
jne 0x4576a3
jmp 0x44d34b
mov edx, dword [esi + 0x28]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
je 0x44d34b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459fb7
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459fad
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x44d34b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45770c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x457700
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459fd0
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459fc6
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457766
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
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 0x4577d5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x457795
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45779a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457784
cmp edi, 0xfffffffc
je 0x4577c7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4577d2
cmp edi, 0xfffffffd
je 0x4577c7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4577d2
cmp edi, 0xfffffffe
je 0x4577c7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4577d2
cmp edi, 0xffffffff
je 0x4577c7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4577d2
mov eax, dword [esi + 0x88]
jmp 0x457840
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x457880
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x457880
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x457807
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45780c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4577f6
cmp edi, 0xfffffffc
je 0x45783d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x457880
cmp edi, 0xfffffffd
je 0x45783d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x457880
cmp edi, 0xfffffffe
je 0x45783d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x457880
cmp edi, 0xffffffff
je 0x45783d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x457880
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 0x459fe9
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459fdf
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
cmp dword [ebp + 0x88], 0
je case.0x4534d6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x4534d6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x4534d6.14
jmp 0x44d4a2
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4578cc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4578c0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a002
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459ff8
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457932
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x457a32
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x45796c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x457a2f
test dl, 0x10
jne 0x45798e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 8], 2
jmp 0x457a32
mov ecx, dword [esi + 8]
test dl, 8
jne 0x4579be
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x457a2f
test dl, 4
jne 0x4579f4
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x457a2f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je 0x456bf1
cmp dword [esi + 0x94], edx
je 0x456bf1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x457a79
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x456685
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x459e9d
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x457aac
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x457aa0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a01b
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a011
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457b12
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x457c07
test bl, 0x20
jne 0x457b4c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x457c04
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x457b76
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x457c07
mov edx, dword [esi + 8]
test bl, 8
jne 0x457b9f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x457c02
test bl, 4
jne 0x457bce
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x457c02
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ebx
je 0x44d34b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a034
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a02a
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x457c70
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x457c64
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a04d
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a043
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457cd6
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x457d12
cmp dword [ebp + 0x88], 0
je 0x458131
cmp ecx, dword [ebp + 0x84]
jbe 0x458131
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f36e
jmp 0x458131
cmp dword [esi + 0x7c], 0xc
jne 0x457d64
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x457d3f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045c2e0
add esp, 0x14
test eax, eax
jne 0x458131
jmp 0x457d64
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x457d64
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x457d64
cmp edi, 1
je 0x458131
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x458131
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x457e4c
test dl, 0x20
jne 0x457d97
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x457e49
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x457dbe
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x457e47
test dl, 8
jne 0x457de4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x457e47
test dl, 4
jne 0x457e13
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x457e47
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x457e5b.15
jmp dword [eax*4 + 0x45a974]
cmp dword [ebp + 0x88], 0
je case.0x457e5b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x457e5b.13
cmp dword [ebp + 0x18], 0
jne case.0x457e5b.13
cmp dword [ebp + 0x1c], 2
jne case.0x457e5b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x457e5b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x457e5b.13
jmp 0x44f36e
cmp edx, 0xd
ja 0x457ede
je 0x457ecb
cmp edx, 0xa
je case.0x457e5b.13
jbe 0x458131
cmp edx, 0xc
jmp 0x457ef8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x457e5b.13
cmp byte [eax], 0xa
jne case.0x457e5b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x457e5b.13
cmp edx, 0x85
je 0x457efe
cmp edx, 0x2027
jbe 0x458131
cmp edx, 0x2029
ja 0x458131
cmp dword [ebp + 0x68], 0
je case.0x457e5b.13
jmp 0x458131
cmp edx, 0x180e
ja 0x457f7d
je 0x458131
cmp edx, 0xa0
ja 0x457f75
je 0x458131
cmp edx, 9
je 0x458131
cmp edx, 0x20
je 0x458131
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x457f66
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x456685
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x459e9d
cmp edx, 0x1680
jmp 0x457f31
cmp edx, 0x205f
ja 0x457fa7
je 0x458131
cmp edx, 0x2000
jb case.0x457e5b.13
cmp edx, 0x200a
jbe 0x458131
cmp edx, 0x202f
jmp 0x457f31
cmp edx, 0x3000
jmp 0x45812b
cmp edx, 0x180e
ja 0x457fe4
je case.0x457e5b.13
cmp edx, 0xa0
ja 0x457fdc
je case.0x457e5b.13
cmp edx, 9
je case.0x457e5b.13
cmp edx, 0x20
jmp 0x458018
cmp edx, 0x1680
jmp 0x458018
cmp edx, 0x205f
ja 0x458012
je case.0x457e5b.13
cmp edx, 0x2000
jb 0x458131
cmp edx, 0x200a
jbe case.0x457e5b.13
cmp edx, 0x202f
jmp 0x458018
cmp edx, 0x3000
je case.0x457e5b.13
jmp 0x458131
cmp edx, 0x85
ja 0x458048
je 0x458131
cmp edx, 0xa
jb case.0x457e5b.13
cmp edx, 0xd
jbe 0x458131
jmp case.0x457e5b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x457e5b.13
jmp 0x458131
cmp edx, 0x85
ja 0x458078
je case.0x457e5b.13
cmp edx, 0xa
jb 0x458131
cmp edx, 0xd
jmp 0x458081
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x457e5b.13
jmp 0x458131
cmp edx, 0x100
jae case.0x457e5b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x457e5b.13
jmp 0x458131
cmp edx, 0x100
jae 0x458131
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x45812b
cmp edx, 0x100
jae case.0x457e5b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x457e5b.13
jmp 0x458131
cmp edx, 0x100
jae 0x458131
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x45812b
cmp edx, 0x100
jae case.0x457e5b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x457e5b.13
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455db4
cmp edx, 0x100
jae 0x458131
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x457e5b.13
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455db4
mov esi, dword [esi]
test esi, esi
je case.default.0x455dc4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x455db4
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45818c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x458180
cmp dword [esi + 0x7c], 0x11
jne 0x4581a8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4581a8
cmp byte [eax], 0xa
jne 0x4581a8
dec eax
cmp byte [eax], 0xd
jne 0x4581a8
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a066
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a05c
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45820e
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45822e
cmp dword [ebp + 0x88], 0
je 0x456b33
cmp eax, dword [ebp + 0x84]
jmp 0x458989
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x45826d
cmp ecx, 0xc0
jb 0x45826d
test cl, 0x20
jne 0x458249
inc eax
jmp 0x45826a
test cl, 0x10
jne 0x458253
add eax, 2
jmp 0x45826a
test cl, 8
jne 0x45825d
add eax, 3
jmp 0x45826a
test cl, 4
jne 0x458267
add eax, 4
jmp 0x45826a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x458284
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
xor edi, edi
jmp 0x455db4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4582b3
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x456685
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x459e9d
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4582e7
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4583e1
cmp ebx, 0xc0
jb 0x4583e1
test bl, 0x20
jne 0x458329
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4583de
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458353
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4583e1
mov edx, dword [esi + 8]
test bl, 8
jne 0x458379
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4583dc
test bl, 4
jne 0x4583a8
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4583dc
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x458403
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
cmp eax, 9
je 0x458428
cmp eax, 5
je 0x458428
cmp eax, 8
je 0x458428
xor eax, eax
jmp 0x45842d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44d34b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a07f
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a075
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458496
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45858c
cmp ebx, 0xc0
jb 0x45858c
test bl, 0x20
jne 0x4584d8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458589
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458500
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45858c
mov edx, dword [esi + 8]
test bl, 8
jne 0x458526
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x458589
test bl, 4
jne 0x458555
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x458589
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4585ae
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44d34b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a098
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a08e
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458638
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45872e
cmp ebx, 0xc0
jb 0x45872e
test bl, 0x20
jne 0x45867a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45872b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4586a2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45872e
mov edx, dword [esi + 8]
test bl, 8
jne 0x4586c8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45872b
test bl, 4
jne 0x4586f7
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45872b
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x458750
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44d34b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a0b1
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a0a7
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4587d3
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4588c9
cmp ebx, 0xc0
jb 0x4588c9
test bl, 0x20
jne 0x458815
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4588c6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45883d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4588c9
mov edx, dword [esi + 8]
test bl, 8
jne 0x458863
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4588c6
test bl, 4
jne 0x458892
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4588c6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4588eb
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44d34b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a0ca
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a0c0
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45896e
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4589b7
cmp dword [ebp + 0x88], 0
je 0x456b33
cmp edi, dword [ebp + 0x84]
jbe 0x456b33
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x456b33
mov esi, dword [esi]
test esi, esi
je 0x45a1ec
mov edi, 0xfffffff4
jmp 0x455db4
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x458aa5
cmp ebx, 0xc0
jb 0x458aa5
test bl, 0x20
jne 0x4589ed
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458aa2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458a17
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458aa5
mov edx, dword [esi + 8]
test bl, 8
jne 0x458a3d
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x458aa0
test bl, 4
jne 0x458a6c
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x458aa0
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x458ac7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x458c58
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x458bf7
cmp ebx, 0xc0
jb 0x458bf7
test bl, 0x20
jne 0x458b2b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x458bef
test bl, 0x10
jne 0x458b50
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x458bef
test bl, 8
jne 0x458b81
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x458bef
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x458bbb
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x458bef
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x458c19
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx ecx, byte [eax*8 + 0x5112ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x511150], eax
je 0x458c58
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x458af0
cmp dword [ebp + 0x88], 0
je 0x458c85
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x458c85
cmp eax, dword [ebp + 0x84]
jbe 0x458c85
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d4b6
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a0e3
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a0d9
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x458cec
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x458cec
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x458ce0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a0fc
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a0f2
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x458d47
movzx ebx, byte [ecx]
jmp 0x458e35
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x458d5c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x458d50
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x458e35
test bl, 0x20
jne 0x458d7f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x458e2d
test bl, 0x10
jne 0x458d9f
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x458e2d
test bl, 8
jne 0x458dc8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x458e2d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x458dfd
and ebx, 3
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x458e2d
and ebx, 1
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x458e57
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112ca]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x44c4d0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x458e8f
movzx ebx, byte [edi]
jmp 0x458f4e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x458ea1
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x458e97
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x458f4e
test bl, 0x20
jne 0x458ec1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x458f46
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x458ede
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x458f46
and eax, 0x3f
test bl, 8
jne 0x458ef9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x458f46
test bl, 4
jne 0x458f1d
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x458f46
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x458f70
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx edx, byte [eax*8 + 0x5112ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x511150], eax
je 0x454ba6
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x458e70
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458fd1
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4590cb
cmp ebx, 0xc0
jb 0x4590cb
test bl, 0x20
jne 0x459013
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4590c8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45903d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4590cb
mov edx, dword [esi + 8]
test bl, 8
jne 0x459063
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4590c6
test bl, 4
jne 0x459092
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4590c6
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4590ed
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x459114
cmp eax, 3
je 0x459114
xor eax, eax
jmp 0x459119
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44d34b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a12e
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a124
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459182
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x459283
cmp ebx, 0xc0
jb 0x459283
test bl, 0x20
jne 0x4591c4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459280
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4591ee
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459283
mov edx, dword [esi + 8]
test bl, 8
jne 0x459214
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x459277
test bl, 4
jne 0x459243
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x459277
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x24
je 0x4592ae
cmp ebx, 0x40
je 0x4592ae
cmp ebx, 0x60
je 0x4592ae
cmp ebx, 0xa0
jb 0x4592a2
cmp ebx, 0xd7ff
jbe 0x4592ae
cmp ebx, 0xe000
jae 0x4592ae
xor eax, eax
jmp 0x4592b3
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44dc92
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a147
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a13d
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45931c
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45941d
cmp ebx, 0xc0
jb 0x45941d
test bl, 0x20
jne 0x45935e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45941a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459388
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45941d
mov edx, dword [esi + 8]
test bl, 8
jne 0x4593ae
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x459411
test bl, 4
jne 0x4593dd
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x459411
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x459460
je case.0x459480.8192
cmp ebx, 0x85
ja 0x45944c
je case.0x459480.8192
cmp ebx, 9
jb case.0x459480.8203
cmp ebx, 0xd
jbe case.0x459480.8192
cmp ebx, 0x20
jmp 0x459495
cmp ebx, 0xa0
je case.0x459480.8192
cmp ebx, 0x1680
jmp 0x459495
cmp ebx, 0x202f
ja 0x459487
je case.0x459480.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x459480.8203
movzx eax, byte [eax + 0x45a9bc]
jmp dword [eax*4 + 0x45a9b4]
cmp ebx, 0x205f
je case.0x459480.8192
cmp ebx, 0x3000
je case.0x459480.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x512948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4594b9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
cmp dword [eax*4 + 0x5110d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x4594ec
jmp 0x44d34b
cmp dword [esi + 0x68], 0
jne 0x44dc92
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a160
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a156
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45954c
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x459642
cmp ebx, 0xc0
jb 0x459642
test bl, 0x20
jne 0x45958e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45963f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4595b6
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x459642
mov edx, dword [esi + 8]
test bl, 8
jne 0x4595dc
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45963f
test bl, 4
jne 0x45960b
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45963f
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x512948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x459665
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x514b48]
movzx eax, byte [eax*8 + 0x5112c9]
mov eax, dword [eax*4 + 0x5110d8]
cmp eax, 1
je 0x459691
cmp eax, 3
je 0x459691
cmp ebx, 0x5f
je 0x459691
xor eax, eax
jmp 0x459696
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44d34b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a179
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a16f
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
test edi, edi
jne case.0x455dc4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4596ff
mov esi, dword [esi]
test esi, esi
je 0x45a1c8
jmp 0x455db4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458976
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4597fc
cmp ebx, 0xc0
jb 0x4597fc
test bl, 0x20
jne 0x459741
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4597f9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459769
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4597fc
mov edx, dword [esi + 8]
test bl, 8
jne 0x45978f
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4597f2
test bl, 4
jne 0x4597be
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4597f2
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x511188]
lea eax, [eax*4 + 0x511188]
cmp ebx, ecx
jb 0x45981e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x459863
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x459811
cmp dword [esi + 0x68], 0
je 0x44dc92
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a192
push 0x134
call dword [0x1de7368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a188
mov esi, dword [esi]
test esi, esi
je 0x45a1bb
lea edi, [eax - 6]
jmp 0x455da9
cmp dword [esi + 0x68], 0
je 0x459828
jmp 0x44dc92
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 0x459871
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x44c54a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4598b3
push ecx
call dword [0x1de7364]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x44c54a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4576a9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4574b5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45784b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x457a50
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x457c19
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45828a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45843c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4585de
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x458779
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x458914
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x459128
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4594f2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4596a5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45982e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4592c2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x457f3d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x458c8b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x44c4d0
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x510fc0]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x44c4c0
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 0x459cb6
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 0x459cb6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x459a0f
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 0x459cb6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x459a0f
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 0x459cb6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x459a0f
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], ebx
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x44c4c0
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 0x459ea6
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 0x459ea6
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 0x459ea6
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 0x459ea6
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 0x459ea6
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 0x459cb6
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 0x459cb6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x459c67
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 0x44c4c0
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 + 0x510fc0]
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 0x44c4c0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x459ea6
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 0x459ea6
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 0x459ea6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x459e9d
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 0x44c4c0
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 0x459cb6
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 0x459cb6
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 0x459ea6
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 0x459ea6
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 0x459ea6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x459e9d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x459e9d
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x68
ret