Function at 0x448fe0
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 0x44906e
mov esi, dword [esi]
test esi, esi
je 0x456d11
mov edi, 0xfffffff8
jmp 0x452919
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x44908a
mov esi, dword [esi]
test esi, esi
je 0x456d1e
mov edi, 0xffffffeb
jmp 0x452919
cmp dword [ebp + 0x98], 2
jne 0x4490c1
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 0x4490c1
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.0x4490f4.98
movzx eax, byte [edx + 0x456f2c]
jmp dword [eax*4 + 0x456de0]
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 0x456575
push 0x134
call dword [0xc0165c]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45656f
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
mov edx, dword [esi + 4]
test edx, edx
jne 0x4565c5
push 0x134
call dword [0xc0165c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4565bf
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
mov edx, dword [esi + 4]
test edx, edx
jne 0x4565e3
push 0x134
call dword [0xc0165c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4565dd
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
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 0x456601
push 0x134
call dword [0xc0165c]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4565fb
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
mov edx, dword [esi + 4]
test edx, edx
jne 0x456616
push 0x134
call dword [0xc0165c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456610
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x44924e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x531aa0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x4490c1
mov edi, dword [esi + 4]
test edi, edi
jne 0x456634
push 0x134
call dword [0xc0165c]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45662e
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
mov edx, dword [esi + 4]
test edx, edx
jne 0x456649
push 0x134
call dword [0xc0165c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456643
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
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 0x456667
push 0x134
call dword [0xc0165c]
mov edi, eax
add esp, 4
test edi, edi
jne 0x456661
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
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 0x453e58
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.0x4490f4.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 0x4529bb
mov dword [esi + 0x54], ebx
jmp 0x449b5f
mov dword [esi + 0x54], ebx
jmp 0x449b83
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 0x4494c8
mov edi, dword [0xc06bf8]
test edi, edi
je 0x4494b4
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 0x44946e
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 0x4494a3
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452919
jns 0x4494b4
mov esi, dword [esi]
test esi, esi
je 0x452dfc
jmp 0x452919
movzx eax, byte [0x531b16]
add dword [esi + 0xc], eax
movzx eax, byte [0x531b16]
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.0x4494ee.146
movzx eax, byte [eax + 0x456fe8]
jmp dword [eax*4 + 0x456fd0]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x4494ee.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x449527
cmp edx, dword [edi + 4]
je 0x449527
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x452c53
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x452c53
cmp dword [ebp + 0xa4], ebx
je case.0x4494ee.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.0x4494ee.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 0x452c53
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x449570
jmp 0x452c53
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 0x4495d4
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x4495d4
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x4494ee.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x4494ee.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 0x452c53
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 0x449629
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x449638
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x449607
jmp 0x452c53
mov dword [esi + 0x58], 1
jmp 0x452c53
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45667c
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456676
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
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 0x4496d4
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x4490b6
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 0x4490b6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x449723
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 0x4490b6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x449776
cmp edx, 0x9f
je 0x449776
cmp dword [ebp + 0xa4], ebx
jne 0x449776
cmp dword [ebp + 0x5c], ebx
jne 0x449765
cmp dword [ebp + 0x60], ebx
je 0x449776
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x449776
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452919
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 0x452dfc
jmp 0x452919
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x4497cf
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x452d4d
mov dword [esi + 0x58], ebx
jmp 0x452d4d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x4497fb
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x452e9b
mov dword [esi + 0x58], ebx
jmp 0x452e9b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x449862
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x449848
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x450046.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x449844
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x449838
test edx, edx
jg 0x449820
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x4490b6
mov dword [ebp + 0x84], eax
jmp 0x4490b6
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 0x449848
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452920
mov edi, dword [0xc06bf8]
test edi, edi
je 0x44996c
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 0x449926
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 0x44995b
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452919
jns 0x44996c
mov esi, dword [esi]
test esi, esi
je 0x452dfc
jmp 0x452919
add dword [esi + 0xc], 6
jmp 0x4490ba
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 0x449996
xor edx, edx
jmp 0x4499a3
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 0x4499c3
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x4499bd
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x449a24
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4499b0
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 0x449a38
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x452f84
mov esi, dword [esi]
test esi, esi
je 0x456d42
mov edi, 0xffffffe6
jmp 0x452919
shl eax, 2
push eax
call dword [0xc01654]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x4499fe
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
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 0x449a61
jmp 0x4490c1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4566b7
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4566b1
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
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 0x449ac0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4566d5
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4566cf
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
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 0x449b13
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x4490c1
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 0x449b5f
cmp eax, 0x8b
jne 0x449b83
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 0x449ba0
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 0x453a6d
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 0x449c1d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x456a67
push 0x134
call dword [0xc0165c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456a5d
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
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 0x449c78
cmp al, 0x81
je 0x449c78
mov dword [esi + 0x38], ebx
jmp 0x449c89
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 0x449c96
cmp al, 0x80
jbe 0x449c9a
cmp al, 0x82
jne 0x449cc6
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 0x456d76
mov edi, 1
jmp 0x452919
cmp al, 0x85
je 0x449cda
cmp al, 0x8a
je 0x449cda
cmp al, 0x86
je 0x449cda
cmp al, 0x8b
jne 0x449da1
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 0x449d16
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x449d16
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x449cac
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 0x449d45
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x449da1
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x449d65
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x449d65
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 0x449da1
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x449dd7
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 0x456d4f
mov edi, 0xfffffc1a
jmp 0x452919
cmp cl, 0x78
je 0x449e50
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x449e50
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x449e1e
test ecx, ecx
jne 0x4566f6
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4566f0
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test ecx, ecx
jne 0x456717
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456711
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4530b7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456735
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45672f
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
cmp dword [ebp + 0x44], ebx
je case.0x4490f4.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x4490f4.1
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452919
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x449f78
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452919
cmp dword [ebp + 0x44], ebx
je 0x449eea
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x449eea
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452919
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x44a934
cmp ecx, dword [ebp + 0x78]
je 0x449f50
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x449f28
cmp ecx, edx
jbe 0x449f50
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00458fa0
add esp, 0x14
test eax, eax
jne 0x44a934
jmp 0x449f50
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x449f50
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x449f50
cmp edi, 1
je 0x44a934
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44a934
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452919
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x449eb5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x4490c1
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44a03a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x449fb5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00458e50
add esp, 0x14
test eax, eax
jne 0x44a934
jmp 0x449fd9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x449fd9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x449fd9
cmp edx, 1
je 0x44a934
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44a934
cmp dword [ebp + 0x88], ebx
je case.0x450046.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x450046.14
cmp dword [ebp + 0x18], ebx
jne case.0x450046.14
cmp dword [edi], 2
jne case.0x450046.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x450046.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x450046.14
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edi, 0xfffffff4
jmp 0x452919
cmp dword [ebp + 0x48], ebx
jne 0x449ebb
cmp dword [ebp + 0x88], ebx
je 0x44a934
cmp ecx, dword [ebp + 0x84]
jbe 0x44a934
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44a934
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edi, 0xfffffff4
jmp 0x452919
cmp dword [ebp + 0x48], ebx
jne 0x449ebb
cmp dword [ebp + 0x58], ebx
je case.0x4490f4.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x449ebb
cmp dword [ebp + 0x88], ebx
je 0x449f78
cmp eax, dword [ebp + 0x84]
jbe 0x449f78
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x449f78
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edi, 0xfffffff4
jmp 0x452919
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44a145
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44a10d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00458e50
add esp, 0x14
test eax, eax
jne 0x44a135
jmp 0x449fd9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x449fd9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x449fd9
cmp edx, 1
je 0x44a135
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x449fd9
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x449fd9
cmp dword [ebp + 0x88], ebx
je 0x44a934
cmp ecx, dword [ebp + 0x84]
jbe 0x44a934
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44a934
jmp 0x44a026
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44a447
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x44a195
mov dword [esi + 0x5c], ebx
jmp 0x44a2ce
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x44a1aa
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x44a1a0
cmp edx, dword [ebp + 0x84]
jae 0x44a1b8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44a26c
test bl, 0x20
jne 0x44a1e0
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x44a26c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44a1fa
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x44a262
and eax, 0x3f
test bl, 8
jne 0x44a215
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44a262
test bl, 4
jne 0x44a239
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 0x44a262
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 0x44a307
cmp ebx, 0x5f
jne 0x44a284
mov dword [esi + 0x5c], 1
jmp 0x44a2ce
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44a2a6
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x44a318
cmp eax, 3
je 0x44a318
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44a31f
cmp dword [ebp + 0x88], 0
je 0x44a2fb
cmp edx, dword [ebp + 0x84]
jbe 0x44a2fb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
mov dword [esi + 0x54], 0
jmp 0x44a585
cmp ebx, 0x100
jae 0x44a2c9
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44a2c9
mov eax, 1
jmp 0x44a2cb
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44a3c9
test bl, 0x20
jne 0x44a33f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x44a3c1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44a359
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x44a3c1
and eax, 0x3f
test bl, 8
jne 0x44a374
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x44a3c1
test bl, 4
jne 0x44a398
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 0x44a3c1
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 0x44a42c
cmp ebx, 0x5f
jne 0x44a3e0
mov dword [esi + 0x54], 1
jmp 0x44a585
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44a402
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x44a43d
cmp eax, 3
je 0x44a43d
xor eax, eax
jmp 0x44a582
cmp ebx, 0x100
jae 0x44a425
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44a425
mov eax, 1
jmp 0x44a582
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44a457
mov dword [esi + 0x5c], ebx
jmp 0x44a4f2
cmp eax, dword [ebp + 0x84]
ja 0x44a466
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x44a4de
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x44a480
mov dword [esi + 0x5c], 1
jmp 0x44a4f2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x533428]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a4a2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x44a4d0
cmp eax, 3
je 0x44a4d0
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x44a4ef
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x44a4ef
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 0x44a533
cmp dword [ebp + 0x88], ebx
je 0x44a52e
cmp eax, dword [ebp + 0x84]
jbe 0x44a52e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44a52e
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edi, 0xfffffff4
jmp 0x452920
mov dword [esi + 0x54], ebx
jmp 0x44a585
cmp dword [ebp + 0x54], ebx
je 0x44a572
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x44a549
mov dword [esi + 0x54], 1
jmp 0x44a585
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x533428]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a56b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x44a404
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 0x44a5a0
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x44a5a8
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x4490c1
jmp 0x449ebb
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x44a5ed
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x44a618
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.00458e50
add esp, 0x14
test eax, eax
jne 0x449ebb
jmp 0x44a618
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x44a618
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44a618
cmp edx, 1
je 0x449ebb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x449ebb
cmp dword [ebp + 0x88], ebx
je case.0x4490f4.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x4490f4.13
cmp dword [ebp + 0x18], ebx
jne case.0x4490f4.13
cmp dword [ebp + 0x1c], 2
jne case.0x4490f4.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x4490f4.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44a676
cmp dword [ebp + 0x88], ebx
je case.0x450046.14
cmp eax, dword [ebp + 0x84]
jbe case.0x450046.14
jmp 0x44a012
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x449f78
cmp eax, dword [ebp + 0x78]
jae 0x449f78
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x449f78
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x44a692
inc dword [esi + 0xc]
jmp 0x4490c1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44a659
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x4490c1
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x44a6ed
cmp dword [ebp + 0x88], ebx
je case.0x450046.14
cmp edi, dword [ebp + 0x84]
jbe case.0x450046.14
jmp 0x44a012
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44a7e9
cmp ebx, 0xc0
jb 0x44a7e9
test bl, 0x20
jne 0x44a72a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44a7e6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44a754
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44a7e9
mov edx, dword [esi + 8]
test bl, 8
jne 0x44a77a
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 0x44a7dd
test bl, 4
jne 0x44a7a9
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 0x44a7dd
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 0x44a934
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44a934
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452920
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44a91b
cmp ebx, 0xc0
jb 0x44a91b
test bl, 0x20
jne 0x44a85c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44a918
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44a886
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44a91b
mov edx, dword [esi + 8]
test bl, 8
jne 0x44a8ac
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 0x44a90f
test bl, 4
jne 0x44a8db
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 0x44a90f
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 0x44987d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44987d
inc dword [esi + 0xc]
jmp 0x4490ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44aa44
cmp ebx, 0xc0
jb 0x44aa44
test bl, 0x20
jne 0x44a985
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44aa41
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44a9af
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44aa44
mov edx, dword [esi + 8]
test bl, 8
jne 0x44a9d5
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 0x44aa38
test bl, 4
jne 0x44aa04
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 0x44aa38
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 0x44a934
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x44a7fc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44ab64
cmp ebx, 0xc0
jb 0x44ab64
test bl, 0x20
jne 0x44aaa5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ab61
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44aacf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44ab64
mov edx, dword [esi + 8]
test bl, 8
jne 0x44aaf5
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 0x44ab58
test bl, 4
jne 0x44ab24
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 0x44ab58
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 0x44987d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x44987d
inc dword [esi + 0xc]
jmp 0x4490ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44ac8d
cmp ebx, 0xc0
jb 0x44ac8d
test bl, 0x20
jne 0x44abce
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ac8a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44abf8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44ac8d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ac1e
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 0x44ac81
test bl, 4
jne 0x44ac4d
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 0x44ac81
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 0x44a934
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x44a7fc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44adad
cmp ebx, 0xc0
jb 0x44adad
test bl, 0x20
jne 0x44acee
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44adaa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ad18
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44adad
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ad3e
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 0x44ada1
test bl, 4
jne 0x44ad6d
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 0x44ada1
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 0x44987d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44987d
inc dword [esi + 0xc]
jmp 0x4490ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44aed6
cmp ebx, 0xc0
jb 0x44aed6
test bl, 0x20
jne 0x44ae17
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44aed3
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ae41
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44aed6
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ae67
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 0x44aeca
test bl, 4
jne 0x44ae96
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 0x44aeca
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 0x44af4f
je 0x44aef1
cmp ebx, 0xa
je 0x44a934
jbe 0x44a802
cmp ebx, 0xc
jmp 0x44af69
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44af3a
cmp dword [ebp + 0x88], 0
je 0x44a934
cmp eax, dword [ebp + 0x84]
jbe 0x44a934
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44a934
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edi, 0xfffffff4
jmp 0x452920
cmp byte [eax], 0xa
jne 0x44a934
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x4490ba
cmp ebx, 0x85
je 0x44af6f
cmp ebx, 0x2027
jbe 0x44a802
cmp ebx, 0x2029
ja 0x44a802
cmp dword [ebp + 0x68], 0
jmp 0x44a7fc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44b080
cmp ebx, 0xc0
jb 0x44b080
test bl, 0x20
jne 0x44afc1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b07d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44afeb
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44b080
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b011
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 0x44b074
test bl, 4
jne 0x44b040
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 0x44b074
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 0x44b0b8
je 0x44987d
cmp ebx, 0xa0
ja 0x44b0ad
je 0x44987d
cmp ebx, 9
je 0x44987d
cmp ebx, 0x20
jmp 0x44a92e
cmp ebx, 0x1680
jmp 0x44a92e
cmp ebx, 0x205f
ja 0x44b0e9
je 0x44987d
cmp ebx, 0x2000
jb 0x44a934
cmp ebx, 0x200a
jbe 0x44987d
cmp ebx, 0x202f
jmp 0x44a92e
cmp ebx, 0x3000
je 0x44987d
inc dword [esi + 0xc]
jmp 0x4490ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44b205
cmp ebx, 0xc0
jb 0x44b205
test bl, 0x20
jne 0x44b146
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b202
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b170
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44b205
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b196
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 0x44b1f9
test bl, 4
jne 0x44b1c5
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 0x44b1f9
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 0x44b23d
je 0x44a934
cmp ebx, 0xa0
ja 0x44b232
je 0x44a934
cmp ebx, 9
je 0x44a934
cmp ebx, 0x20
jmp 0x44a7fc
cmp ebx, 0x1680
jmp 0x44a7fc
cmp ebx, 0x205f
ja 0x44b26e
je 0x44a934
cmp ebx, 0x2000
jb 0x44a802
cmp ebx, 0x200a
jbe 0x44a934
cmp ebx, 0x202f
jmp 0x44a7fc
cmp ebx, 0x3000
jmp 0x44a7fc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44b381
cmp ebx, 0xc0
jb 0x44b381
test bl, 0x20
jne 0x44b2c2
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b37e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b2ec
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44b381
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b312
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 0x44b375
test bl, 4
jne 0x44b341
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 0x44b375
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 0x44b3a9
je 0x44a802
cmp ebx, 0xa
jb 0x44a934
cmp ebx, 0xd
jbe 0x44a802
inc dword [esi + 0xc]
jmp 0x4490ba
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44a934
jmp 0x44a802
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44b4c5
cmp ebx, 0xc0
jb 0x44b4c5
test bl, 0x20
jne 0x44b406
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b4c2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b430
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44b4c5
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b456
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 0x44b4b9
test bl, 4
jne 0x44b485
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 0x44b4b9
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 0x44b4ea
je 0x44a934
cmp ebx, 0xa
jb 0x44987d
cmp ebx, 0xd
jbe 0x44a934
jmp 0x44987d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44987d
inc dword [esi + 0xc]
jmp 0x4490ba
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44b5fd
cmp ebx, 0xc0
jb 0x44b5fd
test bl, 0x20
jne 0x44b549
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b5fa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b571
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x44b5fd
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b597
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 0x44b5fa
test bl, 4
jne 0x44b5c6
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 0x44b5fa
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 + 0x533428]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44b620
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 + 0x535628]
cmp eax, 0xa
ja case.default.0x44b63a
jmp dword [eax*4 + 0x456ffc]
cmp dword [esi + 0x9c], 0xf
jne 0x4490b6
jmp 0x449ebb
mov al, byte [edx*8 + 0x531da9]
cmp al, 9
je 0x44b66a
cmp al, 5
je 0x44b66a
cmp al, 8
je 0x44b66a
xor ecx, ecx
jmp 0x44b66f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x4490b6
jmp 0x449ebb
movzx ecx, byte [edx*8 + 0x531da9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x531bb8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x4490b6
jmp 0x449ebb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x531da9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x4490b6
jmp 0x449ebb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x531da8]
jmp 0x44b6cb
movzx eax, byte [edx*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x44b66a
cmp eax, 3
je 0x44b66a
xor ecx, ecx
jmp 0x44b66f
cmp ebx, 0x180e
ja 0x44b763
je case.0x44b63a.0
cmp ebx, 0x85
ja 0x44b74f
je case.0x44b63a.0
cmp ebx, 9
jb case.0x44b783.8203
cmp ebx, 0xd
jbe case.0x44b63a.0
cmp ebx, 0x20
jmp 0x44b79c
cmp ebx, 0xa0
je case.0x44b63a.0
cmp ebx, 0x1680
jmp 0x44b79c
cmp ebx, 0x202f
ja 0x44b78a
je case.0x44b63a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x44b783.8203
movzx eax, byte [ebx + 0x457030]
jmp dword [eax*4 + 0x457028]
cmp ebx, 0x205f
je case.0x44b63a.0
cmp ebx, 0x3000
je case.0x44b63a.0
movzx eax, byte [edx*8 + 0x531da9]
xor ecx, ecx
cmp dword [eax*4 + 0x531bb8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x44b6d7
movzx eax, byte [edx*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x44b66a
cmp eax, 3
je 0x44b66a
cmp ebx, 0x5f
je 0x44b66a
xor ecx, ecx
jmp 0x44b66f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x531c68]
lea eax, [eax*4 + 0x531c68]
cmp ebx, ecx
jb 0x44b81d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x44b82f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x44b810
cmp dword [esi + 0x9c], 0x10
jne 0x4490b6
jmp 0x449ebb
cmp dword [esi + 0x9c], 0x10
je 0x4490b6
jmp 0x449ebb
cmp ebx, 0x24
je 0x44b66a
cmp ebx, 0x40
je 0x44b66a
cmp ebx, 0x60
je 0x44b66a
cmp ebx, 0xa0
jb 0x44b870
cmp ebx, 0xd7ff
jbe 0x44b66a
cmp ebx, 0xe000
jae 0x44b66a
xor ecx, ecx
jmp 0x44b66f
mov esi, dword [esi]
test esi, esi
je case.default.0x452934
mov edi, 0xfffffff2
jmp 0x452919
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x44b9a2
cmp ebx, 0xc0
jb 0x44b9a2
test bl, 0x20
jne 0x44b8e0
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44b99f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44b90f
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 0x44b9a2
mov edx, dword [esi + 8]
test bl, 8
jne 0x44b935
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 0x44b998
test bl, 4
jne 0x44b964
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 0x44b998
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44b9c4
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531daa]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44bb56
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x44baee
cmp ebx, 0xc0
jb 0x44baee
test bl, 0x20
jne 0x44ba25
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x44bae6
test bl, 0x10
jne 0x44ba4a
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 0x44bae6
test bl, 8
jne 0x44ba78
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 0x44bae6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x44bab2
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 0x44bae6
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44bb10
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx ecx, byte [eax*8 + 0x531daa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x531c30], eax
je 0x44bb56
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 0x44b9f0
cmp dword [ebp + 0x88], 0
je 0x44a934
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44a934
cmp eax, dword [ebp + 0x84]
jbe 0x44a934
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44a934
jmp 0x44a026
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 0x44bc84
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 0x44bc14
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x44bc1d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x44bbf0
jmp 0x44bc84
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x44bc84
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 0x44bc74
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x44bc74
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x44bc7e
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.0x44bc9f
movzx eax, byte [eax + 0x457064]
jmp dword [eax*4 + 0x45705c]
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 + 0x5310f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x531104]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44bd2d
mov dword [esi + 0x8c], closesocket
jmp 0x44bd2d
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 0x44bd29
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x4490c1
jns 0x44bd51
cmp dword [esi + 0x90], 0
je 0x4490c1
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44bd8f
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.00457560
add esp, 0x14
test eax, eax
js 0x44bdc1
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x44bd60
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x4490c1
cmp dword [esp + 0x80], 0
je 0x44bdea
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4531d2
cmp eax, 0xfffffffe
jne 0x44bdcc
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x450046.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x450046.14
jmp 0x44a665
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x44be00
cmp edi, dword [esi + 0x8c]
jge 0x453221
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00457560
add esp, 0x14
test eax, eax
js 0x44be35
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x44be00
cmp eax, 0xfffffffe
jne 0x453221
cmp dword [ebp + 0x88], 0
je 0x453221
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x453221
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x453221
jmp 0x44a026
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.00457560
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x44bef9
cmp eax, 0xfffffffe
jne 0x44bea5
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x4537fd.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4537fd.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4537fd.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4537fd.14
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x452924
add dword [esi + 8], eax
jmp 0x4490ba
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.0x44bf27
movzx eax, byte [eax + 0x457074]
jmp dword [eax*4 + 0x45706c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x44bf4a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x44bf55
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x5310f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x531104]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44bfec
mov dword [esi + 0x8c], closesocket
jmp 0x44bfec
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 0x44bfd2
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x44bfec
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44c14c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44c1a1
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x44c0fc
test bl, 0x20
jne 0x44c04a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44c0f9
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44c071
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44c0f7
test bl, 8
jne 0x44c094
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 0x44c0f7
test bl, 4
jne 0x44c0c3
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 0x44c0f7
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 0x44c10d
cmp dword [esi + 0x9c], 0x6e
jmp 0x44c122
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.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44c010
jmp 0x44c193
cmp dword [ebp + 0x88], 0
je case.0x450046.14
mov eax, dword [esi + 8]
jmp 0x44a665
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44c19a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c137
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.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44c160
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4490ba
test ebx, ebx
je 0x44c1ca
test edx, edx
jne 0x456437
mov dword [esi + 0x84], eax
jmp 0x4532bb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x44c382
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x44c36f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x44c347
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x44c2f6
test bl, 0x20
jne 0x44c23b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x44c2f6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44c263
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x44c2ec
and eax, 0x3f
test bl, 8
jne 0x44c289
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 0x44c2ec
test bl, 4
jne 0x44c2b8
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 0x44c2ec
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 0x44c307
cmp dword [esi + 0x9c], 0x6e
jmp 0x44c31c
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 0x44c36f
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 0x44c1f1
jmp 0x44c36f
cmp dword [ebp + 0x88], 0
je 0x44c36f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44c36f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
je 0x45427c
jmp 0x4490ba
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x44c3fa
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44c3d2
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 0x44c3fa
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 0x44c391
jmp 0x44c3fa
cmp dword [ebp + 0x88], 0
je 0x44c3fa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44c3fa
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
je 0x4532fb
jmp 0x4490ba
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.0x44c445
movzx eax, byte [eax + 0x457088]
jmp dword [eax*4 + 0x457080]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x44c468
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x44c473
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x5310f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x531104]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44c50a
mov dword [esi + 0x8c], closesocket
jmp 0x44c50a
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 0x44c4f0
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x44c50a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44c645
jmp 0x44c520
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44c61a
cmp edx, 0xc0
jb 0x44c61a
test dl, 0x20
jne 0x44c568
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44c617
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44c58f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44c615
test dl, 8
jne 0x44c5b2
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 0x44c615
test dl, 4
jne 0x44c5e1
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 0x44c615
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.004587e0
add esp, 0xc
test eax, eax
je case.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44c520
jmp 0x44c64c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4490c1
cmp dword [esp + 0x84], 0
jne 0x456448
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 0x44c7dd
jmp 0x44c690
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44c7b3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x44c77b
cmp edx, 0xc0
jb 0x44c77b
test dl, 0x20
jne 0x44c6dc
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x44c77b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x44c6fb
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x44c771
and eax, 0x3f
test dl, 8
jne 0x44c71b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x44c771
test dl, 4
jne 0x44c744
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 0x44c771
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.004587e0
add esp, 0xc
test eax, eax
je 0x44c7dd
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x44c690
jmp 0x44c7dd
cmp dword [ebp + 0x88], 0
je 0x44c7d6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44c7d6
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x44a026
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x4490c1
jmp 0x454091
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44c9c9
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 0x44c950
test al, 0x20
jne 0x44c850
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 0x44c950
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x44c88a
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 0x44c950
test al, 8
jne 0x44c8c6
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 0x44c950
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44c90b
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 0x44c950
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 0x44c989
cmp dword [ebp + 0x88], ebx
je case.0x450046.14
cmp edx, edi
jb case.0x450046.14
cmp edx, dword [ebp + 0x84]
jbe case.0x450046.14
jmp 0x44a012
test ecx, ecx
jle 0x44c9be
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.0x450046.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x44c990
dec dword [esi + 0x88]
jmp 0x4490ba
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x44ca16
cmp dword [ebp + 0x88], ebx
je 0x44987d
cmp edi, dword [ebp + 0x84]
jbe 0x44987d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44987d
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edi, 0xfffffff4
jmp 0x452920
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 0x44cd2b
jmp 0x449ebb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44a6d0
cmp dword [esp + 0x8c], ebx
je 0x44cd0c
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 0x44cb9b
test al, 0x20
jne 0x44ca9b
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 0x44cb9b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x44cad5
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 0x44cb9b
test al, 8
jne 0x44cb11
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 0x44cb9b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44cb56
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 0x44cb9b
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 0x44cbc9
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x449ebb
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x4490ba
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x44ccab
test bl, 0x20
jne 0x44cbf9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44cca8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44cc20
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44cca6
test bl, 8
jne 0x44cc43
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 0x44cca6
test bl, 4
jne 0x44cc72
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 0x44cca6
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 0x4490ba
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x533428]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44cce5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x535628]
mov eax, dword [eax*8 + 0x531dac]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x4490c1
jmp 0x449ebb
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 0x449ebb
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x4490ba
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 0x44ce5d
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 0x44cd94
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x44cd9f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x44ce5d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44ce64
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x44ce64
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x44ce64
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 + 0x5310f8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x531104]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44ce5d
mov dword [esi + 0x8c], closesocket
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x44d2d8
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 0x44cfab
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x44cec1
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 0x44cfab
test bl, 0x10
jne 0x44cef6
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 0x44cfab
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 0x44cf34
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 0x44cfab
test bl, 4
jne 0x44cf6d
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 0x44cfab
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 0x44d2e7
cmp dword [esi + 0x9c], 0x2e
jb 0x44d01c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x533428]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44cff3
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x535628]
mov ecx, dword [eax*8 + 0x531dac]
add ecx, edi
cmp ecx, edi
je 0x44d01c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.00458780
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x44d023
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x44d156
jmp 0x44d040
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 0x44d0c4
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x44d078
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44d081
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44d067
cmp edi, 0xfffffffc
je 0x44d138
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44d0ba
cmp edi, 0xfffffffd
je 0x44d138
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44d0ba
cmp edi, 0xfffffffe
je 0x44d138
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44d0ba
cmp edi, 0xffffffff
je 0x44d138
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44d138
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x44bdcc
sub ecx, ebx
cmp edi, ecx
ja 0x44bdcc
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x44d0f6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44d0fb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44d0e5
cmp edi, 0xfffffffc
je 0x44d138
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44bdcc
cmp edi, 0xfffffffd
je 0x44d138
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44bdcc
cmp edi, 0xfffffffe
je 0x44d138
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44bdcc
cmp edi, 0xffffffff
je 0x44d138
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44bdcc
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x44d040
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x4490c1
cmp dword [esp + 0x84], 0
jne 0x456459
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 0x44d2c5
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 0x44d21c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x44d1d8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44d1e1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44d1c7
cmp edi, 0xfffffffc
je 0x44d278
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44d212
cmp edi, 0xfffffffd
je 0x44d278
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44d212
cmp edi, 0xfffffffe
je 0x44d278
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44d212
cmp edi, 0xffffffff
je 0x44d278
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44d278
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x44d298
sub ecx, ebx
cmp edi, ecx
ja 0x44d298
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x44d246
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44d24b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44d235
cmp edi, 0xfffffffc
je 0x44d278
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44d298
cmp edi, 0xfffffffd
je 0x44d278
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44d298
cmp edi, 0xfffffffe
je 0x44d278
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44d298
cmp edi, 0xffffffff
je 0x44d278
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44d298
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x44d1a0
jmp 0x44d2c5
cmp dword [ebp + 0x88], 0
je 0x44d2c5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44d2c5
cmp eax, dword [ebp + 0x84]
jbe 0x44d2c5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
je 0x45443c
jmp 0x4490ba
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x44d3df
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 0x44d344
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c137
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x44d337
cmp dword [esi + 0x94], ecx
jne case.0x450046.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x44d314
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4490ba
cmp dword [esp + 0x84], 0
je 0x44d36b
mov dword [esi + 0x84], eax
jmp 0x45339b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x44d3d2
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44d3aa
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x44d39b
cmp dword [esi + 0x94], ecx
jne 0x44d3d2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x44d380
jmp 0x44d3d2
cmp dword [ebp + 0x88], 0
je 0x44d3d2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44d3d2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
test edi, edi
je 0x4533db
jmp 0x4490ba
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44d41a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44d3f0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x4490c1
cmp dword [esp + 0x84], 0
je 0x44d448
mov dword [esi + 0x84], eax
jmp 0x453468
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x44d4ac
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44d484
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x44d4ac
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x44d460
jmp 0x44d4ac
cmp dword [ebp + 0x88], 0
je 0x44d4ac
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44d4ac
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
je 0x4534a8
jmp 0x4490c1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x44d4e4
cmp dword [ebp + 0x88], ebx
je case.0x450046.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x450046.14
jmp 0x44a012
test edi, edi
je 0x44d75c
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 0x44d5e5
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x44d522
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44d5e2
test bl, 0x10
jne 0x44d543
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 0x44d5e2
test bl, 8
jne 0x44d56e
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 0x44d5e5
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x44d5a7
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 0x44d5e2
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 0x44d6d8
test dl, 0x20
jne 0x44d61f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44d6ce
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44d646
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44d6cc
test dl, 8
jne 0x44d669
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 0x44d6cc
test dl, 4
jne 0x44d698
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 0x44d6cc
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 0x44d6f5
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x4490c1
jmp 0x449ebb
cmp ebx, 0x7f
jbe 0x44d732
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x533428]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44d71d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x535628]
mov ecx, dword [eax*8 + 0x531dac]
add ecx, ebx
jmp 0x44d739
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x449ebb
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x4490c1
jmp 0x449ebb
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.0x450046.14
cmp dword [esi + 0x9c], 0x20
jne 0x44cd2b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x450046.14
add dword [esi + 0xc], 2
jmp 0x4490ba
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 0x44d8f6
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 0x44d7fb
cmp al, 0x4f
je 0x44d7fb
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x44d8f6
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x44d8f6
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44d8f6
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44d8f6
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44d8f6
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 0x44d8f6
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 + 0x5310f8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x531104]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44d8f6
mov dword [esi + 0x8c], closesocket
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
mov edi, dword [esi + 0xc]
test edx, edx
je 0x44da51
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x44da51
test al, 0x20
jne 0x44d948
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 0x44da51
test al, 0x10
jne 0x44d97b
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 0x44da51
test al, 8
jne 0x44d9bd
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 0x44da51
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44da08
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 0x44da4a
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 0x44de75
test edx, edx
je 0x44daac
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x44daac
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x533428]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44da90
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x535628]
mov eax, dword [eax*8 + 0x531dac]
add eax, edi
jmp 0x44dab9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x44dc00
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44dc4b
jmp 0x44dae0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x44dbd9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x44db1a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44dbd6
test cl, 0x10
jne 0x44db3b
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 0x44dbd6
test cl, 8
jne 0x44db65
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 0x44dbd6
test cl, 4
jne 0x44db9b
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 0x44dbd6
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.0x450046.14
cmp dword [esi + 0x94], ecx
je case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44dae0
jmp 0x44dc44
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x44dc44
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c137
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x450046.14
cmp dword [esi + 0x94], ecx
je case.0x450046.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x44dc10
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4490ba
test ebx, ebx
je 0x44dc74
test edx, edx
jne 0x45646a
mov dword [esi + 0x84], eax
jmp 0x45353f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x44ddfd
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44ddea
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x44ddc2
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x44dd9e
test dl, 0x20
jne 0x44dcd2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x44dd9e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x44dcfc
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 0x44dd9c
test dl, 8
jne 0x44dd28
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 0x44dd9c
test dl, 4
jne 0x44dd60
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 0x44dd9c
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 0x44ddea
cmp dword [esi + 0x94], edx
je 0x44ddea
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x44dc94
jmp 0x44ddea
cmp dword [ebp + 0x88], 0
je 0x44ddea
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44ddea
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
je 0x45461c
jmp 0x4490ba
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x44de62
jmp 0x44de10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44de3a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x44de62
cmp dword [esi + 0x94], ecx
je 0x44de62
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x44de10
jmp 0x44de62
cmp dword [ebp + 0x88], 0
je 0x44de62
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44de62
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
je 0x45357f
jmp 0x4490ba
test edx, edx
je 0x44df97
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44dfd5
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44df7c
test dl, 0x20
jne 0x44deca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44df79
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44def1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44df77
test dl, 8
jne 0x44df14
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 0x44df77
test dl, 4
jne 0x44df43
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 0x44df77
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.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44de90
jmp 0x44dfce
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44dfd5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44dfa4
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4490ba
cmp dword [esp + 0x84], 0
je 0x44e004
test edx, edx
jne 0x45647f
mov dword [esi + 0x84], eax
jmp 0x45360c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x44e188
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44e175
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x44e14d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x44e131
test dl, 0x20
jne 0x44e062
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x44e131
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x44e08c
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 0x44e12f
test dl, 8
jne 0x44e0bb
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 0x44e12f
test dl, 4
jne 0x44e0f3
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 0x44e12f
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 0x44e175
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x44e024
jmp 0x44e175
cmp dword [ebp + 0x88], 0
je 0x44e175
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44e175
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
je 0x4547e0
jmp 0x4490ba
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x44e1e2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e1ba
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x44e1e2
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x44e196
jmp 0x44e1e2
cmp dword [ebp + 0x88], 0
je 0x44e1e2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44e1e2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
je 0x45364c
jmp 0x4490ba
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 0x44e334
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 0x44e334
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44e334
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44e334
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x44e334
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 0x44e334
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x5310a3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x5310af]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44e334
mov dword [esi + 0x8c], closesocket
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x10
je 0x44e356
cmp ecx, 0xf
je 0x44e356
mov dword [esi + 0x60], 0xffffffff
jmp 0x44e379
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 0x45031b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x44f128
cmp eax, 0xa
ja case.default.0x44b63a
jmp dword [eax*4 + 0x457094]
cmp dword [esi + 0x68], ebx
jne 0x449ebb
mov edx, 1
cmp ecx, edx
jl 0x45031b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x44e3ff
cmp ecx, 0xc0
jb 0x44e3ff
test cl, 0x20
jne 0x44e3db
inc eax
jmp 0x44e3fc
test cl, 0x10
jne 0x44e3e5
add eax, 2
jmp 0x44e3fc
test cl, 8
jne 0x44e3ef
add eax, 3
jmp 0x44e3fc
test cl, 4
jne 0x44e3f9
add eax, 4
jmp 0x44e3fc
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x44e3b8
jmp 0x45031b
cmp dword [ebp + 0x88], ebx
je case.0x450046.14
mov eax, dword [esi + 8]
jmp 0x44a665
mov edi, 1
cmp ecx, edi
jl 0x45031b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44e52a
cmp ebx, 0xc0
jb 0x44e52a
test bl, 0x20
jne 0x44e478
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44e527
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e49f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44e525
test bl, 8
jne 0x44e4c2
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 0x44e525
test bl, 4
jne 0x44e4f1
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 0x44e525
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44e54c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
cmp eax, 9
je 0x44e571
cmp eax, 5
je 0x44e571
cmp eax, 8
je 0x44e571
xor eax, eax
jmp 0x44e576
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e430
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x45031b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44e698
cmp ebx, 0xc0
jb 0x44e698
test bl, 0x20
jne 0x44e5e8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44e695
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e60f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44e695
test bl, 8
jne 0x44e632
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 0x44e695
test bl, 4
jne 0x44e661
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 0x44e695
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44e6ba
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e5a0
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x45031b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44e7fb
cmp ebx, 0xc0
jb 0x44e7fb
test bl, 0x20
jne 0x44e74b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44e7f8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e772
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44e7f8
test bl, 8
jne 0x44e795
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 0x44e7f8
test bl, 4
jne 0x44e7c4
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 0x44e7f8
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44e81d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e703
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x45031b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44e958
cmp ebx, 0xc0
jb 0x44e958
test bl, 0x20
jne 0x44e8a8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44e955
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e8cf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44e955
test bl, 8
jne 0x44e8f2
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 0x44e955
test bl, 4
jne 0x44e921
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 0x44e955
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44e97a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e860
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x45031b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44eaba
cmp ebx, 0xc0
jb 0x44eaba
test bl, 0x20
jne 0x44ea08
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44eab7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ea2f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44eab5
test bl, 8
jne 0x44ea52
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 0x44eab5
test bl, 4
jne 0x44ea81
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 0x44eab5
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44eadc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x44eb03
cmp eax, 3
je 0x44eb03
xor eax, eax
jmp 0x44eb08
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44e9c0
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x45031b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44ec2a
cmp ebx, 0xc0
jb 0x44ec2a
test bl, 0x20
jne 0x44eb78
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44ec27
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44eb9f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44ec25
test bl, 8
jne 0x44ebc2
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 0x44ec25
test bl, 4
jne 0x44ebf1
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 0x44ec25
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 0x44ec6d
je case.0x44ec89.8192
cmp ebx, 0x85
ja 0x44ec59
je case.0x44ec89.8192
cmp ebx, 9
jb case.0x44ec89.8203
cmp ebx, 0xd
jbe case.0x44ec89.8192
cmp ebx, 0x20
jmp 0x44ec9e
cmp ebx, 0xa0
je case.0x44ec89.8192
cmp ebx, 0x1680
jmp 0x44ec9e
cmp ebx, 0x202f
ja 0x44ec90
je case.0x44ec89.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x44ec89.8203
movzx eax, byte [eax + 0x4570c8]
jmp dword [eax*4 + 0x4570c0]
cmp ebx, 0x205f
je case.0x44ec89.8192
cmp ebx, 0x3000
je case.0x44ec89.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44ecc2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
cmp dword [eax*4 + 0x531bb8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x450046.14
jmp 0x44ecf6
cmp dword [esi + 0x68], 0
jne case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44eb30
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x45031b
jmp 0x44ed20
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44ee18
cmp ebx, 0xc0
jb 0x44ee18
test bl, 0x20
jne 0x44ed68
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44ee15
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ed8f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44ee15
test bl, 8
jne 0x44edb2
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 0x44ee15
test bl, 4
jne 0x44ede1
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 0x44ee15
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 + 0x533428]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44ee3b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x44ee67
cmp eax, 3
je 0x44ee67
cmp ebx, 0x5f
je 0x44ee67
xor eax, eax
jmp 0x44ee6c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x450046.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44ed20
jmp 0x45031b
mov ebx, 1
cmp ecx, ebx
jl 0x45031b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44ef8c
cmp edx, 0xc0
jb 0x44ef8c
test dl, 0x20
jne 0x44eedc
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44ef89
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44ef03
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x44ef89
test dl, 8
jne 0x44ef26
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 0x44ef89
test dl, 4
jne 0x44ef55
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 0x44ef89
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 + 0x531c68]
lea eax, [eax*4 + 0x531c68]
cmp edx, ecx
jb 0x44efae
lea eax, [eax + 4]
cmp edx, ecx
je 0x44efca
mov ecx, dword [eax]
cmp edx, ecx
jae 0x44efa1
cmp dword [esi + 0x68], 0
je case.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44ee94
jmp 0x45031b
cmp dword [esi + 0x68], 0
jne case.0x450046.14
jmp 0x44efb8
mov ebx, 1
cmp ecx, ebx
jl 0x45031b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44f0dd
cmp edx, 0xc0
jb 0x44f0dd
test dl, 0x20
jne 0x44f02b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44f0da
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44f052
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44f0d8
test dl, 8
jne 0x44f075
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 0x44f0d8
test dl, 4
jne 0x44f0a4
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 0x44f0d8
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 0x44f108
cmp edx, 0x40
je 0x44f108
cmp edx, 0x60
je 0x44f108
cmp edx, 0xa0
jb 0x44f0fc
cmp edx, 0xd7ff
jbe 0x44f108
cmp edx, 0xe000
jae 0x44f108
xor eax, eax
jmp 0x44f10d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44efe3
jmp 0x45031b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x44f453
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x45031b
jmp 0x44f150
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44c137
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x44f250
cmp ebx, 0xc0
jb 0x44f250
test bl, 0x20
jne 0x44f199
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44f24d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f1c0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x44f246
test bl, 8
jne 0x44f1e3
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 0x44f246
test bl, 4
jne 0x44f212
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 0x44f246
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44f272
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531daa]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f40d
jmp 0x44f2a0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x44f39e
cmp ebx, 0xc0
jb 0x44f39e
test bl, 0x20
jne 0x44f2d5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x44f396
test bl, 0x10
jne 0x44f2fa
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 0x44f396
test bl, 8
jne 0x44f328
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 0x44f396
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x44f362
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 0x44f396
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x44f3c0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx ecx, byte [eax*8 + 0x531daa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x531c30], eax
je 0x44f406
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 0x44f2a0
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x44f43a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44f43a
cmp eax, dword [ebp + 0x84]
jbe 0x44f43a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x44f150
jmp 0x45031b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x44ff1f
cmp eax, 0xf
ja case.0x452467.9
jmp dword [eax*4 + 0x4570f4]
mov ebx, 1
cmp ecx, ebx
jl 0x450322
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44c137
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44f4b7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00458e50
add esp, 0x14
test eax, eax
jne case.0x450046.14
jmp 0x44f4db
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44f4db
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44f4db
cmp edx, 1
je case.0x450046.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x450046.14
cmp dword [ebp + 0x88], 0
je 0x44f516
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x44f516
cmp dword [ebp + 0x18], 0
jne 0x44f516
cmp dword [edi], 2
jne 0x44f516
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x44f516
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44f532
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44f532
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x44f521
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f482
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x44e40d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x44f588
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44f588
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x44f570
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44f554
jmp 0x45031b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x449ebb
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x45031b
mov ebx, 1
cmp ecx, ebx
jl 0x450322
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44f6ac
test dl, 0x20
jne 0x44f5fa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44f6a9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44f621
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44f6a7
test dl, 8
jne 0x44f644
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 0x44f6a7
test dl, 4
jne 0x44f673
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 0x44f6a7
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 0x44f6d0
je 0x44f6bd
cmp edx, 0xa
je 0x44f6f1
lea eax, [edx - 0xb]
jmp 0x44f6de
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f6f1
cmp byte [eax], 0xa
jne 0x44f6f1
inc eax
mov dword [esi + 8], eax
jmp 0x44f6f1
cmp edx, 0x85
je 0x44f6e7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x450046.14
cmp dword [ebp + 0x68], 0
jne case.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f5c0
jmp 0x45031b
mov ebx, 1
cmp ecx, ebx
jl 0x450322
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44f7fc
test dl, 0x20
jne 0x44f74a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44f7f9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44f771
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44f7f7
test dl, 8
jne 0x44f794
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 0x44f7f7
test dl, 4
jne 0x44f7c3
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 0x44f7f7
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 0x44f82e
je case.0x450046.14
cmp edx, 0xa0
ja 0x44f826
je case.0x450046.14
cmp edx, 9
je case.0x450046.14
cmp edx, 0x20
jmp 0x44f85e
cmp edx, 0x1680
jmp 0x44f85e
cmp edx, 0x205f
ja 0x44f858
je case.0x450046.14
cmp edx, 0x2000
jb 0x44f864
cmp edx, 0x200a
jbe case.0x450046.14
cmp edx, 0x202f
jmp 0x44f85e
cmp edx, 0x3000
je case.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f710
jmp 0x45031b
mov ebx, 1
cmp ecx, ebx
jl 0x450322
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44f96f
test dl, 0x20
jne 0x44f8bd
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44f96c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44f8e4
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44f96a
test dl, 8
jne 0x44f907
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 0x44f96a
test dl, 4
jne 0x44f936
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 0x44f96a
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 0x44f995
je 0x44f9c7
cmp edx, 0xa0
ja 0x44f98d
je 0x44f9c7
cmp edx, 9
je 0x44f9c7
cmp edx, 0x20
jmp 0x44f9c1
cmp edx, 0x1680
jmp 0x44f9c1
cmp edx, 0x205f
ja 0x44f9bb
je 0x44f9c7
cmp edx, 0x2000
jb case.0x450046.14
cmp edx, 0x200a
jbe 0x44f9c7
cmp edx, 0x202f
jmp 0x44f9c1
cmp edx, 0x3000
jne case.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f883
jmp 0x45031b
mov ebx, 1
cmp ecx, ebx
jl 0x450322
jmp 0x44f9f0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44fadc
test dl, 0x20
jne 0x44fa2a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44fad9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44fa51
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44fad7
test dl, 8
jne 0x44fa74
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 0x44fad7
test dl, 4
jne 0x44faa3
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 0x44fad7
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 0x44faf4
je case.0x450046.14
cmp edx, 0xa
jb 0x44fb08
cmp edx, 0xd
jmp 0x44fb02
cmp edx, 0x2028
jb 0x44fb08
cmp edx, 0x2029
jbe case.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f9f0
jmp 0x45031b
mov ebx, 1
cmp ecx, ebx
jl 0x450322
jmp 0x44fb30
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44fc1c
test dl, 0x20
jne 0x44fb6a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44fc19
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44fb91
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44fc17
test dl, 8
jne 0x44fbb4
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 0x44fc17
test dl, 4
jne 0x44fbe3
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 0x44fc17
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 0x44fc2e
je 0x44fc3d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x44fc37
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44fb30
jmp 0x45031b
mov ebx, 1
cmp ecx, ebx
jl 0x450322
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44c137
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44fd4c
test dl, 0x20
jne 0x44fc9a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44fd49
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44fcc1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44fd47
test dl, 8
jne 0x44fce4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x44fd47
test dl, 4
jne 0x44fd13
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x44fd47
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x80
jae 0x44fd61
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x450046.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44fc60
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e40d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x450046.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x450046.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x44fd80
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x44e40d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x44fdf3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x450046.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x44fe18
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44fe18
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x44fe00
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44fdd0
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e40d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x450046.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x450046.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x44fe33
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x44e40d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x44fea3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x450046.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x44fec8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44fec8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x44feb0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44fe80
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e40d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x450046.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x450046.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x44fee3
jmp 0x45031b
cmp eax, 0xf
ja case.0x452467.9
jmp dword [eax*4 + 0x457134]
mov ebx, 1
cmp ecx, ebx
jl 0x450322
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44c137
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44ff70
push 0
push edi
push eax
push edx
push ecx
call fcn.00458e50
add esp, 0x14
test eax, eax
jne case.0x450046.14
jmp 0x44ff94
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44ff94
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44ff94
cmp edx, 1
je case.0x450046.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x450046.14
cmp dword [ebp + 0x88], 0
je 0x44ffcf
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x44ffcf
cmp dword [ebp + 0x18], 0
jne 0x44ffcf
cmp dword [edi], 2
jne 0x44ffcf
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x44ffcf
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44ff40
jmp 0x45031b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x44f5a6
cmp dword [ebp + 0x88], ebx
je case.0x450046.14
cmp edx, dword [ebp + 0x84]
jbe case.0x450046.14
jmp 0x44a012
mov edx, 1
cmp ecx, edx
jl 0x45031b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44e40d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x450046.14
movzx eax, byte [eax + 0x457184]
jmp dword [eax*4 + 0x457174]
cmp ecx, dword [ebp + 0x78]
jae case.0x450046.10
cmp byte [ecx], 0xa
jne case.0x450046.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x450046.10
cmp dword [ebp + 0x68], ebx
jne case.0x450046.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x450020
jmp 0x45031b
mov edx, 1
cmp ecx, edx
jl 0x45031b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x450046.14
cmp ecx, 0x20
je case.0x450046.14
cmp ecx, 0xa0
je case.0x450046.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x450083
jmp 0x45031b
mov edx, 1
cmp ecx, edx
jl 0x45031b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x4500f9
cmp ecx, 0x20
je 0x4500f9
cmp ecx, 0xa0
jne case.0x450046.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4500d0
jmp 0x45031b
mov edx, 1
cmp ecx, edx
jl 0x45031b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x450141
cmp ecx, 0xd
jle case.0x450046.14
cmp ecx, 0x85
je case.0x450046.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x450114
jmp 0x45031b
mov edx, 1
cmp ecx, edx
jl 0x45031b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x450046.14
cmp ecx, 0xd
jle 0x45018d
cmp ecx, 0x85
jne case.0x450046.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x450160
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
jmp 0x4501b0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x450046.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4501b0
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x450046.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4501f0
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x450046.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x450230
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x450046.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x450270
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
jmp 0x4502b0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x450046.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4502b0
jmp 0x45031b
mov edi, 1
cmp ecx, edi
jl 0x450322
jmp 0x4502f0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44e40d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x450046.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4502f0
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x4490ba
cmp dword [esp + 0x84], 0
je 0x450382
mov eax, dword [esi + 0x60]
test eax, eax
js 0x450365
cmp eax, 0xa
ja case.0x452467.9
jmp dword [eax*4 + 0x457200]
mov esi, dword [esi]
test esi, esi
je case.default.0x452934
mov edi, 0xfffffff2
jmp 0x452920
cmp dword [esi + 0x7c], 0x16
je 0x456553
test edx, edx
jne 0x45653e
mov dword [esi + 0x84], ecx
jmp 0x4537b5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4513bb
cmp eax, 0xa
ja case.0x452467.9
jmp dword [eax*4 + 0x45722c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4513a8
mov ebx, dword [esp + 0x8c]
jmp 0x4503c0
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x45042b
movzx ecx, byte [edx]
test ebx, ebx
je 0x45040e
cmp ecx, 0xc0
jb 0x45040e
test cl, 0x20
jne 0x4503e8
mov eax, 2
jmp 0x45040e
test cl, 0x10
jne 0x4503f4
mov eax, 3
jmp 0x45040e
test cl, 8
jne 0x450400
mov eax, 4
jmp 0x45040e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4513a8
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4503c0
jmp 0x4513a8
cmp dword [ebp + 0x88], 0
je 0x4513a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4513a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4513a8
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x452920
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4513a8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4505ee
movzx ebx, byte [edi]
test edx, edx
je 0x45056c
cmp ebx, 0xc0
jb 0x45056c
test bl, 0x20
jne 0x4504ce
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x450564
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4504ed
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x450564
and eax, 0x3f
test bl, 8
jne 0x45050d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x450564
test bl, 4
jne 0x450536
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 0x450564
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x45058e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
cmp eax, 9
je 0x4505b3
cmp eax, 5
je 0x4505b3
cmp eax, 8
je 0x4505b3
xor eax, eax
jmp 0x4505b8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4513a8
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 0x450490
jmp 0x4513a8
cmp dword [ebp + 0x88], 0
je 0x4513a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4513a8
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4513a8
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edi, 0xfffffff4
jmp 0x452920
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4513a8
jmp 0x450650
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4507d2
movzx ebx, byte [edi]
test edx, edx
je 0x450753
cmp ebx, 0xc0
jb 0x450753
test bl, 0x20
jne 0x45069a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45074b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4506c2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45074b
and eax, 0x3f
test bl, 8
jne 0x4506e8
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 0x45074b
test bl, 4
jne 0x450717
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 0x45074b
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x450775
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4513a8
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 0x450650
jmp 0x4513a8
cmp dword [ebp + 0x88], 0
je 0x4513a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4513a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x450613
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4513a8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4507d2
movzx ebx, byte [edi]
test edx, edx
je 0x45091f
cmp ebx, 0xc0
jb 0x45091f
test bl, 0x20
jne 0x450866
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x450917
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45088e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x450917
and eax, 0x3f
test bl, 8
jne 0x4508b4
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 0x450917
test bl, 4
jne 0x4508e3
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 0x450917
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x450941
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4513a8
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 0x450820
jmp 0x4513a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4513a8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4507d2
movzx ebx, byte [edi]
test edx, edx
je 0x450ab3
cmp ebx, 0xc0
jb 0x450ab3
test bl, 0x20
jne 0x4509fa
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x450aab
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x450a22
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x450aab
and eax, 0x3f
test bl, 8
jne 0x450a48
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 0x450aab
test bl, 4
jne 0x450a77
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 0x450aab
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x450ad5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4513a8
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 0x4509b0
jmp 0x4513a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4513a8
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4505ee
movzx ebx, byte [edi]
test edx, edx
je 0x450c23
cmp ebx, 0xc0
jb 0x450c23
test bl, 0x20
jne 0x450b82
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x450c1b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x450ba4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x450c1b
and eax, 0x3f
test bl, 8
jne 0x450bc4
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x450c1b
test bl, 4
jne 0x450bed
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 0x450c1b
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x450c45
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x450c6c
cmp eax, 3
je 0x450c6c
xor eax, eax
jmp 0x450c71
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4513a8
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 0x450b44
jmp 0x4513a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4513a8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4507d2
movzx ebx, byte [edi]
test edx, edx
je 0x450dcd
cmp ebx, 0xc0
jb 0x450dcd
test bl, 0x20
jne 0x450d12
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x450dcd
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x450d3a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x450dc3
and eax, 0x3f
test bl, 8
jne 0x450d60
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 0x450dc3
test bl, 4
jne 0x450d8f
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 0x450dc3
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 0x450e10
je case.0x450e30.8192
cmp ebx, 0x85
ja 0x450dfc
je case.0x450e30.8192
cmp ebx, 9
jb case.0x450e30.8203
cmp ebx, 0xd
jbe case.0x450e30.8192
cmp ebx, 0x20
jmp 0x450e45
cmp ebx, 0xa0
je case.0x450e30.8192
cmp ebx, 0x1680
jmp 0x450e45
cmp ebx, 0x202f
ja 0x450e37
je case.0x450e30.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x450e30.8203
movzx eax, byte [eax + 0x457260]
jmp dword [eax*4 + 0x457258]
cmp ebx, 0x205f
je case.0x450e30.8192
cmp ebx, 0x3000
je case.0x450e30.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x450e69
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
cmp dword [eax*4 + 0x531bb8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4513a8
mov edx, dword [esp + 0x8c]
jmp 0x450ea4
cmp dword [esi + 0x68], 0
jne 0x4513a8
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 0x450cc0
jmp 0x4513a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4513a8
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4507d2
movzx ebx, byte [edi]
test edx, edx
je 0x450ff3
cmp ebx, 0xc0
jb 0x450ff3
test bl, 0x20
jne 0x450f3a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x450feb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x450f62
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x450feb
and eax, 0x3f
test bl, 8
jne 0x450f88
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 0x450feb
test bl, 4
jne 0x450fb7
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 0x450feb
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 + 0x533428]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x451016
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x451042
cmp eax, 3
je 0x451042
cmp ebx, 0x5f
je 0x451042
xor eax, eax
jmp 0x451047
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4513a8
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 0x450ef0
jmp 0x4513a8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4513a8
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4511df
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x451181
cmp edx, 0xc0
jb 0x451181
test dl, 0x20
jne 0x4510e4
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x451179
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451103
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x451179
and eax, 0x3f
test dl, 8
jne 0x451123
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x451179
test dl, 4
jne 0x45114c
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 0x451179
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 + 0x531c68]
lea eax, [eax*4 + 0x531c68]
cmp edx, ecx
jb 0x4511a3
lea eax, [eax + 4]
cmp edx, ecx
je 0x4511d3
mov ecx, dword [eax]
cmp edx, ecx
jae 0x451196
cmp dword [esi + 0x68], 0
je 0x4513a8
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 0x4510a0
jmp 0x4513a8
cmp dword [esi + 0x68], 0
jne 0x4513a8
jmp 0x4511ad
cmp dword [ebp + 0x88], 0
je 0x4513a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4513a8
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x4513a8
jmp 0x44a026
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4513a8
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x451380
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x451337
cmp edx, 0xc0
jb 0x451337
test dl, 0x20
jne 0x45126d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x451337
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x451297
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 0x451337
test dl, 8
jne 0x4512c3
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 0x451337
test dl, 4
jne 0x4512fb
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 0x451337
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 0x451362
cmp edx, 0x40
je 0x451362
cmp edx, 0x60
je 0x451362
cmp edx, 0xa0
jb 0x451356
cmp edx, 0xd7ff
jbe 0x451362
cmp edx, 0xe000
jae 0x451362
xor ecx, ecx
jmp 0x451367
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x4513a8
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451221
jmp 0x4513a8
cmp dword [ebp + 0x88], 0
je 0x4513a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4513a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
je 0x45585c
jmp 0x4490ba
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x451757
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x451708
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4516e0
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x4514e0
cmp ebx, 0xc0
jb 0x4514e0
test bl, 0x20
jne 0x451429
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4514dd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451450
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4514d6
test bl, 8
jne 0x451473
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 0x4514d6
test bl, 4
jne 0x4514a2
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 0x4514d6
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x451502
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531daa]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45169d
jmp 0x451530
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45162e
cmp ebx, 0xc0
jb 0x45162e
test bl, 0x20
jne 0x451565
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x451626
test bl, 0x10
jne 0x45158a
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 0x451626
test bl, 8
jne 0x4515b8
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 0x451626
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4515f2
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 0x451626
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x451650
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx ecx, byte [eax*8 + 0x531daa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x531c30], eax
je 0x451696
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 0x451530
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x4516ca
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4516ca
cmp eax, dword [ebp + 0x84]
jbe 0x4516ca
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x4513e0
jmp 0x451708
cmp dword [ebp + 0x88], 0
je 0x451708
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x451708
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
cmp dword [esp + 0x80], 0
jne 0x4490ba
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c85
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c7b
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
add eax, 0xfffffffa
test edx, edx
je 0x45245e
cmp eax, 0xf
ja case.0x452467.9
jmp dword [eax*4 + 0x45728c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x451846
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4517b9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00458e50
add esp, 0x14
test eax, eax
jne 0x45244b
jmp 0x4517dd
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x4517dd
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4517dd
cmp edx, 1
je 0x45244b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45244b
cmp dword [ebp + 0x88], 0
je 0x451818
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x451818
cmp dword [ebp + 0x18], 0
jne 0x451818
cmp dword [edi], 2
jne 0x451818
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x451818
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x451834
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x451834
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x451823
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x451784
jmp 0x45244b
cmp dword [ebp + 0x88], 0
je 0x45244b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45244b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45244b
jmp 0x44a026
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x4518d8
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x45244b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x451846
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4518ca
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4518ca
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4518b2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4518a0
jmp 0x45244b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x45244b
cmp eax, dword [ebp + 0x84]
jbe 0x45244b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45244b
jmp 0x450619
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 0x45195f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x45244b
cmp edx, dword [ebp + 0x84]
jbe 0x45244b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45244b
jmp 0x44a026
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x45244b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x451846
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x451a8a
test dl, 0x20
jne 0x4519be
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x451a8a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4519e8
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 0x451a88
test dl, 8
jne 0x451a14
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 0x451a88
test dl, 4
jne 0x451a4c
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 0x451a88
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 0x451aa6
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x45244b
cmp byte [eax], 0xa
jne 0x451ae0
inc eax
jmp 0x451add
cmp edx, 0xa
je 0x451adb
cmp dword [ebp + 0x68], 0
jne 0x45244b
cmp edx, 0xb
je 0x451adb
cmp edx, 0xc
je 0x451adb
cmp edx, 0x85
je 0x451adb
cmp edx, 0x2028
je 0x451adb
cmp edx, 0x2029
jne 0x45244b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x451980
jmp 0x45244b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451c5a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x451bd8
test dl, 0x20
jne 0x451b3a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x451bd0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451b59
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x451bd0
and eax, 0x3f
test dl, 8
jne 0x451b79
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x451bd0
test dl, 4
jne 0x451ba2
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 0x451bd0
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 0x451bfe
je 0x451c2c
cmp edx, 0xa0
ja 0x451bf6
je 0x451c2c
cmp edx, 9
je 0x451c2c
cmp edx, 0x20
jmp 0x451c26
cmp edx, 0x1680
jmp 0x451c26
cmp edx, 0x205f
ja 0x451c20
je 0x451c2c
cmp edx, 0x2000
jb 0x451c28
cmp edx, 0x200a
jbe 0x451c2c
cmp edx, 0x202f
jmp 0x451c26
cmp edx, 0x3000
je 0x451c2c
xor edx, edx
jmp 0x451c31
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x45244b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451b04
jmp 0x45244b
cmp dword [ebp + 0x88], 0
je 0x45244b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45244b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x45244b
jmp 0x44a026
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451c5a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x451d70
test dl, 0x20
jne 0x451cd2
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x451d68
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451cf1
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x451d68
and eax, 0x3f
test dl, 8
jne 0x451d11
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x451d68
test dl, 4
jne 0x451d3a
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 0x451d68
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 0x451daf
je 0x451dba
cmp edx, 0xa
jb 0x451d84
cmp edx, 0xd
jbe 0x451dba
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x45244b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451ca0
jmp 0x45244b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x451d84
mov edx, 1
jmp 0x451d86
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451c5a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x451ea7
test dl, 0x20
jne 0x451e09
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x451e9f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451e28
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x451e9f
and eax, 0x3f
test dl, 8
jne 0x451e48
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x451e9f
test dl, 4
jne 0x451e71
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 0x451e9f
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 0x451ebc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x45244b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451dd3
jmp 0x45244b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
jmp 0x451ef0
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451c5a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x451fc4
test dl, 0x20
jne 0x451f26
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x451fbc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x451f45
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x451fbc
and eax, 0x3f
test dl, 8
jne 0x451f65
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x451fbc
test dl, 4
jne 0x451f8e
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 0x451fbc
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 0x45244b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x45244b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451ef0
jmp 0x45244b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
jmp 0x452010
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451c5a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4520e4
test dl, 0x20
jne 0x452046
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4520dc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x452065
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4520dc
and eax, 0x3f
test dl, 8
jne 0x452085
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4520dc
test dl, 4
jne 0x4520ae
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 0x4520dc
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 0x4520f9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x45244b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452010
jmp 0x45244b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451c5a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4521f7
test dl, 0x20
jne 0x452159
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4521ef
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x452178
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4521ef
and eax, 0x3f
test dl, 8
jne 0x452198
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4521ef
test dl, 4
jne 0x4521c1
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 0x4521ef
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 0x45244b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x45244b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452123
jmp 0x45244b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451c5a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x452314
test dl, 0x20
jne 0x452276
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45230c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x452295
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45230c
and eax, 0x3f
test dl, 8
jne 0x4522b5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45230c
test dl, 4
jne 0x4522de
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 0x45230c
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 0x452329
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x45244b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452240
jmp 0x45244b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45244b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x451c5a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x452427
test dl, 0x20
jne 0x452389
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45241f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4523a8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45241f
and eax, 0x3f
test dl, 8
jne 0x4523c8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45241f
test dl, 4
jne 0x4523f1
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 0x45241f
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 0x45244b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x45244b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452353
cmp dword [esp + 0x80], 0
je 0x454d18
jmp 0x4490ba
cmp eax, 0xf
ja case.0x452467.9
jmp dword [eax*4 + 0x4572cc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4528f7
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x452524
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4524b0
push 0
push edi
push eax
push edx
push ecx
call fcn.00458e50
add esp, 0x14
test eax, eax
jne 0x4528f7
jmp 0x4524d4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x4524d4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4524d4
cmp edx, 1
je 0x4528f7
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4528f7
cmp dword [ebp + 0x88], 0
je 0x45250f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45250f
cmp dword [ebp + 0x18], 0
jne 0x45250f
cmp dword [edi], 2
jne 0x45250f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45250f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x452480
jmp 0x4528f7
cmp dword [ebp + 0x88], 0
je 0x4528f7
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4528f7
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4528f7
jmp 0x44a026
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 0x4525a8
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4528f7
cmp edx, dword [ebp + 0x84]
jbe 0x4528f7
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4528f7
jmp 0x44a026
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4528f7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4528f7
jmp 0x4525d0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452524
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x4525fb
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4528f7
cmp byte [eax], 0xa
jne 0x452625
inc eax
jmp 0x452622
cmp eax, 0xa
je 0x45261f
cmp dword [ebp + 0x68], 0
jne 0x4528f7
cmp eax, 0xb
je 0x45261f
cmp eax, 0xc
je 0x45261f
cmp eax, 0x85
jne 0x4528f7
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x4525d0
jmp 0x4528f7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4528f7
jmp 0x452650
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452524
mov al, byte [ecx]
cmp al, 9
je 0x4528f7
cmp al, 0x20
je 0x4528f7
cmp al, 0xa0
je 0x4528f7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x452650
jmp 0x4528f7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4528f7
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452524
mov al, byte [ecx]
cmp al, 9
je 0x4526be
cmp al, 0x20
je 0x4526be
cmp al, 0xa0
jne 0x4528f7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4526a0
jmp 0x4528f7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4528f7
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452524
mov al, byte [ecx]
cmp al, 0xa
jb 0x452706
cmp al, 0xd
jbe 0x4528f7
cmp al, 0x85
je 0x4528f7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4526e4
jmp 0x4528f7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4528f7
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452524
mov al, byte [ecx]
cmp al, 0xa
jb 0x4528f7
cmp al, 0xd
jbe 0x452752
cmp al, 0x85
jne 0x4528f7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x452730
jmp 0x4528f7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4528f7
jmp 0x452780
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452524
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x4528f7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x452780
jmp 0x4528f7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4528f7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452524
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x4528f7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4527c2
jmp 0x4528f7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4528f7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452524
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x4528f7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x452804
jmp 0x4528f7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4528f7
jmp 0x452850
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452524
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x4528f7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x452850
jmp 0x4528f7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4528f7
jmp 0x452890
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452524
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x4528f7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x452890
jmp 0x4528f7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4528f7
jmp 0x4528d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452524
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x4528f7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4528d0
cmp dword [esp + 0x80], 0
je 0x45395a
jmp 0x4490ba
mov esi, dword [esi]
test esi, esi
je 0x456dd1
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.0x452934
jmp dword [eax*4 + 0x45730c]
cmp edi, 0xfffffc1b
je 0x452a06
cmp edi, 0xfffffc20
jne 0x452983
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.0x452934.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45297f
cmp byte [ecx], 0x77
jne case.0x452934.49
xor edi, edi
jmp 0x45298b
test edi, edi
jne case.0x452934.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 0x452a06
cmp dword [esi + 0x9c], 0x88
jb 0x4529d1
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45675a
push 0x134
call dword [0xc0165c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456750
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
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 0x452dfc
mov edx, dword [esp + 0x8c]
jmp 0x452924
cmp edi, 0xfffffc20
jne 0x452ac3
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 0x452b11
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x452a8e
cmp byte [ecx], 0x77
jne 0x452b11
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 0x452b27
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452924
test edi, edi
je 0x452a8e
cmp edi, 0xfffffc1b
jne 0x452b11
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x452b03
cmp al, 0x77
jne 0x452af4
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 0x452ae0
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 0x452dfc
mov edx, dword [esp + 0x8c]
jmp 0x452924
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x452b79
cmp eax, 0x81
je 0x452b79
cmp dword [ebp + 0x6c], 0
jne 0x452b83
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 0x452b83
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x531aa0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x449040
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 0x45677c
push 0x134
call dword [0xc0165c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456772
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
cmp edi, 1
jne 0x452c43
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x452be0
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x452bf3
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 0x452c29
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 0x452c10
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x531aa0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x4494ee.145
test edi, edi
je 0x452c53
cmp edi, 0xfffffc20
jne case.0x452934.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x452c69
movzx eax, byte [edx + 0x531aa0]
jmp 0x452c6c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x452c89
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x4490c1
cmp dword [esi + 0x9c], 0x8c
jne 0x449040
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45679e
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456794
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
cmp edi, 1
je 0x452d82
cmp edi, 0xfffffc19
je 0x452d82
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x452d2a
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.0x452934.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x452d32
cmp byte [ecx], 0x77
jmp 0x452d2c
test edi, edi
jne case.0x452934.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 0x452d88
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4567b7
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4567ad
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x452da1
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452924
cmp dword [esi + 0x58], 0
je 0x4563de
mov esi, dword [esi]
test esi, esi
je 0x456d76
mov edi, 1
jmp 0x452924
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x452e6d
je 0x452e06
cmp edi, 0xfffffc19
je 0x4536a3
cmp edi, 0xfffffc1b
jle case.0x452934.49
cmp edi, 0xfffffc1f
jle 0x452e2e
mov esi, dword [esi]
test esi, esi
jne 0x452924
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 0x452e2e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x452e80
cmp byte [ecx], 0x77
je 0x452e80
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 0x452e31
cmp dword [esi + 0x58], 0
je 0x4530b7
mov esi, dword [esi]
test esi, esi
je 0x456d76
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x452924
mov eax, edi
sub eax, 0
je 0x452e80
dec eax
je 0x4536a3
jmp case.0x452934.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 0x452e48
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4567cd
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4567c3
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x45640c
cmp edi, 0xfffffc19
je 0x45640c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x452f39
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x449ebb
push ecx
call dword [0xc01658]
add esp, 4
jmp 0x449ebb
test edi, edi
je 0x452f63
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x452f54
push ecx
call dword [0xc01658]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x452dfc
jmp 0x452919
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 0x452fc9
cmp dword [esi + 0x58], 0
je 0x452f94
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x456813
push 0x134
call dword [0xc0165c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456809
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x452f19
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x453023
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456861
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456857
mov esi, dword [esi]
test esi, esi
je 0x456d2b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452924
cmp al, 0x88
jb 0x456564
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456883
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456879
mov esi, dword [esi]
test esi, esi
je 0x456d2b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452924
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x456d83
mov edi, 0xfffffc1b
jmp 0x452924
test edi, edi
jne case.0x452934.49
mov edx, dword [esi + 0x2c]
jmp 0x4530a0
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 0x4530a0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x4490ba
test edi, edi
je 0x44a934
jmp case.0x452934.49
test edi, edi
je 0x45306f
jmp case.0x452934.49
cmp edi, 0xfffffc1b
jne 0x4530eb
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x4530ed
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x453edb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4568a5
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45689b
mov esi, dword [esi]
test esi, esi
je 0x456d2b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452924
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x453160
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.00457560
add esp, 0x14
test eax, eax
jns 0x4531c7
cmp eax, 0xfffffffe
jne 0x453189
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x454ca1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x454ca1
cmp eax, dword [ebp + 0x84]
jbe 0x454ca1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44bede
jmp 0x454ca1
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4568ca
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4568c0
mov esi, dword [esi]
test esi, esi
je 0x456d2b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x452924
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x450046.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4568e3
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4568d9
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x453287
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454d86
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 0x454ca1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4568fc
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4568f2
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x449ebb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456915
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45690b
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x453361
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454d86
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x453391
cmp dword [esi + 0x94], ecx
je 0x453391
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452924
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45692e
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456924
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
dec dword [esi + 8]
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456947
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45693d
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x453441
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454d86
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x454ca1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456960
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456956
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
dec dword [esi + 8]
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456979
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45696f
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45350e
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454d86
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4536a3
cmp dword [esi + 0x94], ecx
je 0x4536a3
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456992
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456988
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4569ab
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4569a1
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4535e5
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454d86
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x454ca1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4569c1
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4569b7
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4569d7
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4569cd
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4536b4
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452924
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4536fb
cmp dword [ebp + 0x88], 0
je 0x4536e3
cmp ecx, dword [ebp + 0x84]
jbe 0x4536e3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44bede
mov esi, dword [esi]
test esi, esi
je 0x456d38
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452924
cmp dword [esi + 0x7c], 0xc
jne 0x453722
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x453744
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00458e50
add esp, 0x14
test eax, eax
jne 0x453761
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.0x45373d.15
jmp dword [eax*4 + 0x457418]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x453722
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x453722
cmp edi, 1
je 0x453761
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x453722
mov esi, dword [esi]
test esi, esi
je 0x456d38
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452924
cmp dword [ebp + 0x88], 0
je case.0x45373d.13
cmp edx, dword [ebp + 0x78]
jb case.0x45373d.13
cmp dword [ebp + 0x18], 0
jne case.0x45373d.13
cmp dword [ebp + 0x1c], 2
jne case.0x45373d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x45373d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44bede
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4569ed
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4569e3
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4537fd.14
movzx eax, byte [ecx + 0x457468]
jmp dword [eax*4 + 0x457458]
cmp edx, dword [ebp + 0x78]
jae case.0x45373d.13
cmp byte [edx], 0xa
jne case.0x45373d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x45373d.13
cmp dword [ebp + 0x68], 0
je case.0x45373d.13
jmp case.0x4537fd.14
cmp ecx, 9
je case.0x4537fd.14
cmp ecx, 0x20
je case.0x4537fd.14
cmp ecx, 0xa0
jmp 0x4538fa
cmp ecx, 9
je case.0x45373d.13
cmp ecx, 0x20
je case.0x45373d.13
cmp ecx, 0xa0
je case.0x45373d.13
jmp case.0x4537fd.14
cmp ecx, 0xa
jb case.0x45373d.13
cmp ecx, 0xd
jbe case.0x4537fd.14
cmp ecx, 0x85
jmp 0x4538fa
cmp ecx, 0xa
jb case.0x4537fd.14
cmp ecx, 0xd
jbe case.0x45373d.13
cmp ecx, 0x85
je case.0x45373d.13
jmp case.0x4537fd.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x45373d.13
jmp case.0x4537fd.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x4538fa
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x45373d.13
jmp case.0x4537fd.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x4538fa
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x45373d.13
mov esi, dword [esi]
test esi, esi
je 0x456d38
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452924
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x45373d.13
mov esi, dword [esi]
test esi, esi
je 0x456d38
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452924
mov esi, dword [esi]
test esi, esi
je case.default.0x452934
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x452924
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x45395a
cmp eax, dword [esi + 0x30]
jbe 0x45395a
cmp byte [eax], 0xa
jne 0x45395a
cmp byte [eax - 1], 0xd
jne 0x45395a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456a03
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4569f9
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
cmp edi, 0xfffffc1a
jne 0x4539f1
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 0x4539e9
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 0x4539d0
jmp 0x453a48
mov dword [esi + 8], eax
jmp 0x453a6d
cmp edi, 0xfffffc20
jne 0x453a25
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.0x452934.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x453a2d
cmp byte [ecx], 0x77
jmp 0x453a27
test edi, edi
jne case.0x452934.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 0x453a61
cmp dword [esi + 0x5c], 0
jne 0x4530b7
cmp dword [esi + 0x54], 0
jne 0x4530b7
jmp 0x454ca1
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x453a83
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x456a45
push 0x134
call dword [0xc0165c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x456a3b
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
mov esi, dword [esi]
test edi, edi
jne 0x452df4
test esi, esi
je 0x456d9d
mov edi, 0xfffffc1c
jmp 0x452924
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x456db7
mov edi, 0xfffffc1e
jmp 0x452924
cmp edi, 1
je 0x453b03
cmp edi, 0xfffffc19
jne 0x453b1d
cmp dword [ebp + 0xac], 0
jne 0x453b1d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x452b11
cmp edi, 0xfffffc1f
jne 0x452b11
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x453b52
test dl, dl
je 0x453b4e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x453b52
add eax, 2
add ecx, 2
test dl, dl
jne 0x453b32
xor eax, eax
jmp 0x453b57
sbb eax, eax
or eax, 1
test eax, eax
jne 0x452b11
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x456db7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x452924
cmp edi, 1
je 0x453b8d
cmp edi, 0xfffffc19
jne case.0x452934.51
cmp dword [ebp + 0xac], 0
jne case.0x452934.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x452df4
test esi, esi
je 0x456d90
mov edi, 0xfffffc1d
jmp 0x452924
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x456dc4
mov edi, 0xfffffc1f
jmp 0x452924
cmp edi, 1
je 0x453bf0
cmp edi, 0xfffffc19
jne case.0x452934.54
cmp dword [ebp + 0xac], 0
jne case.0x452934.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x456daa
mov edi, 0xfffffc20
jmp 0x452924
cmp edi, 0xfffffc1a
jne 0x453c91
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 0x453c89
mov edx, dword [esi + 0xc]
jmp 0x453c70
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 0x453c70
jmp 0x453cf8
mov dword [esi + 8], eax
jmp 0x449bf2
cmp edi, 0xfffffc20
jne 0x453cc5
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.0x452934.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x453ccd
cmp byte [ecx], 0x77
jmp 0x453cc7
test edi, edi
jne case.0x452934.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 0x449bf2
cmp dword [esi + 0x5c], 0
jne 0x453d38
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 0x4490b6
cmp dword [esi + 0x5c], 0
jne 0x4490b6
jmp 0x454ca1
cmp edi, 1
jne 0x453df4
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x453d71
cmp al, 0x77
jne 0x454ca1
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 0x453d71
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 0x4490b6
cmp ecx, dword [esi + 0x38]
je 0x4490b6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x453e8d
test ecx, ecx
jne 0x456aae
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456aa4
mov esi, dword [esi]
test esi, esi
je 0x456d2b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452924
cmp edi, 0xfffffc20
jne 0x453e28
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.0x452934.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x453e30
cmp byte [ecx], 0x77
jmp 0x453e2a
test edi, edi
jne case.0x452934.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 0x453d60
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456a89
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456a7f
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test ecx, ecx
jne 0x456ad3
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456ac9
mov esi, dword [esi]
test esi, esi
je 0x456d2b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x452924
test edi, edi
je 0x456564
jmp case.0x452934.49
test edi, edi
jne case.0x452934.49
add dword [esi + 0xc], 3
jmp 0x449040
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x453f09
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45400a
cmp ebx, 0xc0
jb 0x45400a
test bl, 0x20
jne 0x453f4b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454007
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x453f75
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45400a
mov edx, dword [esi + 8]
test bl, 8
jne 0x453f9b
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 0x453ffe
test bl, 4
jne 0x453fca
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 0x453ffe
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.004587e0
add esp, 0xc
test eax, eax
je 0x449ebb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456af5
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456aeb
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x454ca1
cmp dword [esp + 0x8c], edi
je 0x454091
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x454091
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x454085
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456b0e
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456b04
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4540eb
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x4541e0
test bl, 0x20
jne 0x454125
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4541dd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45414f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4541e0
mov edx, dword [esi + 8]
test bl, 8
jne 0x454178
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 0x4541db
test bl, 4
jne 0x4541a7
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 0x4541db
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 0x4541f6
cmp dword [esi + 0x9c], 0x6e
jne 0x454213
jmp 0x449ebb
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 0x449ebb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456b27
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456b1d
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x449ebb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45427c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x454270
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456b40
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456b36
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4542d6
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
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 0x454345
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x454305
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45430a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4542f4
cmp edi, 0xfffffffc
je 0x454337
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x454342
cmp edi, 0xfffffffd
je 0x454337
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x454342
cmp edi, 0xfffffffe
je 0x454337
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x454342
cmp edi, 0xffffffff
je 0x454337
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x454342
mov eax, dword [esi + 0x88]
jmp 0x4543b0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4543f0
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4543f0
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x454377
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45437c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x454366
cmp edi, 0xfffffffc
je 0x4543ad
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4543f0
cmp edi, 0xfffffffd
je 0x4543ad
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4543f0
cmp edi, 0xfffffffe
je 0x4543ad
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4543f0
cmp edi, 0xffffffff
je 0x4543ad
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4543f0
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 0x456b59
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456b4f
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
cmp dword [ebp + 0x88], 0
je case.0x450046.14
cmp ebx, dword [ebp + 0x78]
jb case.0x450046.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x450046.14
jmp 0x44a012
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45443c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x454430
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456b72
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456b68
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4544a2
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4545a2
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x4544dc
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45459f
test dl, 0x10
jne 0x4544fe
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 0x4545a2
mov ecx, dword [esi + 8]
test dl, 8
jne 0x45452e
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 0x45459f
test dl, 4
jne 0x454564
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 0x45459f
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 0x453761
cmp dword [esi + 0x94], edx
je 0x453761
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4545e9
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4531f5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x456a0d
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45461c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x454610
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456b8b
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456b81
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x454682
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x454777
test bl, 0x20
jne 0x4546bc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454774
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4546e6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x454777
mov edx, dword [esi + 8]
test bl, 8
jne 0x45470f
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 0x454772
test bl, 4
jne 0x45473e
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 0x454772
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 0x449ebb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456ba4
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456b9a
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4547e0
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4547d4
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456bbd
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456bb3
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x454846
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x454882
cmp dword [ebp + 0x88], 0
je 0x454ca1
cmp ecx, dword [ebp + 0x84]
jbe 0x454ca1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44bede
jmp 0x454ca1
cmp dword [esi + 0x7c], 0xc
jne 0x4548d4
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4548af
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00458e50
add esp, 0x14
test eax, eax
jne 0x454ca1
jmp 0x4548d4
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4548d4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4548d4
cmp edi, 1
je 0x454ca1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x454ca1
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4549bc
test dl, 0x20
jne 0x454907
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4549b9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45492e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4549b7
test dl, 8
jne 0x454954
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 0x4549b7
test dl, 4
jne 0x454983
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 0x4549b7
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.0x4549cb.15
jmp dword [eax*4 + 0x4574e4]
cmp dword [ebp + 0x88], 0
je case.0x4549cb.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4549cb.13
cmp dword [ebp + 0x18], 0
jne case.0x4549cb.13
cmp dword [ebp + 0x1c], 2
jne case.0x4549cb.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x4549cb.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4549cb.13
jmp 0x44bede
cmp edx, 0xd
ja 0x454a4e
je 0x454a3b
cmp edx, 0xa
je case.0x4549cb.13
jbe 0x454ca1
cmp edx, 0xc
jmp 0x454a68
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x4549cb.13
cmp byte [eax], 0xa
jne case.0x4549cb.13
inc eax
mov dword [esi + 8], eax
jmp case.0x4549cb.13
cmp edx, 0x85
je 0x454a6e
cmp edx, 0x2027
jbe 0x454ca1
cmp edx, 0x2029
ja 0x454ca1
cmp dword [ebp + 0x68], 0
je case.0x4549cb.13
jmp 0x454ca1
cmp edx, 0x180e
ja 0x454aed
je 0x454ca1
cmp edx, 0xa0
ja 0x454ae5
je 0x454ca1
cmp edx, 9
je 0x454ca1
cmp edx, 0x20
je 0x454ca1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x454ad6
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4531f5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x456a0d
cmp edx, 0x1680
jmp 0x454aa1
cmp edx, 0x205f
ja 0x454b17
je 0x454ca1
cmp edx, 0x2000
jb case.0x4549cb.13
cmp edx, 0x200a
jbe 0x454ca1
cmp edx, 0x202f
jmp 0x454aa1
cmp edx, 0x3000
jmp 0x454c9b
cmp edx, 0x180e
ja 0x454b54
je case.0x4549cb.13
cmp edx, 0xa0
ja 0x454b4c
je case.0x4549cb.13
cmp edx, 9
je case.0x4549cb.13
cmp edx, 0x20
jmp 0x454b88
cmp edx, 0x1680
jmp 0x454b88
cmp edx, 0x205f
ja 0x454b82
je case.0x4549cb.13
cmp edx, 0x2000
jb 0x454ca1
cmp edx, 0x200a
jbe case.0x4549cb.13
cmp edx, 0x202f
jmp 0x454b88
cmp edx, 0x3000
je case.0x4549cb.13
jmp 0x454ca1
cmp edx, 0x85
ja 0x454bb8
je 0x454ca1
cmp edx, 0xa
jb case.0x4549cb.13
cmp edx, 0xd
jbe 0x454ca1
jmp case.0x4549cb.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4549cb.13
jmp 0x454ca1
cmp edx, 0x85
ja 0x454be8
je case.0x4549cb.13
cmp edx, 0xa
jb 0x454ca1
cmp edx, 0xd
jmp 0x454bf1
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x4549cb.13
jmp 0x454ca1
cmp edx, 0x100
jae case.0x4549cb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4549cb.13
jmp 0x454ca1
cmp edx, 0x100
jae 0x454ca1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x454c9b
cmp edx, 0x100
jae case.0x4549cb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4549cb.13
jmp 0x454ca1
cmp edx, 0x100
jae 0x454ca1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x454c9b
cmp edx, 0x100
jae case.0x4549cb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4549cb.13
mov esi, dword [esi]
test esi, esi
je 0x456d38
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452924
cmp edx, 0x100
jae 0x454ca1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4549cb.13
mov esi, dword [esi]
test esi, esi
je 0x456d38
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x452924
mov esi, dword [esi]
test esi, esi
je case.default.0x452934
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x452924
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454cfc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x454cf0
cmp dword [esi + 0x7c], 0x11
jne 0x454d18
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x454d18
cmp byte [eax], 0xa
jne 0x454d18
dec eax
cmp byte [eax], 0xd
jne 0x454d18
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456bd6
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456bcc
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x454d7e
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x454d9e
cmp dword [ebp + 0x88], 0
je 0x4536a3
cmp eax, dword [ebp + 0x84]
jmp 0x4554f9
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x454ddd
cmp ecx, 0xc0
jb 0x454ddd
test cl, 0x20
jne 0x454db9
inc eax
jmp 0x454dda
test cl, 0x10
jne 0x454dc3
add eax, 2
jmp 0x454dda
test cl, 8
jne 0x454dcd
add eax, 3
jmp 0x454dda
test cl, 4
jne 0x454dd7
add eax, 4
jmp 0x454dda
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x454df4
mov esi, dword [esi]
test esi, esi
je 0x456d38
xor edi, edi
jmp 0x452924
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x454e23
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4531f5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x456a0d
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x454e57
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x454f51
cmp ebx, 0xc0
jb 0x454f51
test bl, 0x20
jne 0x454e99
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x454f4e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x454ec3
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x454f51
mov edx, dword [esi + 8]
test bl, 8
jne 0x454ee9
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 0x454f4c
test bl, 4
jne 0x454f18
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 0x454f4c
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x454f73
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
cmp eax, 9
je 0x454f98
cmp eax, 5
je 0x454f98
cmp eax, 8
je 0x454f98
xor eax, eax
jmp 0x454f9d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x449ebb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456bef
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456be5
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455006
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4550fc
cmp ebx, 0xc0
jb 0x4550fc
test bl, 0x20
jne 0x455048
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4550f9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455070
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4550fc
mov edx, dword [esi + 8]
test bl, 8
jne 0x455096
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 0x4550f9
test bl, 4
jne 0x4550c5
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 0x4550f9
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x45511e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x449ebb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c08
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456bfe
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4551a8
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45529e
cmp ebx, 0xc0
jb 0x45529e
test bl, 0x20
jne 0x4551ea
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45529b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455212
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45529e
mov edx, dword [esi + 8]
test bl, 8
jne 0x455238
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 0x45529b
test bl, 4
jne 0x455267
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 0x45529b
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x4552c0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x449ebb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c21
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c17
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455343
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455439
cmp ebx, 0xc0
jb 0x455439
test bl, 0x20
jne 0x455385
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455436
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4553ad
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x455439
mov edx, dword [esi + 8]
test bl, 8
jne 0x4553d3
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 0x455436
test bl, 4
jne 0x455402
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 0x455436
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x45545b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x449ebb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c3a
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c30
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4554de
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x455527
cmp dword [ebp + 0x88], 0
je 0x4536a3
cmp edi, dword [ebp + 0x84]
jbe 0x4536a3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4536a3
mov esi, dword [esi]
test esi, esi
je 0x456d5c
mov edi, 0xfffffff4
jmp 0x452924
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455615
cmp ebx, 0xc0
jb 0x455615
test bl, 0x20
jne 0x45555d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455612
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455587
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455615
mov edx, dword [esi + 8]
test bl, 8
jne 0x4555ad
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 0x455610
test bl, 4
jne 0x4555dc
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 0x455610
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x455637
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531daa]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4557c8
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x455767
cmp ebx, 0xc0
jb 0x455767
test bl, 0x20
jne 0x45569b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45575f
test bl, 0x10
jne 0x4556c0
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 0x45575f
test bl, 8
jne 0x4556f1
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 0x45575f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45572b
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 0x45575f
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x455789
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx ecx, byte [eax*8 + 0x531daa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x531c30], eax
je 0x4557c8
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x455660
cmp dword [ebp + 0x88], 0
je 0x4557f5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4557f5
cmp eax, dword [ebp + 0x84]
jbe 0x4557f5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44a026
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c53
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c49
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x45585c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45585c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x455850
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x449040
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c6c
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c62
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x4558b7
movzx ebx, byte [ecx]
jmp 0x4559a5
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4558cc
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4558c0
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x4559a5
test bl, 0x20
jne 0x4558ef
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x45599d
test bl, 0x10
jne 0x45590f
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 0x45599d
test bl, 8
jne 0x455938
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 0x45599d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45596d
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 0x45599d
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x4559c7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531daa]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x449040
dec edi
cmp dword [esp + 0x8c], 0
jne 0x4559ff
movzx ebx, byte [edi]
jmp 0x455abe
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x455a11
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x455a07
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x455abe
test bl, 0x20
jne 0x455a31
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x455ab6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x455a4e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x455ab6
and eax, 0x3f
test bl, 8
jne 0x455a69
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x455ab6
test bl, 4
jne 0x455a8d
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 0x455ab6
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x455ae0
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx edx, byte [eax*8 + 0x531daa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x531c30], eax
je 0x451716
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x4559e0
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455b41
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455c3b
cmp ebx, 0xc0
jb 0x455c3b
test bl, 0x20
jne 0x455b83
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455c38
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455bad
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455c3b
mov edx, dword [esi + 8]
test bl, 8
jne 0x455bd3
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 0x455c36
test bl, 4
jne 0x455c02
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 0x455c36
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 + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x455c5d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x455c84
cmp eax, 3
je 0x455c84
xor eax, eax
jmp 0x455c89
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x449ebb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456c9e
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456c94
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455cf2
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455df3
cmp ebx, 0xc0
jb 0x455df3
test bl, 0x20
jne 0x455d34
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455df0
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455d5e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455df3
mov edx, dword [esi + 8]
test bl, 8
jne 0x455d84
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 0x455de7
test bl, 4
jne 0x455db3
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 0x455de7
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 0x455e1e
cmp ebx, 0x40
je 0x455e1e
cmp ebx, 0x60
je 0x455e1e
cmp ebx, 0xa0
jb 0x455e12
cmp ebx, 0xd7ff
jbe 0x455e1e
cmp ebx, 0xe000
jae 0x455e1e
xor eax, eax
jmp 0x455e23
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44a802
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456cb7
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456cad
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x455e8c
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x455f8d
cmp ebx, 0xc0
jb 0x455f8d
test bl, 0x20
jne 0x455ece
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x455f8a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455ef8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x455f8d
mov edx, dword [esi + 8]
test bl, 8
jne 0x455f1e
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 0x455f81
test bl, 4
jne 0x455f4d
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 0x455f81
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 0x455fd0
je case.0x455ff0.8192
cmp ebx, 0x85
ja 0x455fbc
je case.0x455ff0.8192
cmp ebx, 9
jb case.0x455ff0.8203
cmp ebx, 0xd
jbe case.0x455ff0.8192
cmp ebx, 0x20
jmp 0x456005
cmp ebx, 0xa0
je case.0x455ff0.8192
cmp ebx, 0x1680
jmp 0x456005
cmp ebx, 0x202f
ja 0x455ff7
je case.0x455ff0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x455ff0.8203
movzx eax, byte [eax + 0x45752c]
jmp dword [eax*4 + 0x457524]
cmp ebx, 0x205f
je case.0x455ff0.8192
cmp ebx, 0x3000
je case.0x455ff0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x533428]
shl eax, 7
and ebx, 0x8000007f
jns 0x456029
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
cmp dword [eax*4 + 0x531bb8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x45605c
jmp 0x449ebb
cmp dword [esi + 0x68], 0
jne 0x44a802
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456cd0
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456cc6
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4560bc
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4561b2
cmp ebx, 0xc0
jb 0x4561b2
test bl, 0x20
jne 0x4560fe
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4561af
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x456126
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4561b2
mov edx, dword [esi + 8]
test bl, 8
jne 0x45614c
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 0x4561af
test bl, 4
jne 0x45617b
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 0x4561af
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 + 0x533428]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4561d5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x535628]
movzx eax, byte [eax*8 + 0x531da9]
mov eax, dword [eax*4 + 0x531bb8]
cmp eax, 1
je 0x456201
cmp eax, 3
je 0x456201
cmp ebx, 0x5f
je 0x456201
xor eax, eax
jmp 0x456206
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x449ebb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456ce9
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456cdf
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
test edi, edi
jne case.0x452934.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45626f
mov esi, dword [esi]
test esi, esi
je 0x456d38
jmp 0x452924
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4554e6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45636c
cmp ebx, 0xc0
jb 0x45636c
test bl, 0x20
jne 0x4562b1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x456369
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4562d9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45636c
mov edx, dword [esi + 8]
test bl, 8
jne 0x4562ff
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 0x456362
test bl, 4
jne 0x45632e
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 0x456362
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 + 0x531c68]
lea eax, [eax*4 + 0x531c68]
cmp ebx, ecx
jb 0x45638e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x4563d3
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x456381
cmp dword [esi + 0x68], 0
je 0x44a802
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x456d02
push 0x134
call dword [0xc0165c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x456cf8
mov esi, dword [esi]
test esi, esi
je 0x456d2b
lea edi, [eax - 6]
jmp 0x452919
cmp dword [esi + 0x68], 0
je 0x456398
jmp 0x44a802
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 0x4563e1
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x4490ba
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x456423
push ecx
call dword [0xc01658]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x4490ba
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x454219
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x454025
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4543bb
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4545c0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x454789
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x454dfa
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x454fac
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45514e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4552e9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x455484
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x455c98
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x456062
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x456215
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45639e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x455e32
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x454aad
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4557fb
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x449040
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 + 0x531aa0]
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 0x449030
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 0x456826
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 0x456826
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x45657f
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 0x456826
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x45657f
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 0x456826
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x45657f
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 0x449030
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 0x456a16
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 0x456a16
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 0x456a16
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 0x456a16
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 0x456a16
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 0x456826
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 0x456826
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x4567d7
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 0x449030
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 + 0x531aa0]
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 0x449030
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 0x456a16
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 0x456a16
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 0x456a16
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x456a0d
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 0x449030
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 0x456826
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 0x456826
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 0x456a16
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 0x456a16
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 0x456a16
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x456a0d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x456a0d
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