Function at 0x43c9d0
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 0x43ca5e
mov esi, dword [esi]
test esi, esi
je 0x44a701
mov edi, 0xfffffff8
jmp 0x446309
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x43ca7a
mov esi, dword [esi]
test esi, esi
je 0x44a70e
mov edi, 0xffffffeb
jmp 0x446309
cmp dword [ebp + 0x98], 2
jne 0x43cab1
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 0x43cab1
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.0x43cae4.98
movzx eax, byte [edx + 0x44a91c]
jmp dword [eax*4 + 0x44a7d0]
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 0x449f65
push 0x134
call dword [0x8f40d8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x449f5f
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
mov edx, dword [esi + 4]
test edx, edx
jne 0x449fb5
push 0x134
call dword [0x8f40d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x449faf
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
mov edx, dword [esi + 4]
test edx, edx
jne 0x449fd3
push 0x134
call dword [0x8f40d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x449fcd
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x449ff1
push 0x134
call dword [0x8f40d8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x449feb
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
mov edx, dword [esi + 4]
test edx, edx
jne 0x44a006
push 0x134
call dword [0x8f40d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x44a000
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x43cc3e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x59ea88]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x43cab1
mov edi, dword [esi + 4]
test edi, edi
jne 0x44a024
push 0x134
call dword [0x8f40d8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x44a01e
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
mov edx, dword [esi + 4]
test edx, edx
jne 0x44a039
push 0x134
call dword [0x8f40d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x44a033
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x44a057
push 0x134
call dword [0x8f40d8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x44a051
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x447848
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.0x43cae4.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 0x4463ab
mov dword [esi + 0x54], ebx
jmp 0x43d54f
mov dword [esi + 0x54], ebx
jmp 0x43d573
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 0x43ceb8
mov edi, dword [0x8fa47c]
test edi, edi
je 0x43cea4
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 0x43ce5e
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 0x43ce93
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446309
jns 0x43cea4
mov esi, dword [esi]
test esi, esi
je 0x4467ec
jmp 0x446309
movzx eax, byte [0x59eafe]
add dword [esi + 0xc], eax
movzx eax, byte [0x59eafe]
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.0x43cede.146
movzx eax, byte [eax + 0x44a9d8]
jmp dword [eax*4 + 0x44a9c0]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x43cede.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x43cf17
cmp edx, dword [edi + 4]
je 0x43cf17
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x446643
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x446643
cmp dword [ebp + 0xa4], ebx
je case.0x43cede.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.0x43cede.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 0x446643
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x43cf60
jmp 0x446643
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 0x43cfc4
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x43cfc4
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x43cede.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x43cede.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 0x446643
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 0x43d019
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x43d028
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x43cff7
jmp 0x446643
mov dword [esi + 0x58], 1
jmp 0x446643
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a06c
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a066
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x43d0c4
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x43caa6
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 0x43caa6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x43d113
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 0x43caa6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x43d166
cmp edx, 0x9f
je 0x43d166
cmp dword [ebp + 0xa4], ebx
jne 0x43d166
cmp dword [ebp + 0x5c], ebx
jne 0x43d155
cmp dword [ebp + 0x60], ebx
je 0x43d166
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x43d166
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446309
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 0x4467ec
jmp 0x446309
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x43d1bf
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x44673d
mov dword [esi + 0x58], ebx
jmp 0x44673d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x43d1eb
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x44688b
mov dword [esi + 0x58], ebx
jmp 0x44688b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x43d252
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x43d238
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x443a36.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43d234
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x43d228
test edx, edx
jg 0x43d210
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x43caa6
mov dword [ebp + 0x84], eax
jmp 0x43caa6
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 0x43d238
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446310
mov edi, dword [0x8fa47c]
test edi, edi
je 0x43d35c
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 0x43d316
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 0x43d34b
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446309
jns 0x43d35c
mov esi, dword [esi]
test esi, esi
je 0x4467ec
jmp 0x446309
add dword [esi + 0xc], 6
jmp 0x43caaa
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 0x43d386
xor edx, edx
jmp 0x43d393
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 0x43d3b3
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x43d3ad
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x43d414
mov ecx, dword [ecx]
test ecx, ecx
jne 0x43d3a0
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 0x43d428
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 0x446974
mov esi, dword [esi]
test esi, esi
je 0x44a732
mov edi, 0xffffffe6
jmp 0x446309
shl eax, 2
push eax
call dword [0x8f40d0]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x43d3ee
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x43d451
jmp 0x43cab1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a0a7
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a0a1
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x43d4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a0c5
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a0bf
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x43d503
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x43cab1
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 0x43d54f
cmp eax, 0x8b
jne 0x43d573
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 0x43d590
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 0x44745d
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 0x43d60d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x44a457
push 0x134
call dword [0x8f40d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x44a44d
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x43d668
cmp al, 0x81
je 0x43d668
mov dword [esi + 0x38], ebx
jmp 0x43d679
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 0x43d686
cmp al, 0x80
jbe 0x43d68a
cmp al, 0x82
jne 0x43d6b6
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 0x44a766
mov edi, 1
jmp 0x446309
cmp al, 0x85
je 0x43d6ca
cmp al, 0x8a
je 0x43d6ca
cmp al, 0x86
je 0x43d6ca
cmp al, 0x8b
jne 0x43d791
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 0x43d706
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x43d706
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x43d69c
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 0x43d735
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x43d791
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x43d755
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x43d755
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 0x43d791
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x43d7c7
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 0x44a73f
mov edi, 0xfffffc1a
jmp 0x446309
cmp cl, 0x78
je 0x43d840
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x43d840
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x43d80e
test ecx, ecx
jne 0x44a0e6
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a0e0
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test ecx, ecx
jne 0x44a107
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a101
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x446aa7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a125
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a11f
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
cmp dword [ebp + 0x44], ebx
je case.0x43cae4.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x43cae4.1
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446309
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x43d968
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446309
cmp dword [ebp + 0x44], ebx
je 0x43d8da
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x43d8da
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446309
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x43e324
cmp ecx, dword [ebp + 0x78]
je 0x43d940
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x43d918
cmp ecx, edx
jbe 0x43d940
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044c990
add esp, 0x14
test eax, eax
jne 0x43e324
jmp 0x43d940
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x43d940
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43d940
cmp edi, 1
je 0x43e324
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x43e324
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446309
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x43d8a5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x43cab1
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x43da2a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x43d9a5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0044c840
add esp, 0x14
test eax, eax
jne 0x43e324
jmp 0x43d9c9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x43d9c9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43d9c9
cmp edx, 1
je 0x43e324
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x43e324
cmp dword [ebp + 0x88], ebx
je case.0x443a36.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x443a36.14
cmp dword [ebp + 0x18], ebx
jne case.0x443a36.14
cmp dword [edi], 2
jne case.0x443a36.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x443a36.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x443a36.14
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edi, 0xfffffff4
jmp 0x446309
cmp dword [ebp + 0x48], ebx
jne 0x43d8ab
cmp dword [ebp + 0x88], ebx
je 0x43e324
cmp ecx, dword [ebp + 0x84]
jbe 0x43e324
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43e324
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edi, 0xfffffff4
jmp 0x446309
cmp dword [ebp + 0x48], ebx
jne 0x43d8ab
cmp dword [ebp + 0x58], ebx
je case.0x43cae4.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43d8ab
cmp dword [ebp + 0x88], ebx
je 0x43d968
cmp eax, dword [ebp + 0x84]
jbe 0x43d968
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43d968
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edi, 0xfffffff4
jmp 0x446309
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x43db35
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x43dafd
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0044c840
add esp, 0x14
test eax, eax
jne 0x43db25
jmp 0x43d9c9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x43d9c9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43d9c9
cmp edx, 1
je 0x43db25
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x43d9c9
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x43d9c9
cmp dword [ebp + 0x88], ebx
je 0x43e324
cmp ecx, dword [ebp + 0x84]
jbe 0x43e324
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43e324
jmp 0x43da16
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x43de37
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x43db85
mov dword [esi + 0x5c], ebx
jmp 0x43dcbe
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x43db9a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x43db90
cmp edx, dword [ebp + 0x84]
jae 0x43dba8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x43dc5c
test bl, 0x20
jne 0x43dbd0
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x43dc5c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x43dbea
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x43dc52
and eax, 0x3f
test bl, 8
jne 0x43dc05
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x43dc52
test bl, 4
jne 0x43dc29
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 0x43dc52
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 0x43dcf7
cmp ebx, 0x5f
jne 0x43dc74
mov dword [esi + 0x5c], 1
jmp 0x43dcbe
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x43dc96
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x43dd08
cmp eax, 3
je 0x43dd08
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x43dd0f
cmp dword [ebp + 0x88], 0
je 0x43dceb
cmp edx, dword [ebp + 0x84]
jbe 0x43dceb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
mov dword [esi + 0x54], 0
jmp 0x43df75
cmp ebx, 0x100
jae 0x43dcb9
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x43dcb9
mov eax, 1
jmp 0x43dcbb
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x43ddb9
test bl, 0x20
jne 0x43dd2f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x43ddb1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x43dd49
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x43ddb1
and eax, 0x3f
test bl, 8
jne 0x43dd64
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x43ddb1
test bl, 4
jne 0x43dd88
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 0x43ddb1
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 0x43de1c
cmp ebx, 0x5f
jne 0x43ddd0
mov dword [esi + 0x54], 1
jmp 0x43df75
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x43ddf2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x43de2d
cmp eax, 3
je 0x43de2d
xor eax, eax
jmp 0x43df72
cmp ebx, 0x100
jae 0x43de15
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x43de15
mov eax, 1
jmp 0x43df72
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x43de47
mov dword [esi + 0x5c], ebx
jmp 0x43dee2
cmp eax, dword [ebp + 0x84]
ja 0x43de56
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x43dece
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x43de70
mov dword [esi + 0x5c], 1
jmp 0x43dee2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5a0410]
shl eax, 7
and ecx, 0x8000007f
jns 0x43de92
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x43dec0
cmp eax, 3
je 0x43dec0
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x43dedf
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x43dedf
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 0x43df23
cmp dword [ebp + 0x88], ebx
je 0x43df1e
cmp eax, dword [ebp + 0x84]
jbe 0x43df1e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43df1e
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edi, 0xfffffff4
jmp 0x446310
mov dword [esi + 0x54], ebx
jmp 0x43df75
cmp dword [ebp + 0x54], ebx
je 0x43df62
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x43df39
mov dword [esi + 0x54], 1
jmp 0x43df75
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5a0410]
shl eax, 7
and ecx, 0x8000007f
jns 0x43df5b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x43ddf4
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 0x43df90
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x43df98
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x43cab1
jmp 0x43d8ab
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x43dfdd
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x43e008
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0044c840
add esp, 0x14
test eax, eax
jne 0x43d8ab
jmp 0x43e008
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x43e008
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x43e008
cmp edx, 1
je 0x43d8ab
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x43d8ab
cmp dword [ebp + 0x88], ebx
je case.0x43cae4.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x43cae4.13
cmp dword [ebp + 0x18], ebx
jne case.0x43cae4.13
cmp dword [ebp + 0x1c], 2
jne case.0x43cae4.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x43cae4.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43e066
cmp dword [ebp + 0x88], ebx
je case.0x443a36.14
cmp eax, dword [ebp + 0x84]
jbe case.0x443a36.14
jmp 0x43da02
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x43d968
cmp eax, dword [ebp + 0x78]
jae 0x43d968
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43d968
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x43e082
inc dword [esi + 0xc]
jmp 0x43cab1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43e049
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x43cab1
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x43e0dd
cmp dword [ebp + 0x88], ebx
je case.0x443a36.14
cmp edi, dword [ebp + 0x84]
jbe case.0x443a36.14
jmp 0x43da02
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43e1d9
cmp ebx, 0xc0
jb 0x43e1d9
test bl, 0x20
jne 0x43e11a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43e1d6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43e144
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43e1d9
mov edx, dword [esi + 8]
test bl, 8
jne 0x43e16a
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 0x43e1cd
test bl, 4
jne 0x43e199
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 0x43e1cd
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 0x43e324
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x43e324
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446310
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43e30b
cmp ebx, 0xc0
jb 0x43e30b
test bl, 0x20
jne 0x43e24c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43e308
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43e276
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43e30b
mov edx, dword [esi + 8]
test bl, 8
jne 0x43e29c
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 0x43e2ff
test bl, 4
jne 0x43e2cb
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 0x43e2ff
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 0x43d26d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x43d26d
inc dword [esi + 0xc]
jmp 0x43caaa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43e434
cmp ebx, 0xc0
jb 0x43e434
test bl, 0x20
jne 0x43e375
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43e431
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43e39f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43e434
mov edx, dword [esi + 8]
test bl, 8
jne 0x43e3c5
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 0x43e428
test bl, 4
jne 0x43e3f4
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 0x43e428
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 0x43e324
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x43e1ec
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43e554
cmp ebx, 0xc0
jb 0x43e554
test bl, 0x20
jne 0x43e495
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43e551
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43e4bf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43e554
mov edx, dword [esi + 8]
test bl, 8
jne 0x43e4e5
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 0x43e548
test bl, 4
jne 0x43e514
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 0x43e548
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 0x43d26d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x43d26d
inc dword [esi + 0xc]
jmp 0x43caaa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43e67d
cmp ebx, 0xc0
jb 0x43e67d
test bl, 0x20
jne 0x43e5be
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43e67a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43e5e8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43e67d
mov edx, dword [esi + 8]
test bl, 8
jne 0x43e60e
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 0x43e671
test bl, 4
jne 0x43e63d
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 0x43e671
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 0x43e324
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x43e1ec
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43e79d
cmp ebx, 0xc0
jb 0x43e79d
test bl, 0x20
jne 0x43e6de
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43e79a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43e708
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43e79d
mov edx, dword [esi + 8]
test bl, 8
jne 0x43e72e
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 0x43e791
test bl, 4
jne 0x43e75d
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 0x43e791
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 0x43d26d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x43d26d
inc dword [esi + 0xc]
jmp 0x43caaa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43e8c6
cmp ebx, 0xc0
jb 0x43e8c6
test bl, 0x20
jne 0x43e807
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43e8c3
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43e831
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43e8c6
mov edx, dword [esi + 8]
test bl, 8
jne 0x43e857
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 0x43e8ba
test bl, 4
jne 0x43e886
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 0x43e8ba
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 0x43e93f
je 0x43e8e1
cmp ebx, 0xa
je 0x43e324
jbe 0x43e1f2
cmp ebx, 0xc
jmp 0x43e959
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43e92a
cmp dword [ebp + 0x88], 0
je 0x43e324
cmp eax, dword [ebp + 0x84]
jbe 0x43e324
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43e324
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edi, 0xfffffff4
jmp 0x446310
cmp byte [eax], 0xa
jne 0x43e324
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x43caaa
cmp ebx, 0x85
je 0x43e95f
cmp ebx, 0x2027
jbe 0x43e1f2
cmp ebx, 0x2029
ja 0x43e1f2
cmp dword [ebp + 0x68], 0
jmp 0x43e1ec
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43ea70
cmp ebx, 0xc0
jb 0x43ea70
test bl, 0x20
jne 0x43e9b1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43ea6d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43e9db
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43ea70
mov edx, dword [esi + 8]
test bl, 8
jne 0x43ea01
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 0x43ea64
test bl, 4
jne 0x43ea30
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 0x43ea64
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 0x43eaa8
je 0x43d26d
cmp ebx, 0xa0
ja 0x43ea9d
je 0x43d26d
cmp ebx, 9
je 0x43d26d
cmp ebx, 0x20
jmp 0x43e31e
cmp ebx, 0x1680
jmp 0x43e31e
cmp ebx, 0x205f
ja 0x43ead9
je 0x43d26d
cmp ebx, 0x2000
jb 0x43e324
cmp ebx, 0x200a
jbe 0x43d26d
cmp ebx, 0x202f
jmp 0x43e31e
cmp ebx, 0x3000
je 0x43d26d
inc dword [esi + 0xc]
jmp 0x43caaa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43ebf5
cmp ebx, 0xc0
jb 0x43ebf5
test bl, 0x20
jne 0x43eb36
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43ebf2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43eb60
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43ebf5
mov edx, dword [esi + 8]
test bl, 8
jne 0x43eb86
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 0x43ebe9
test bl, 4
jne 0x43ebb5
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 0x43ebe9
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 0x43ec2d
je 0x43e324
cmp ebx, 0xa0
ja 0x43ec22
je 0x43e324
cmp ebx, 9
je 0x43e324
cmp ebx, 0x20
jmp 0x43e1ec
cmp ebx, 0x1680
jmp 0x43e1ec
cmp ebx, 0x205f
ja 0x43ec5e
je 0x43e324
cmp ebx, 0x2000
jb 0x43e1f2
cmp ebx, 0x200a
jbe 0x43e324
cmp ebx, 0x202f
jmp 0x43e1ec
cmp ebx, 0x3000
jmp 0x43e1ec
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43ed71
cmp ebx, 0xc0
jb 0x43ed71
test bl, 0x20
jne 0x43ecb2
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43ed6e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43ecdc
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43ed71
mov edx, dword [esi + 8]
test bl, 8
jne 0x43ed02
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 0x43ed65
test bl, 4
jne 0x43ed31
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 0x43ed65
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 0x43ed99
je 0x43e1f2
cmp ebx, 0xa
jb 0x43e324
cmp ebx, 0xd
jbe 0x43e1f2
inc dword [esi + 0xc]
jmp 0x43caaa
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x43e324
jmp 0x43e1f2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x43eeb5
cmp ebx, 0xc0
jb 0x43eeb5
test bl, 0x20
jne 0x43edf6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43eeb2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43ee20
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x43eeb5
mov edx, dword [esi + 8]
test bl, 8
jne 0x43ee46
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 0x43eea9
test bl, 4
jne 0x43ee75
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 0x43eea9
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 0x43eeda
je 0x43e324
cmp ebx, 0xa
jb 0x43d26d
cmp ebx, 0xd
jbe 0x43e324
jmp 0x43d26d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x43d26d
inc dword [esi + 0xc]
jmp 0x43caaa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x43efed
cmp ebx, 0xc0
jb 0x43efed
test bl, 0x20
jne 0x43ef39
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43efea
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43ef61
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x43efed
mov edx, dword [esi + 8]
test bl, 8
jne 0x43ef87
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 0x43efea
test bl, 4
jne 0x43efb6
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 0x43efea
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 + 0x5a0410]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x43f010
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 + 0x5a2610]
cmp eax, 0xa
ja case.default.0x43f02a
jmp dword [eax*4 + 0x44a9ec]
cmp dword [esi + 0x9c], 0xf
jne 0x43caa6
jmp 0x43d8ab
mov al, byte [edx*8 + 0x59ed91]
cmp al, 9
je 0x43f05a
cmp al, 5
je 0x43f05a
cmp al, 8
je 0x43f05a
xor ecx, ecx
jmp 0x43f05f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x43caa6
jmp 0x43d8ab
movzx ecx, byte [edx*8 + 0x59ed91]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x59eba0]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x43caa6
jmp 0x43d8ab
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x59ed91]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x43caa6
jmp 0x43d8ab
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x59ed90]
jmp 0x43f0bb
movzx eax, byte [edx*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x43f05a
cmp eax, 3
je 0x43f05a
xor ecx, ecx
jmp 0x43f05f
cmp ebx, 0x180e
ja 0x43f153
je case.0x43f02a.0
cmp ebx, 0x85
ja 0x43f13f
je case.0x43f02a.0
cmp ebx, 9
jb case.0x43f173.8203
cmp ebx, 0xd
jbe case.0x43f02a.0
cmp ebx, 0x20
jmp 0x43f18c
cmp ebx, 0xa0
je case.0x43f02a.0
cmp ebx, 0x1680
jmp 0x43f18c
cmp ebx, 0x202f
ja 0x43f17a
je case.0x43f02a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x43f173.8203
movzx eax, byte [ebx + 0x44aa20]
jmp dword [eax*4 + 0x44aa18]
cmp ebx, 0x205f
je case.0x43f02a.0
cmp ebx, 0x3000
je case.0x43f02a.0
movzx eax, byte [edx*8 + 0x59ed91]
xor ecx, ecx
cmp dword [eax*4 + 0x59eba0], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x43f0c7
movzx eax, byte [edx*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x43f05a
cmp eax, 3
je 0x43f05a
cmp ebx, 0x5f
je 0x43f05a
xor ecx, ecx
jmp 0x43f05f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x59ec50]
lea eax, [eax*4 + 0x59ec50]
cmp ebx, ecx
jb 0x43f20d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x43f21f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x43f200
cmp dword [esi + 0x9c], 0x10
jne 0x43caa6
jmp 0x43d8ab
cmp dword [esi + 0x9c], 0x10
je 0x43caa6
jmp 0x43d8ab
cmp ebx, 0x24
je 0x43f05a
cmp ebx, 0x40
je 0x43f05a
cmp ebx, 0x60
je 0x43f05a
cmp ebx, 0xa0
jb 0x43f260
cmp ebx, 0xd7ff
jbe 0x43f05a
cmp ebx, 0xe000
jae 0x43f05a
xor ecx, ecx
jmp 0x43f05f
mov esi, dword [esi]
test esi, esi
je case.default.0x446324
mov edi, 0xfffffff2
jmp 0x446309
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x43f392
cmp ebx, 0xc0
jb 0x43f392
test bl, 0x20
jne 0x43f2d0
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x43f38f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43f2ff
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 0x43f392
mov edx, dword [esi + 8]
test bl, 8
jne 0x43f325
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 0x43f388
test bl, 4
jne 0x43f354
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 0x43f388
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x43f3b4
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed92]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43f546
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x43f4de
cmp ebx, 0xc0
jb 0x43f4de
test bl, 0x20
jne 0x43f415
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x43f4d6
test bl, 0x10
jne 0x43f43a
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 0x43f4d6
test bl, 8
jne 0x43f468
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 0x43f4d6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x43f4a2
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 0x43f4d6
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x43f500
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx ecx, byte [eax*8 + 0x59ed92]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x59ec18], eax
je 0x43f546
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 0x43f3e0
cmp dword [ebp + 0x88], 0
je 0x43e324
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x43e324
cmp eax, dword [ebp + 0x84]
jbe 0x43e324
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43e324
jmp 0x43da16
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 0x43f674
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 0x43f604
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x43f60d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x43f5e0
jmp 0x43f674
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x43f674
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 0x43f664
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x43f664
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x43f66e
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.0x43f68f
movzx eax, byte [eax + 0x44aa54]
jmp dword [eax*4 + 0x44aa4c]
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 + 0x59e0e0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x59e0ec]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43f71d
mov dword [esi + 0x8c], closesocket
jmp 0x43f71d
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 0x43f719
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x43cab1
jns 0x43f741
cmp dword [esi + 0x90], 0
je 0x43cab1
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x43f77f
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.0044af50
add esp, 0x14
test eax, eax
js 0x43f7b1
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x43f750
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x43cab1
cmp dword [esp + 0x80], 0
je 0x43f7da
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x446bc2
cmp eax, 0xfffffffe
jne 0x43f7bc
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x443a36.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x443a36.14
jmp 0x43e055
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x43f7f0
cmp edi, dword [esi + 0x8c]
jge 0x446c11
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0044af50
add esp, 0x14
test eax, eax
js 0x43f825
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x43f7f0
cmp eax, 0xfffffffe
jne 0x446c11
cmp dword [ebp + 0x88], 0
je 0x446c11
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x446c11
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x446c11
jmp 0x43da16
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0044af50
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x43f8e9
cmp eax, 0xfffffffe
jne 0x43f895
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x4471ed.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4471ed.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4471ed.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4471ed.14
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x446314
add dword [esi + 8], eax
jmp 0x43caaa
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.0x43f917
movzx eax, byte [eax + 0x44aa64]
jmp dword [eax*4 + 0x44aa5c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x43f93a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x43f945
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x59e0e0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x59e0ec]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43f9dc
mov dword [esi + 0x8c], closesocket
jmp 0x43f9dc
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 0x43f9c2
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x43f9dc
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x43fb3c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x43fb91
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x43faec
test bl, 0x20
jne 0x43fa3a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x43fae9
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x43fa61
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x43fae7
test bl, 8
jne 0x43fa84
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 0x43fae7
test bl, 4
jne 0x43fab3
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 0x43fae7
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 0x43fafd
cmp dword [esi + 0x9c], 0x6e
jmp 0x43fb12
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.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x43fa00
jmp 0x43fb83
cmp dword [ebp + 0x88], 0
je case.0x443a36.14
mov eax, dword [esi + 8]
jmp 0x43e055
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x43fb8a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43fb27
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.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x43fb50
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43caaa
test ebx, ebx
je 0x43fbba
test edx, edx
jne 0x449e27
mov dword [esi + 0x84], eax
jmp 0x446cab
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x43fd72
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x43fd5f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x43fd37
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x43fce6
test bl, 0x20
jne 0x43fc2b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x43fce6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x43fc53
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x43fcdc
and eax, 0x3f
test bl, 8
jne 0x43fc79
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 0x43fcdc
test bl, 4
jne 0x43fca8
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 0x43fcdc
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 0x43fcf7
cmp dword [esi + 0x9c], 0x6e
jmp 0x43fd0c
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 0x43fd5f
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 0x43fbe1
jmp 0x43fd5f
cmp dword [ebp + 0x88], 0
je 0x43fd5f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x43fd5f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
je 0x447c6c
jmp 0x43caaa
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x43fdea
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x43fdc2
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 0x43fdea
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 0x43fd81
jmp 0x43fdea
cmp dword [ebp + 0x88], 0
je 0x43fdea
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x43fdea
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
je 0x446ceb
jmp 0x43caaa
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.0x43fe35
movzx eax, byte [eax + 0x44aa78]
jmp dword [eax*4 + 0x44aa70]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x43fe58
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x43fe63
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x59e0e0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x59e0ec]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x43fefa
mov dword [esi + 0x8c], closesocket
jmp 0x43fefa
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 0x43fee0
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x43fefa
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x440035
jmp 0x43ff10
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44000a
cmp edx, 0xc0
jb 0x44000a
test dl, 0x20
jne 0x43ff58
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x440007
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x43ff7f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x440005
test dl, 8
jne 0x43ffa2
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 0x440005
test dl, 4
jne 0x43ffd1
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 0x440005
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.0044c1d0
add esp, 0xc
test eax, eax
je case.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x43ff10
jmp 0x44003c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43cab1
cmp dword [esp + 0x84], 0
jne 0x449e38
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 0x4401cd
jmp 0x440080
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4401a3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x44016b
cmp edx, 0xc0
jb 0x44016b
test dl, 0x20
jne 0x4400cc
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x44016b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4400eb
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x440161
and eax, 0x3f
test dl, 8
jne 0x44010b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x440161
test dl, 4
jne 0x440134
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 0x440161
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.0044c1d0
add esp, 0xc
test eax, eax
je 0x4401cd
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x440080
jmp 0x4401cd
cmp dword [ebp + 0x88], 0
je 0x4401c6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4401c6
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x43da16
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x43cab1
jmp 0x447a81
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4403b9
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 0x440340
test al, 0x20
jne 0x440240
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 0x440340
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x44027a
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 0x440340
test al, 8
jne 0x4402b6
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 0x440340
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4402fb
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 0x440340
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 0x440379
cmp dword [ebp + 0x88], ebx
je case.0x443a36.14
cmp edx, edi
jb case.0x443a36.14
cmp edx, dword [ebp + 0x84]
jbe case.0x443a36.14
jmp 0x43da02
test ecx, ecx
jle 0x4403ae
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.0x443a36.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x440380
dec dword [esi + 0x88]
jmp 0x43caaa
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x440406
cmp dword [ebp + 0x88], ebx
je 0x43d26d
cmp edi, dword [ebp + 0x84]
jbe 0x43d26d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x43d26d
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edi, 0xfffffff4
jmp 0x446310
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 0x44071b
jmp 0x43d8ab
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43e0c0
cmp dword [esp + 0x8c], ebx
je 0x4406fc
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 0x44058b
test al, 0x20
jne 0x44048b
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 0x44058b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x4404c5
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 0x44058b
test al, 8
jne 0x440501
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 0x44058b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x440546
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 0x44058b
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 0x4405b9
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x43d8ab
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x43caaa
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x44069b
test bl, 0x20
jne 0x4405e9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x440698
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x440610
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x440696
test bl, 8
jne 0x440633
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 0x440696
test bl, 4
jne 0x440662
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 0x440696
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 0x43caaa
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5a0410]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4406d5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5a2610]
mov eax, dword [eax*8 + 0x59ed94]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x43cab1
jmp 0x43d8ab
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 0x43d8ab
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x43caaa
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 0x44084d
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 0x440784
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x44078f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x44084d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x440854
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x440854
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x440854
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 + 0x59e0e0]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x59e0ec]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44084d
mov dword [esi + 0x8c], closesocket
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x440cc8
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 0x44099b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x4408b1
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 0x44099b
test bl, 0x10
jne 0x4408e6
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 0x44099b
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 0x440924
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 0x44099b
test bl, 4
jne 0x44095d
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 0x44099b
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 0x440cd7
cmp dword [esi + 0x9c], 0x2e
jb 0x440a0c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5a0410]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4409e3
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5a2610]
mov ecx, dword [eax*8 + 0x59ed94]
add ecx, edi
cmp ecx, edi
je 0x440a0c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0044c170
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x440a13
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x440b46
jmp 0x440a30
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 0x440ab4
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x440a68
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x440a71
add ecx, 4
add edx, 4
sub edi, 4
jae 0x440a57
cmp edi, 0xfffffffc
je 0x440b28
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x440aaa
cmp edi, 0xfffffffd
je 0x440b28
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x440aaa
cmp edi, 0xfffffffe
je 0x440b28
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x440aaa
cmp edi, 0xffffffff
je 0x440b28
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x440b28
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x43f7bc
sub ecx, ebx
cmp edi, ecx
ja 0x43f7bc
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x440ae6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x440aeb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x440ad5
cmp edi, 0xfffffffc
je 0x440b28
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43f7bc
cmp edi, 0xfffffffd
je 0x440b28
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43f7bc
cmp edi, 0xfffffffe
je 0x440b28
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43f7bc
cmp edi, 0xffffffff
je 0x440b28
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43f7bc
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x440a30
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x43cab1
cmp dword [esp + 0x84], 0
jne 0x449e49
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 0x440cb5
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 0x440c0c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x440bc8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x440bd1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x440bb7
cmp edi, 0xfffffffc
je 0x440c68
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x440c02
cmp edi, 0xfffffffd
je 0x440c68
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x440c02
cmp edi, 0xfffffffe
je 0x440c68
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x440c02
cmp edi, 0xffffffff
je 0x440c68
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x440c68
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x440c88
sub ecx, ebx
cmp edi, ecx
ja 0x440c88
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x440c36
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x440c3b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x440c25
cmp edi, 0xfffffffc
je 0x440c68
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x440c88
cmp edi, 0xfffffffd
je 0x440c68
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x440c88
cmp edi, 0xfffffffe
je 0x440c68
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x440c88
cmp edi, 0xffffffff
je 0x440c68
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x440c88
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x440b90
jmp 0x440cb5
cmp dword [ebp + 0x88], 0
je 0x440cb5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x440cb5
cmp eax, dword [ebp + 0x84]
jbe 0x440cb5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
je 0x447e2c
jmp 0x43caaa
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x440dcf
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 0x440d34
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43fb27
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x440d27
cmp dword [esi + 0x94], ecx
jne case.0x443a36.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x440d04
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43caaa
cmp dword [esp + 0x84], 0
je 0x440d5b
mov dword [esi + 0x84], eax
jmp 0x446d8b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x440dc2
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x440d9a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x440d8b
cmp dword [esi + 0x94], ecx
jne 0x440dc2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x440d70
jmp 0x440dc2
cmp dword [ebp + 0x88], 0
je 0x440dc2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x440dc2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
test edi, edi
je 0x446dcb
jmp 0x43caaa
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x440e0a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x440de0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x43cab1
cmp dword [esp + 0x84], 0
je 0x440e38
mov dword [esi + 0x84], eax
jmp 0x446e58
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x440e9c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x440e74
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x440e9c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x440e50
jmp 0x440e9c
cmp dword [ebp + 0x88], 0
je 0x440e9c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x440e9c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
je 0x446e98
jmp 0x43cab1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x440ed4
cmp dword [ebp + 0x88], ebx
je case.0x443a36.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x443a36.14
jmp 0x43da02
test edi, edi
je 0x44114c
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 0x440fd5
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x440f12
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x440fd2
test bl, 0x10
jne 0x440f33
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 0x440fd2
test bl, 8
jne 0x440f5e
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 0x440fd5
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x440f97
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 0x440fd2
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 0x4410c8
test dl, 0x20
jne 0x44100f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4410be
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x441036
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4410bc
test dl, 8
jne 0x441059
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 0x4410bc
test dl, 4
jne 0x441088
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 0x4410bc
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 0x4410e5
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x43cab1
jmp 0x43d8ab
cmp ebx, 0x7f
jbe 0x441122
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5a0410]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44110d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5a2610]
mov ecx, dword [eax*8 + 0x59ed94]
add ecx, ebx
jmp 0x441129
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x43d8ab
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x43cab1
jmp 0x43d8ab
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.0x443a36.14
cmp dword [esi + 0x9c], 0x20
jne 0x44071b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x443a36.14
add dword [esi + 0xc], 2
jmp 0x43caaa
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 0x4412e6
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 0x4411eb
cmp al, 0x4f
je 0x4411eb
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x4412e6
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x4412e6
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4412e6
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4412e6
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4412e6
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 0x4412e6
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 + 0x59e0e0]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x59e0ec]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4412e6
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 0x441441
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x441441
test al, 0x20
jne 0x441338
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 0x441441
test al, 0x10
jne 0x44136b
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 0x441441
test al, 8
jne 0x4413ad
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 0x441441
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4413f8
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 0x44143a
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 0x441865
test edx, edx
je 0x44149c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x44149c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5a0410]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x441480
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x5a2610]
mov eax, dword [eax*8 + 0x59ed94]
add eax, edi
jmp 0x4414a9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x4415f0
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44163b
jmp 0x4414d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x4415c9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x44150a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4415c6
test cl, 0x10
jne 0x44152b
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 0x4415c6
test cl, 8
jne 0x441555
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 0x4415c6
test cl, 4
jne 0x44158b
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 0x4415c6
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.0x443a36.14
cmp dword [esi + 0x94], ecx
je case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4414d0
jmp 0x441634
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x441634
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43fb27
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x443a36.14
cmp dword [esi + 0x94], ecx
je case.0x443a36.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x441600
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43caaa
test ebx, ebx
je 0x441664
test edx, edx
jne 0x449e5a
mov dword [esi + 0x84], eax
jmp 0x446f2f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x4417ed
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4417da
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4417b2
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x44178e
test dl, 0x20
jne 0x4416c2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x44178e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4416ec
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 0x44178c
test dl, 8
jne 0x441718
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 0x44178c
test dl, 4
jne 0x441750
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 0x44178c
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 0x4417da
cmp dword [esi + 0x94], edx
je 0x4417da
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x441684
jmp 0x4417da
cmp dword [ebp + 0x88], 0
je 0x4417da
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4417da
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
je 0x44800c
jmp 0x43caaa
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x441852
jmp 0x441800
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44182a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x441852
cmp dword [esi + 0x94], ecx
je 0x441852
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x441800
jmp 0x441852
cmp dword [ebp + 0x88], 0
je 0x441852
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x441852
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
je 0x446f6f
jmp 0x43caaa
test edx, edx
je 0x441987
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4419c5
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44196c
test dl, 0x20
jne 0x4418ba
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x441969
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4418e1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x441967
test dl, 8
jne 0x441904
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 0x441967
test dl, 4
jne 0x441933
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 0x441967
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.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x441880
jmp 0x4419be
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4419c5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x441994
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x43caaa
cmp dword [esp + 0x84], 0
je 0x4419f4
test edx, edx
jne 0x449e6f
mov dword [esi + 0x84], eax
jmp 0x446ffc
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x441b78
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x441b65
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x441b3d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x441b21
test dl, 0x20
jne 0x441a52
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x441b21
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x441a7c
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 0x441b1f
test dl, 8
jne 0x441aab
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 0x441b1f
test dl, 4
jne 0x441ae3
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 0x441b1f
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 0x441b65
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x441a14
jmp 0x441b65
cmp dword [ebp + 0x88], 0
je 0x441b65
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x441b65
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
je 0x4481d0
jmp 0x43caaa
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x441bd2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x441baa
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x441bd2
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x441b86
jmp 0x441bd2
cmp dword [ebp + 0x88], 0
je 0x441bd2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x441bd2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
je 0x44703c
jmp 0x43caaa
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 0x441d24
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 0x441d24
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x441d24
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x441d24
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x441d24
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 0x441d24
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x59e08b]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x59e097]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x441d24
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 0x441d46
cmp ecx, 0xf
je 0x441d46
mov dword [esi + 0x60], 0xffffffff
jmp 0x441d69
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 0x443d0b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x442b18
cmp eax, 0xa
ja case.default.0x43f02a
jmp dword [eax*4 + 0x44aa84]
cmp dword [esi + 0x68], ebx
jne 0x43d8ab
mov edx, 1
cmp ecx, edx
jl 0x443d0b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x441def
cmp ecx, 0xc0
jb 0x441def
test cl, 0x20
jne 0x441dcb
inc eax
jmp 0x441dec
test cl, 0x10
jne 0x441dd5
add eax, 2
jmp 0x441dec
test cl, 8
jne 0x441ddf
add eax, 3
jmp 0x441dec
test cl, 4
jne 0x441de9
add eax, 4
jmp 0x441dec
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x441da8
jmp 0x443d0b
cmp dword [ebp + 0x88], ebx
je case.0x443a36.14
mov eax, dword [esi + 8]
jmp 0x43e055
mov edi, 1
cmp ecx, edi
jl 0x443d0b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x441f1a
cmp ebx, 0xc0
jb 0x441f1a
test bl, 0x20
jne 0x441e68
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x441f17
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x441e8f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x441f15
test bl, 8
jne 0x441eb2
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 0x441f15
test bl, 4
jne 0x441ee1
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 0x441f15
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x441f3c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
cmp eax, 9
je 0x441f61
cmp eax, 5
je 0x441f61
cmp eax, 8
je 0x441f61
xor eax, eax
jmp 0x441f66
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x441e20
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d0b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x442088
cmp ebx, 0xc0
jb 0x442088
test bl, 0x20
jne 0x441fd8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x442085
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x441fff
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x442085
test bl, 8
jne 0x442022
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 0x442085
test bl, 4
jne 0x442051
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 0x442085
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x4420aa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x441f90
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d0b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4421eb
cmp ebx, 0xc0
jb 0x4421eb
test bl, 0x20
jne 0x44213b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4421e8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x442162
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4421e8
test bl, 8
jne 0x442185
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 0x4421e8
test bl, 4
jne 0x4421b4
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 0x4421e8
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x44220d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4420f3
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d0b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x442348
cmp ebx, 0xc0
jb 0x442348
test bl, 0x20
jne 0x442298
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x442345
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4422bf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x442345
test bl, 8
jne 0x4422e2
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 0x442345
test bl, 4
jne 0x442311
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 0x442345
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x44236a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed90]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x442250
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d0b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4424aa
cmp ebx, 0xc0
jb 0x4424aa
test bl, 0x20
jne 0x4423f8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4424a7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44241f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4424a5
test bl, 8
jne 0x442442
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 0x4424a5
test bl, 4
jne 0x442471
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 0x4424a5
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x4424cc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x4424f3
cmp eax, 3
je 0x4424f3
xor eax, eax
jmp 0x4424f8
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4423b0
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d0b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x44261a
cmp ebx, 0xc0
jb 0x44261a
test bl, 0x20
jne 0x442568
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x442617
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44258f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x442615
test bl, 8
jne 0x4425b2
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 0x442615
test bl, 4
jne 0x4425e1
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 0x442615
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 0x44265d
je case.0x442679.8192
cmp ebx, 0x85
ja 0x442649
je case.0x442679.8192
cmp ebx, 9
jb case.0x442679.8203
cmp ebx, 0xd
jbe case.0x442679.8192
cmp ebx, 0x20
jmp 0x44268e
cmp ebx, 0xa0
je case.0x442679.8192
cmp ebx, 0x1680
jmp 0x44268e
cmp ebx, 0x202f
ja 0x442680
je case.0x442679.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x442679.8203
movzx eax, byte [eax + 0x44aab8]
jmp dword [eax*4 + 0x44aab0]
cmp ebx, 0x205f
je case.0x442679.8192
cmp ebx, 0x3000
je case.0x442679.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x4426b2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
cmp dword [eax*4 + 0x59eba0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x443a36.14
jmp 0x4426e6
cmp dword [esi + 0x68], 0
jne case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x442520
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d0b
jmp 0x442710
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x442808
cmp ebx, 0xc0
jb 0x442808
test bl, 0x20
jne 0x442758
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x442805
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44277f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x442805
test bl, 8
jne 0x4427a2
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 0x442805
test bl, 4
jne 0x4427d1
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 0x442805
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 + 0x5a0410]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44282b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x442857
cmp eax, 3
je 0x442857
cmp ebx, 0x5f
je 0x442857
xor eax, eax
jmp 0x44285c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x443a36.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x442710
jmp 0x443d0b
mov ebx, 1
cmp ecx, ebx
jl 0x443d0b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44297c
cmp edx, 0xc0
jb 0x44297c
test dl, 0x20
jne 0x4428cc
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x442979
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4428f3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x442979
test dl, 8
jne 0x442916
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 0x442979
test dl, 4
jne 0x442945
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 0x442979
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 + 0x59ec50]
lea eax, [eax*4 + 0x59ec50]
cmp edx, ecx
jb 0x44299e
lea eax, [eax + 4]
cmp edx, ecx
je 0x4429ba
mov ecx, dword [eax]
cmp edx, ecx
jae 0x442991
cmp dword [esi + 0x68], 0
je case.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x442884
jmp 0x443d0b
cmp dword [esi + 0x68], 0
jne case.0x443a36.14
jmp 0x4429a8
mov ebx, 1
cmp ecx, ebx
jl 0x443d0b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x442acd
cmp edx, 0xc0
jb 0x442acd
test dl, 0x20
jne 0x442a1b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x442aca
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x442a42
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x442ac8
test dl, 8
jne 0x442a65
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 0x442ac8
test dl, 4
jne 0x442a94
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 0x442ac8
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 0x442af8
cmp edx, 0x40
je 0x442af8
cmp edx, 0x60
je 0x442af8
cmp edx, 0xa0
jb 0x442aec
cmp edx, 0xd7ff
jbe 0x442af8
cmp edx, 0xe000
jae 0x442af8
xor eax, eax
jmp 0x442afd
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4429d3
jmp 0x443d0b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x442e43
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x443d0b
jmp 0x442b40
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x43fb27
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x442c40
cmp ebx, 0xc0
jb 0x442c40
test bl, 0x20
jne 0x442b89
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x442c3d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x442bb0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x442c36
test bl, 8
jne 0x442bd3
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 0x442c36
test bl, 4
jne 0x442c02
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 0x442c36
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x442c62
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed92]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x442dfd
jmp 0x442c90
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x442d8e
cmp ebx, 0xc0
jb 0x442d8e
test bl, 0x20
jne 0x442cc5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x442d86
test bl, 0x10
jne 0x442cea
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 0x442d86
test bl, 8
jne 0x442d18
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 0x442d86
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x442d52
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 0x442d86
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x442db0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx ecx, byte [eax*8 + 0x59ed92]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x59ec18], eax
je 0x442df6
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 0x442c90
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x442e2a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x442e2a
cmp eax, dword [ebp + 0x84]
jbe 0x442e2a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x442b40
jmp 0x443d0b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x44390f
cmp eax, 0xf
ja case.0x445e57.9
jmp dword [eax*4 + 0x44aae4]
mov ebx, 1
cmp ecx, ebx
jl 0x443d12
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x43fb27
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x442ea7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0044c840
add esp, 0x14
test eax, eax
jne case.0x443a36.14
jmp 0x442ecb
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x442ecb
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x442ecb
cmp edx, 1
je case.0x443a36.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x443a36.14
cmp dword [ebp + 0x88], 0
je 0x442f06
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x442f06
cmp dword [ebp + 0x18], 0
jne 0x442f06
cmp dword [edi], 2
jne 0x442f06
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x442f06
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x442f22
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x442f22
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x442f11
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x442e72
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x441dfd
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x442f78
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x442f78
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x442f60
inc edi
cmp edi, dword [esi + 0x90]
jle 0x442f44
jmp 0x443d0b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x43d8ab
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x443d0b
mov ebx, 1
cmp ecx, ebx
jl 0x443d12
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44309c
test dl, 0x20
jne 0x442fea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x443099
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x443011
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x443097
test dl, 8
jne 0x443034
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 0x443097
test dl, 4
jne 0x443063
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 0x443097
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 0x4430c0
je 0x4430ad
cmp edx, 0xa
je 0x4430e1
lea eax, [edx - 0xb]
jmp 0x4430ce
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4430e1
cmp byte [eax], 0xa
jne 0x4430e1
inc eax
mov dword [esi + 8], eax
jmp 0x4430e1
cmp edx, 0x85
je 0x4430d7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x443a36.14
cmp dword [ebp + 0x68], 0
jne case.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x442fb0
jmp 0x443d0b
mov ebx, 1
cmp ecx, ebx
jl 0x443d12
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4431ec
test dl, 0x20
jne 0x44313a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4431e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x443161
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4431e7
test dl, 8
jne 0x443184
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 0x4431e7
test dl, 4
jne 0x4431b3
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 0x4431e7
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 0x44321e
je case.0x443a36.14
cmp edx, 0xa0
ja 0x443216
je case.0x443a36.14
cmp edx, 9
je case.0x443a36.14
cmp edx, 0x20
jmp 0x44324e
cmp edx, 0x1680
jmp 0x44324e
cmp edx, 0x205f
ja 0x443248
je case.0x443a36.14
cmp edx, 0x2000
jb 0x443254
cmp edx, 0x200a
jbe case.0x443a36.14
cmp edx, 0x202f
jmp 0x44324e
cmp edx, 0x3000
je case.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x443100
jmp 0x443d0b
mov ebx, 1
cmp ecx, ebx
jl 0x443d12
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44335f
test dl, 0x20
jne 0x4432ad
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44335c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4432d4
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44335a
test dl, 8
jne 0x4432f7
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 0x44335a
test dl, 4
jne 0x443326
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 0x44335a
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 0x443385
je 0x4433b7
cmp edx, 0xa0
ja 0x44337d
je 0x4433b7
cmp edx, 9
je 0x4433b7
cmp edx, 0x20
jmp 0x4433b1
cmp edx, 0x1680
jmp 0x4433b1
cmp edx, 0x205f
ja 0x4433ab
je 0x4433b7
cmp edx, 0x2000
jb case.0x443a36.14
cmp edx, 0x200a
jbe 0x4433b7
cmp edx, 0x202f
jmp 0x4433b1
cmp edx, 0x3000
jne case.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x443273
jmp 0x443d0b
mov ebx, 1
cmp ecx, ebx
jl 0x443d12
jmp 0x4433e0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4434cc
test dl, 0x20
jne 0x44341a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4434c9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x443441
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4434c7
test dl, 8
jne 0x443464
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 0x4434c7
test dl, 4
jne 0x443493
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 0x4434c7
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 0x4434e4
je case.0x443a36.14
cmp edx, 0xa
jb 0x4434f8
cmp edx, 0xd
jmp 0x4434f2
cmp edx, 0x2028
jb 0x4434f8
cmp edx, 0x2029
jbe case.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4433e0
jmp 0x443d0b
mov ebx, 1
cmp ecx, ebx
jl 0x443d12
jmp 0x443520
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44360c
test dl, 0x20
jne 0x44355a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x443609
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x443581
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x443607
test dl, 8
jne 0x4435a4
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 0x443607
test dl, 4
jne 0x4435d3
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 0x443607
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 0x44361e
je 0x44362d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x443627
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x443520
jmp 0x443d0b
mov ebx, 1
cmp ecx, ebx
jl 0x443d12
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x43fb27
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x44373c
test dl, 0x20
jne 0x44368a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x443739
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4436b1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x443737
test dl, 8
jne 0x4436d4
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 0x443737
test dl, 4
jne 0x443703
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 0x443737
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 0x443751
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x443a36.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x443650
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x441dfd
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x443a36.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x443a36.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x443770
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x441dfd
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4437e3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x443a36.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x443808
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x443808
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4437f0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4437c0
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x441dfd
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x443a36.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x443a36.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x443823
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x441dfd
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x443893
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x443a36.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4438b8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4438b8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4438a0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x443870
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x441dfd
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x443a36.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x443a36.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4438d3
jmp 0x443d0b
cmp eax, 0xf
ja case.0x445e57.9
jmp dword [eax*4 + 0x44ab24]
mov ebx, 1
cmp ecx, ebx
jl 0x443d12
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x43fb27
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x443960
push 0
push edi
push eax
push edx
push ecx
call fcn.0044c840
add esp, 0x14
test eax, eax
jne case.0x443a36.14
jmp 0x443984
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x443984
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x443984
cmp edx, 1
je case.0x443a36.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x443a36.14
cmp dword [ebp + 0x88], 0
je 0x4439bf
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4439bf
cmp dword [ebp + 0x18], 0
jne 0x4439bf
cmp dword [edi], 2
jne 0x4439bf
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4439bf
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x443930
jmp 0x443d0b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x442f96
cmp dword [ebp + 0x88], ebx
je case.0x443a36.14
cmp edx, dword [ebp + 0x84]
jbe case.0x443a36.14
jmp 0x43da02
mov edx, 1
cmp ecx, edx
jl 0x443d0b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x441dfd
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x443a36.14
movzx eax, byte [eax + 0x44ab74]
jmp dword [eax*4 + 0x44ab64]
cmp ecx, dword [ebp + 0x78]
jae case.0x443a36.10
cmp byte [ecx], 0xa
jne case.0x443a36.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x443a36.10
cmp dword [ebp + 0x68], ebx
jne case.0x443a36.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x443a10
jmp 0x443d0b
mov edx, 1
cmp ecx, edx
jl 0x443d0b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x443a36.14
cmp ecx, 0x20
je case.0x443a36.14
cmp ecx, 0xa0
je case.0x443a36.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x443a73
jmp 0x443d0b
mov edx, 1
cmp ecx, edx
jl 0x443d0b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x443ae9
cmp ecx, 0x20
je 0x443ae9
cmp ecx, 0xa0
jne case.0x443a36.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x443ac0
jmp 0x443d0b
mov edx, 1
cmp ecx, edx
jl 0x443d0b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x443b31
cmp ecx, 0xd
jle case.0x443a36.14
cmp ecx, 0x85
je case.0x443a36.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x443b04
jmp 0x443d0b
mov edx, 1
cmp ecx, edx
jl 0x443d0b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x443a36.14
cmp ecx, 0xd
jle 0x443b7d
cmp ecx, 0x85
jne case.0x443a36.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x443b50
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
jmp 0x443ba0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x443a36.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x443ba0
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x443a36.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x443be0
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x443a36.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x443c20
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x443a36.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x443c60
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
jmp 0x443ca0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x443a36.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x443ca0
jmp 0x443d0b
mov edi, 1
cmp ecx, edi
jl 0x443d12
jmp 0x443ce0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x441dfd
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x443a36.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x443ce0
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x43caaa
cmp dword [esp + 0x84], 0
je 0x443d72
mov eax, dword [esi + 0x60]
test eax, eax
js 0x443d55
cmp eax, 0xa
ja case.0x445e57.9
jmp dword [eax*4 + 0x44abf0]
mov esi, dword [esi]
test esi, esi
je case.default.0x446324
mov edi, 0xfffffff2
jmp 0x446310
cmp dword [esi + 0x7c], 0x16
je 0x449f43
test edx, edx
jne 0x449f2e
mov dword [esi + 0x84], ecx
jmp 0x4471a5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x444dab
cmp eax, 0xa
ja case.0x445e57.9
jmp dword [eax*4 + 0x44ac1c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x444d98
mov ebx, dword [esp + 0x8c]
jmp 0x443db0
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x443e1b
movzx ecx, byte [edx]
test ebx, ebx
je 0x443dfe
cmp ecx, 0xc0
jb 0x443dfe
test cl, 0x20
jne 0x443dd8
mov eax, 2
jmp 0x443dfe
test cl, 0x10
jne 0x443de4
mov eax, 3
jmp 0x443dfe
test cl, 8
jne 0x443df0
mov eax, 4
jmp 0x443dfe
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x444d98
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x443db0
jmp 0x444d98
cmp dword [ebp + 0x88], 0
je 0x444d98
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x444d98
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x444d98
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x446310
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x444d98
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x443fde
movzx ebx, byte [edi]
test edx, edx
je 0x443f5c
cmp ebx, 0xc0
jb 0x443f5c
test bl, 0x20
jne 0x443ebe
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x443f54
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x443edd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x443f54
and eax, 0x3f
test bl, 8
jne 0x443efd
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x443f54
test bl, 4
jne 0x443f26
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 0x443f54
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x443f7e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
cmp eax, 9
je 0x443fa3
cmp eax, 5
je 0x443fa3
cmp eax, 8
je 0x443fa3
xor eax, eax
jmp 0x443fa8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x444d98
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 0x443e80
jmp 0x444d98
cmp dword [ebp + 0x88], 0
je 0x444d98
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x444d98
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x444d98
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edi, 0xfffffff4
jmp 0x446310
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x444d98
jmp 0x444040
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4441c2
movzx ebx, byte [edi]
test edx, edx
je 0x444143
cmp ebx, 0xc0
jb 0x444143
test bl, 0x20
jne 0x44408a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x44413b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4440b2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x44413b
and eax, 0x3f
test bl, 8
jne 0x4440d8
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 0x44413b
test bl, 4
jne 0x444107
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 0x44413b
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x444165
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x444d98
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 0x444040
jmp 0x444d98
cmp dword [ebp + 0x88], 0
je 0x444d98
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x444d98
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x444003
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x444d98
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4441c2
movzx ebx, byte [edi]
test edx, edx
je 0x44430f
cmp ebx, 0xc0
jb 0x44430f
test bl, 0x20
jne 0x444256
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x444307
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44427e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x444307
and eax, 0x3f
test bl, 8
jne 0x4442a4
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 0x444307
test bl, 4
jne 0x4442d3
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 0x444307
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x444331
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x444d98
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 0x444210
jmp 0x444d98
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x444d98
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4441c2
movzx ebx, byte [edi]
test edx, edx
je 0x4444a3
cmp ebx, 0xc0
jb 0x4444a3
test bl, 0x20
jne 0x4443ea
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x44449b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x444412
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x44449b
and eax, 0x3f
test bl, 8
jne 0x444438
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 0x44449b
test bl, 4
jne 0x444467
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 0x44449b
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x4444c5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed90]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x444d98
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 0x4443a0
jmp 0x444d98
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x444d98
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x443fde
movzx ebx, byte [edi]
test edx, edx
je 0x444613
cmp ebx, 0xc0
jb 0x444613
test bl, 0x20
jne 0x444572
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x44460b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x444594
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x44460b
and eax, 0x3f
test bl, 8
jne 0x4445b4
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x44460b
test bl, 4
jne 0x4445dd
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 0x44460b
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x444635
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x44465c
cmp eax, 3
je 0x44465c
xor eax, eax
jmp 0x444661
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x444d98
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 0x444534
jmp 0x444d98
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x444d98
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4441c2
movzx ebx, byte [edi]
test edx, edx
je 0x4447bd
cmp ebx, 0xc0
jb 0x4447bd
test bl, 0x20
jne 0x444702
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x4447bd
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44472a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x4447b3
and eax, 0x3f
test bl, 8
jne 0x444750
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 0x4447b3
test bl, 4
jne 0x44477f
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 0x4447b3
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 0x444800
je case.0x444820.8192
cmp ebx, 0x85
ja 0x4447ec
je case.0x444820.8192
cmp ebx, 9
jb case.0x444820.8203
cmp ebx, 0xd
jbe case.0x444820.8192
cmp ebx, 0x20
jmp 0x444835
cmp ebx, 0xa0
je case.0x444820.8192
cmp ebx, 0x1680
jmp 0x444835
cmp ebx, 0x202f
ja 0x444827
je case.0x444820.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x444820.8203
movzx eax, byte [eax + 0x44ac50]
jmp dword [eax*4 + 0x44ac48]
cmp ebx, 0x205f
je case.0x444820.8192
cmp ebx, 0x3000
je case.0x444820.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x444859
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
cmp dword [eax*4 + 0x59eba0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x444d98
mov edx, dword [esp + 0x8c]
jmp 0x444894
cmp dword [esi + 0x68], 0
jne 0x444d98
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 0x4446b0
jmp 0x444d98
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x444d98
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4441c2
movzx ebx, byte [edi]
test edx, edx
je 0x4449e3
cmp ebx, 0xc0
jb 0x4449e3
test bl, 0x20
jne 0x44492a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4449db
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x444952
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4449db
and eax, 0x3f
test bl, 8
jne 0x444978
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 0x4449db
test bl, 4
jne 0x4449a7
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 0x4449db
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 + 0x5a0410]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x444a06
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x444a32
cmp eax, 3
je 0x444a32
cmp ebx, 0x5f
je 0x444a32
xor eax, eax
jmp 0x444a37
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x444d98
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 0x4448e0
jmp 0x444d98
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x444d98
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x444bcf
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x444b71
cmp edx, 0xc0
jb 0x444b71
test dl, 0x20
jne 0x444ad4
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x444b69
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x444af3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x444b69
and eax, 0x3f
test dl, 8
jne 0x444b13
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x444b69
test dl, 4
jne 0x444b3c
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 0x444b69
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 + 0x59ec50]
lea eax, [eax*4 + 0x59ec50]
cmp edx, ecx
jb 0x444b93
lea eax, [eax + 4]
cmp edx, ecx
je 0x444bc3
mov ecx, dword [eax]
cmp edx, ecx
jae 0x444b86
cmp dword [esi + 0x68], 0
je 0x444d98
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 0x444a90
jmp 0x444d98
cmp dword [esi + 0x68], 0
jne 0x444d98
jmp 0x444b9d
cmp dword [ebp + 0x88], 0
je 0x444d98
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x444d98
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x444d98
jmp 0x43da16
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x444d98
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x444d70
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x444d27
cmp edx, 0xc0
jb 0x444d27
test dl, 0x20
jne 0x444c5d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x444d27
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x444c87
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 0x444d27
test dl, 8
jne 0x444cb3
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 0x444d27
test dl, 4
jne 0x444ceb
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 0x444d27
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 0x444d52
cmp edx, 0x40
je 0x444d52
cmp edx, 0x60
je 0x444d52
cmp edx, 0xa0
jb 0x444d46
cmp edx, 0xd7ff
jbe 0x444d52
cmp edx, 0xe000
jae 0x444d52
xor ecx, ecx
jmp 0x444d57
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x444d98
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x444c11
jmp 0x444d98
cmp dword [ebp + 0x88], 0
je 0x444d98
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x444d98
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
je 0x44924c
jmp 0x43caaa
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x445147
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x4450f8
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4450d0
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x444ed0
cmp ebx, 0xc0
jb 0x444ed0
test bl, 0x20
jne 0x444e19
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x444ecd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x444e40
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x444ec6
test bl, 8
jne 0x444e63
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 0x444ec6
test bl, 4
jne 0x444e92
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 0x444ec6
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x444ef2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed92]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44508d
jmp 0x444f20
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x44501e
cmp ebx, 0xc0
jb 0x44501e
test bl, 0x20
jne 0x444f55
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x445016
test bl, 0x10
jne 0x444f7a
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 0x445016
test bl, 8
jne 0x444fa8
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 0x445016
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x444fe2
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 0x445016
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x445040
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx ecx, byte [eax*8 + 0x59ed92]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x59ec18], eax
je 0x445086
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 0x444f20
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x4450ba
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4450ba
cmp eax, dword [ebp + 0x84]
jbe 0x4450ba
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x444dd0
jmp 0x4450f8
cmp dword [ebp + 0x88], 0
je 0x4450f8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4450f8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
cmp dword [esp + 0x80], 0
jne 0x43caaa
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a675
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a66b
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
add eax, 0xfffffffa
test edx, edx
je 0x445e4e
cmp eax, 0xf
ja case.0x445e57.9
jmp dword [eax*4 + 0x44ac7c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x445236
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4451a9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0044c840
add esp, 0x14
test eax, eax
jne 0x445e3b
jmp 0x4451cd
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x4451cd
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4451cd
cmp edx, 1
je 0x445e3b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x445e3b
cmp dword [ebp + 0x88], 0
je 0x445208
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x445208
cmp dword [ebp + 0x18], 0
jne 0x445208
cmp dword [edi], 2
jne 0x445208
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x445208
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x445224
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x445224
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x445213
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x445174
jmp 0x445e3b
cmp dword [ebp + 0x88], 0
je 0x445e3b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x445e3b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x445e3b
jmp 0x43da16
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x4452c8
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x445e3b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x445236
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4452ba
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4452ba
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4452a2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x445290
jmp 0x445e3b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x445e3b
cmp eax, dword [ebp + 0x84]
jbe 0x445e3b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x445e3b
jmp 0x444009
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 0x44534f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x445e3b
cmp edx, dword [ebp + 0x84]
jbe 0x445e3b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x445e3b
jmp 0x43da16
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x445e3b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x445236
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x44547a
test dl, 0x20
jne 0x4453ae
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x44547a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4453d8
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 0x445478
test dl, 8
jne 0x445404
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 0x445478
test dl, 4
jne 0x44543c
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 0x445478
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 0x445496
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x445e3b
cmp byte [eax], 0xa
jne 0x4454d0
inc eax
jmp 0x4454cd
cmp edx, 0xa
je 0x4454cb
cmp dword [ebp + 0x68], 0
jne 0x445e3b
cmp edx, 0xb
je 0x4454cb
cmp edx, 0xc
je 0x4454cb
cmp edx, 0x85
je 0x4454cb
cmp edx, 0x2028
je 0x4454cb
cmp edx, 0x2029
jne 0x445e3b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x445370
jmp 0x445e3b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44564a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4455c8
test dl, 0x20
jne 0x44552a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4455c0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x445549
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4455c0
and eax, 0x3f
test dl, 8
jne 0x445569
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4455c0
test dl, 4
jne 0x445592
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 0x4455c0
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 0x4455ee
je 0x44561c
cmp edx, 0xa0
ja 0x4455e6
je 0x44561c
cmp edx, 9
je 0x44561c
cmp edx, 0x20
jmp 0x445616
cmp edx, 0x1680
jmp 0x445616
cmp edx, 0x205f
ja 0x445610
je 0x44561c
cmp edx, 0x2000
jb 0x445618
cmp edx, 0x200a
jbe 0x44561c
cmp edx, 0x202f
jmp 0x445616
cmp edx, 0x3000
je 0x44561c
xor edx, edx
jmp 0x445621
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x445e3b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4454f4
jmp 0x445e3b
cmp dword [ebp + 0x88], 0
je 0x445e3b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x445e3b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x445e3b
jmp 0x43da16
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44564a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x445760
test dl, 0x20
jne 0x4456c2
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x445758
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4456e1
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x445758
and eax, 0x3f
test dl, 8
jne 0x445701
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x445758
test dl, 4
jne 0x44572a
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 0x445758
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 0x44579f
je 0x4457aa
cmp edx, 0xa
jb 0x445774
cmp edx, 0xd
jbe 0x4457aa
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x445e3b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x445690
jmp 0x445e3b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x445774
mov edx, 1
jmp 0x445776
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44564a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x445897
test dl, 0x20
jne 0x4457f9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x44588f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x445818
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x44588f
and eax, 0x3f
test dl, 8
jne 0x445838
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44588f
test dl, 4
jne 0x445861
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 0x44588f
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 0x4458ac
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x445e3b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4457c3
jmp 0x445e3b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
jmp 0x4458e0
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44564a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4459b4
test dl, 0x20
jne 0x445916
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4459ac
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x445935
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4459ac
and eax, 0x3f
test dl, 8
jne 0x445955
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4459ac
test dl, 4
jne 0x44597e
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 0x4459ac
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 0x445e3b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x445e3b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4458e0
jmp 0x445e3b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
jmp 0x445a00
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44564a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x445ad4
test dl, 0x20
jne 0x445a36
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x445acc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x445a55
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x445acc
and eax, 0x3f
test dl, 8
jne 0x445a75
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x445acc
test dl, 4
jne 0x445a9e
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 0x445acc
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 0x445ae9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x445e3b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x445a00
jmp 0x445e3b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44564a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x445be7
test dl, 0x20
jne 0x445b49
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x445bdf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x445b68
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x445bdf
and eax, 0x3f
test dl, 8
jne 0x445b88
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x445bdf
test dl, 4
jne 0x445bb1
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 0x445bdf
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 0x445e3b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x445e3b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x445b13
jmp 0x445e3b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44564a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x445d04
test dl, 0x20
jne 0x445c66
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x445cfc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x445c85
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x445cfc
and eax, 0x3f
test dl, 8
jne 0x445ca5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x445cfc
test dl, 4
jne 0x445cce
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 0x445cfc
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 0x445d19
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x445e3b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x445c30
jmp 0x445e3b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x445e3b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44564a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x445e17
test dl, 0x20
jne 0x445d79
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x445e0f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x445d98
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x445e0f
and eax, 0x3f
test dl, 8
jne 0x445db8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x445e0f
test dl, 4
jne 0x445de1
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 0x445e0f
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 0x445e3b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x445e3b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x445d43
cmp dword [esp + 0x80], 0
je 0x448708
jmp 0x43caaa
cmp eax, 0xf
ja case.0x445e57.9
jmp dword [eax*4 + 0x44acbc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4462e7
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x445f14
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x445ea0
push 0
push edi
push eax
push edx
push ecx
call fcn.0044c840
add esp, 0x14
test eax, eax
jne 0x4462e7
jmp 0x445ec4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x445ec4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x445ec4
cmp edx, 1
je 0x4462e7
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4462e7
cmp dword [ebp + 0x88], 0
je 0x445eff
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x445eff
cmp dword [ebp + 0x18], 0
jne 0x445eff
cmp dword [edi], 2
jne 0x445eff
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x445eff
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x445e70
jmp 0x4462e7
cmp dword [ebp + 0x88], 0
je 0x4462e7
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4462e7
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4462e7
jmp 0x43da16
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 0x445f98
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4462e7
cmp edx, dword [ebp + 0x84]
jbe 0x4462e7
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4462e7
jmp 0x43da16
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4462e7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4462e7
jmp 0x445fc0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x445f14
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x445feb
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4462e7
cmp byte [eax], 0xa
jne 0x446015
inc eax
jmp 0x446012
cmp eax, 0xa
je 0x44600f
cmp dword [ebp + 0x68], 0
jne 0x4462e7
cmp eax, 0xb
je 0x44600f
cmp eax, 0xc
je 0x44600f
cmp eax, 0x85
jne 0x4462e7
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x445fc0
jmp 0x4462e7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4462e7
jmp 0x446040
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x445f14
mov al, byte [ecx]
cmp al, 9
je 0x4462e7
cmp al, 0x20
je 0x4462e7
cmp al, 0xa0
je 0x4462e7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x446040
jmp 0x4462e7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4462e7
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x445f14
mov al, byte [ecx]
cmp al, 9
je 0x4460ae
cmp al, 0x20
je 0x4460ae
cmp al, 0xa0
jne 0x4462e7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x446090
jmp 0x4462e7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4462e7
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x445f14
mov al, byte [ecx]
cmp al, 0xa
jb 0x4460f6
cmp al, 0xd
jbe 0x4462e7
cmp al, 0x85
je 0x4462e7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4460d4
jmp 0x4462e7
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4462e7
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x445f14
mov al, byte [ecx]
cmp al, 0xa
jb 0x4462e7
cmp al, 0xd
jbe 0x446142
cmp al, 0x85
jne 0x4462e7
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x446120
jmp 0x4462e7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4462e7
jmp 0x446170
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x445f14
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x4462e7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x446170
jmp 0x4462e7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4462e7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x445f14
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x4462e7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4461b2
jmp 0x4462e7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4462e7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x445f14
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x4462e7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4461f4
jmp 0x4462e7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4462e7
jmp 0x446240
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x445f14
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x4462e7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x446240
jmp 0x4462e7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4462e7
jmp 0x446280
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x445f14
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x4462e7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x446280
jmp 0x4462e7
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4462e7
jmp 0x4462c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x445f14
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x4462e7
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4462c0
cmp dword [esp + 0x80], 0
je 0x44734a
jmp 0x43caaa
mov esi, dword [esi]
test esi, esi
je 0x44a7c1
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.0x446324
jmp dword [eax*4 + 0x44acfc]
cmp edi, 0xfffffc1b
je 0x4463f6
cmp edi, 0xfffffc20
jne 0x446373
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.0x446324.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44636f
cmp byte [ecx], 0x77
jne case.0x446324.49
xor edi, edi
jmp 0x44637b
test edi, edi
jne case.0x446324.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 0x4463f6
cmp dword [esi + 0x9c], 0x88
jb 0x4463c1
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x44a14a
push 0x134
call dword [0x8f40d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x44a140
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x4467ec
mov edx, dword [esp + 0x8c]
jmp 0x446314
cmp edi, 0xfffffc20
jne 0x4464b3
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 0x446501
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44647e
cmp byte [ecx], 0x77
jne 0x446501
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 0x446517
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446314
test edi, edi
je 0x44647e
cmp edi, 0xfffffc1b
jne 0x446501
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x4464f3
cmp al, 0x77
jne 0x4464e4
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 0x4464d0
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 0x4467ec
mov edx, dword [esp + 0x8c]
jmp 0x446314
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x446569
cmp eax, 0x81
je 0x446569
cmp dword [ebp + 0x6c], 0
jne 0x446573
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 0x446573
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x59ea88]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x43ca30
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 0x44a16c
push 0x134
call dword [0x8f40d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x44a162
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
cmp edi, 1
jne 0x446633
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4465d0
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x4465e3
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 0x446619
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 0x446600
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x59ea88]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x43cede.145
test edi, edi
je 0x446643
cmp edi, 0xfffffc20
jne case.0x446324.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x446659
movzx eax, byte [edx + 0x59ea88]
jmp 0x44665c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x446679
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x43cab1
cmp dword [esi + 0x9c], 0x8c
jne 0x43ca30
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a18e
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a184
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
cmp edi, 1
je 0x446772
cmp edi, 0xfffffc19
je 0x446772
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x44671a
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.0x446324.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x446722
cmp byte [ecx], 0x77
jmp 0x44671c
test edi, edi
jne case.0x446324.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 0x446778
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a1a7
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a19d
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x446791
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446314
cmp dword [esi + 0x58], 0
je 0x449dce
mov esi, dword [esi]
test esi, esi
je 0x44a766
mov edi, 1
jmp 0x446314
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x44685d
je 0x4467f6
cmp edi, 0xfffffc19
je 0x447093
cmp edi, 0xfffffc1b
jle case.0x446324.49
cmp edi, 0xfffffc1f
jle 0x44681e
mov esi, dword [esi]
test esi, esi
jne 0x446314
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 0x44681e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x446870
cmp byte [ecx], 0x77
je 0x446870
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 0x446821
cmp dword [esi + 0x58], 0
je 0x446aa7
mov esi, dword [esi]
test esi, esi
je 0x44a766
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x446314
mov eax, edi
sub eax, 0
je 0x446870
dec eax
je 0x447093
jmp case.0x446324.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 0x446838
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a1bd
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a1b3
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
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 0x449dfc
cmp edi, 0xfffffc19
je 0x449dfc
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x446929
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x43d8ab
push ecx
call dword [0x8f40d4]
add esp, 4
jmp 0x43d8ab
test edi, edi
je 0x446953
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x446944
push ecx
call dword [0x8f40d4]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x4467ec
jmp 0x446309
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 0x4469b9
cmp dword [esi + 0x58], 0
je 0x446984
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x44a203
push 0x134
call dword [0x8f40d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x44a1f9
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x446909
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x446a13
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a251
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a247
mov esi, dword [esi]
test esi, esi
je 0x44a71b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x446314
cmp al, 0x88
jb 0x449f54
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a273
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a269
mov esi, dword [esi]
test esi, esi
je 0x44a71b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x446314
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x44a773
mov edi, 0xfffffc1b
jmp 0x446314
test edi, edi
jne case.0x446324.49
mov edx, dword [esi + 0x2c]
jmp 0x446a90
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 0x446a90
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x43caaa
test edi, edi
je 0x43e324
jmp case.0x446324.49
test edi, edi
je 0x446a5f
jmp case.0x446324.49
cmp edi, 0xfffffc1b
jne 0x446adb
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x446add
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4478cb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a295
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a28b
mov esi, dword [esi]
test esi, esi
je 0x44a71b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x446314
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x446b50
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0044af50
add esp, 0x14
test eax, eax
jns 0x446bb7
cmp eax, 0xfffffffe
jne 0x446b79
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x448691
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x448691
cmp eax, dword [ebp + 0x84]
jbe 0x448691
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43f8ce
jmp 0x448691
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a2ba
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a2b0
mov esi, dword [esi]
test esi, esi
je 0x44a71b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x446314
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x443a36.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a2d3
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a2c9
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x446c77
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x448776
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 0x448691
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a2ec
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a2e2
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x43d8ab
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a305
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a2fb
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x446d51
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x448776
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x446d81
cmp dword [esi + 0x94], ecx
je 0x446d81
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446314
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a31e
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a314
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
dec dword [esi + 8]
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a337
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a32d
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x446e31
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x448776
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x448691
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a350
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a346
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
dec dword [esi + 8]
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a369
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a35f
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x446efe
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x448776
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x447093
cmp dword [esi + 0x94], ecx
je 0x447093
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a382
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a378
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a39b
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a391
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x446fd5
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x448776
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x448691
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a3b1
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a3a7
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a3c7
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a3bd
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4470a4
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446314
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4470eb
cmp dword [ebp + 0x88], 0
je 0x4470d3
cmp ecx, dword [ebp + 0x84]
jbe 0x4470d3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43f8ce
mov esi, dword [esi]
test esi, esi
je 0x44a728
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x446314
cmp dword [esi + 0x7c], 0xc
jne 0x447112
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x447134
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044c840
add esp, 0x14
test eax, eax
jne 0x447151
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.0x44712d.15
jmp dword [eax*4 + 0x44ae08]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x447112
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x447112
cmp edi, 1
je 0x447151
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x447112
mov esi, dword [esi]
test esi, esi
je 0x44a728
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x446314
cmp dword [ebp + 0x88], 0
je case.0x44712d.13
cmp edx, dword [ebp + 0x78]
jb case.0x44712d.13
cmp dword [ebp + 0x18], 0
jne case.0x44712d.13
cmp dword [ebp + 0x1c], 2
jne case.0x44712d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x44712d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43f8ce
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a3dd
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a3d3
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4471ed.14
movzx eax, byte [ecx + 0x44ae58]
jmp dword [eax*4 + 0x44ae48]
cmp edx, dword [ebp + 0x78]
jae case.0x44712d.13
cmp byte [edx], 0xa
jne case.0x44712d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x44712d.13
cmp dword [ebp + 0x68], 0
je case.0x44712d.13
jmp case.0x4471ed.14
cmp ecx, 9
je case.0x4471ed.14
cmp ecx, 0x20
je case.0x4471ed.14
cmp ecx, 0xa0
jmp 0x4472ea
cmp ecx, 9
je case.0x44712d.13
cmp ecx, 0x20
je case.0x44712d.13
cmp ecx, 0xa0
je case.0x44712d.13
jmp case.0x4471ed.14
cmp ecx, 0xa
jb case.0x44712d.13
cmp ecx, 0xd
jbe case.0x4471ed.14
cmp ecx, 0x85
jmp 0x4472ea
cmp ecx, 0xa
jb case.0x4471ed.14
cmp ecx, 0xd
jbe case.0x44712d.13
cmp ecx, 0x85
je case.0x44712d.13
jmp case.0x4471ed.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x44712d.13
jmp case.0x4471ed.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x4472ea
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x44712d.13
jmp case.0x4471ed.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x4472ea
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x44712d.13
mov esi, dword [esi]
test esi, esi
je 0x44a728
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x446314
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x44712d.13
mov esi, dword [esi]
test esi, esi
je 0x44a728
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x446314
mov esi, dword [esi]
test esi, esi
je case.default.0x446324
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x446314
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x44734a
cmp eax, dword [esi + 0x30]
jbe 0x44734a
cmp byte [eax], 0xa
jne 0x44734a
cmp byte [eax - 1], 0xd
jne 0x44734a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a3f3
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a3e9
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
cmp edi, 0xfffffc1a
jne 0x4473e1
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 0x4473d9
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 0x4473c0
jmp 0x447438
mov dword [esi + 8], eax
jmp 0x44745d
cmp edi, 0xfffffc20
jne 0x447415
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.0x446324.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44741d
cmp byte [ecx], 0x77
jmp 0x447417
test edi, edi
jne case.0x446324.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 0x447451
cmp dword [esi + 0x5c], 0
jne 0x446aa7
cmp dword [esi + 0x54], 0
jne 0x446aa7
jmp 0x448691
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x447473
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x44a435
push 0x134
call dword [0x8f40d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x44a42b
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
mov esi, dword [esi]
test edi, edi
jne 0x4467e4
test esi, esi
je 0x44a78d
mov edi, 0xfffffc1c
jmp 0x446314
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x44a7a7
mov edi, 0xfffffc1e
jmp 0x446314
cmp edi, 1
je 0x4474f3
cmp edi, 0xfffffc19
jne 0x44750d
cmp dword [ebp + 0xac], 0
jne 0x44750d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x446501
cmp edi, 0xfffffc1f
jne 0x446501
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x447542
test dl, dl
je 0x44753e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x447542
add eax, 2
add ecx, 2
test dl, dl
jne 0x447522
xor eax, eax
jmp 0x447547
sbb eax, eax
or eax, 1
test eax, eax
jne 0x446501
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x44a7a7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x446314
cmp edi, 1
je 0x44757d
cmp edi, 0xfffffc19
jne case.0x446324.51
cmp dword [ebp + 0xac], 0
jne case.0x446324.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x4467e4
test esi, esi
je 0x44a780
mov edi, 0xfffffc1d
jmp 0x446314
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x44a7b4
mov edi, 0xfffffc1f
jmp 0x446314
cmp edi, 1
je 0x4475e0
cmp edi, 0xfffffc19
jne case.0x446324.54
cmp dword [ebp + 0xac], 0
jne case.0x446324.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x44a79a
mov edi, 0xfffffc20
jmp 0x446314
cmp edi, 0xfffffc1a
jne 0x447681
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 0x447679
mov edx, dword [esi + 0xc]
jmp 0x447660
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 0x447660
jmp 0x4476e8
mov dword [esi + 8], eax
jmp 0x43d5e2
cmp edi, 0xfffffc20
jne 0x4476b5
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.0x446324.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4476bd
cmp byte [ecx], 0x77
jmp 0x4476b7
test edi, edi
jne case.0x446324.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 0x43d5e2
cmp dword [esi + 0x5c], 0
jne 0x447728
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 0x43caa6
cmp dword [esi + 0x5c], 0
jne 0x43caa6
jmp 0x448691
cmp edi, 1
jne 0x4477e4
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x447761
cmp al, 0x77
jne 0x448691
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 0x447761
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 0x43caa6
cmp ecx, dword [esi + 0x38]
je 0x43caa6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x44787d
test ecx, ecx
jne 0x44a49e
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a494
mov esi, dword [esi]
test esi, esi
je 0x44a71b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x446314
cmp edi, 0xfffffc20
jne 0x447818
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.0x446324.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x447820
cmp byte [ecx], 0x77
jmp 0x44781a
test edi, edi
jne case.0x446324.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 0x447750
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a479
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a46f
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test ecx, ecx
jne 0x44a4c3
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a4b9
mov esi, dword [esi]
test esi, esi
je 0x44a71b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x446314
test edi, edi
je 0x449f54
jmp case.0x446324.49
test edi, edi
jne case.0x446324.49
add dword [esi + 0xc], 3
jmp 0x43ca30
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4478f9
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4479fa
cmp ebx, 0xc0
jb 0x4479fa
test bl, 0x20
jne 0x44793b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4479f7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x447965
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4479fa
mov edx, dword [esi + 8]
test bl, 8
jne 0x44798b
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 0x4479ee
test bl, 4
jne 0x4479ba
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 0x4479ee
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.0044c1d0
add esp, 0xc
test eax, eax
je 0x43d8ab
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a4e5
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a4db
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x448691
cmp dword [esp + 0x8c], edi
je 0x447a81
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x447a81
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x447a75
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a4fe
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a4f4
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x447adb
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x447bd0
test bl, 0x20
jne 0x447b15
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x447bcd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x447b3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x447bd0
mov edx, dword [esi + 8]
test bl, 8
jne 0x447b68
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 0x447bcb
test bl, 4
jne 0x447b97
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 0x447bcb
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 0x447be6
cmp dword [esi + 0x9c], 0x6e
jne 0x447c03
jmp 0x43d8ab
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 0x43d8ab
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a517
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a50d
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x43d8ab
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x447c6c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x447c60
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a530
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a526
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x447cc6
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
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 0x447d35
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x447cf5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x447cfa
add ecx, 4
add edx, 4
sub edi, 4
jae 0x447ce4
cmp edi, 0xfffffffc
je 0x447d27
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x447d32
cmp edi, 0xfffffffd
je 0x447d27
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x447d32
cmp edi, 0xfffffffe
je 0x447d27
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x447d32
cmp edi, 0xffffffff
je 0x447d27
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x447d32
mov eax, dword [esi + 0x88]
jmp 0x447da0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x447de0
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x447de0
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x447d67
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x447d6c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x447d56
cmp edi, 0xfffffffc
je 0x447d9d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x447de0
cmp edi, 0xfffffffd
je 0x447d9d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x447de0
cmp edi, 0xfffffffe
je 0x447d9d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x447de0
cmp edi, 0xffffffff
je 0x447d9d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x447de0
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 0x44a549
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a53f
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
cmp dword [ebp + 0x88], 0
je case.0x443a36.14
cmp ebx, dword [ebp + 0x78]
jb case.0x443a36.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x443a36.14
jmp 0x43da02
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x447e2c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x447e20
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a562
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a558
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x447e92
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x447f92
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x447ecc
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x447f8f
test dl, 0x10
jne 0x447eee
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 0x447f92
mov ecx, dword [esi + 8]
test dl, 8
jne 0x447f1e
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 0x447f8f
test dl, 4
jne 0x447f54
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 0x447f8f
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 0x447151
cmp dword [esi + 0x94], edx
je 0x447151
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x447fd9
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x446be5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x44a3fd
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44800c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x448000
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a57b
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a571
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x448072
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x448167
test bl, 0x20
jne 0x4480ac
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x448164
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4480d6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x448167
mov edx, dword [esi + 8]
test bl, 8
jne 0x4480ff
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 0x448162
test bl, 4
jne 0x44812e
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 0x448162
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 0x43d8ab
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a594
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a58a
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4481d0
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4481c4
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a5ad
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a5a3
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x448236
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x448272
cmp dword [ebp + 0x88], 0
je 0x448691
cmp ecx, dword [ebp + 0x84]
jbe 0x448691
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43f8ce
jmp 0x448691
cmp dword [esi + 0x7c], 0xc
jne 0x4482c4
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44829f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0044c840
add esp, 0x14
test eax, eax
jne 0x448691
jmp 0x4482c4
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4482c4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4482c4
cmp edi, 1
je 0x448691
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x448691
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4483ac
test dl, 0x20
jne 0x4482f7
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4483a9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44831e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4483a7
test dl, 8
jne 0x448344
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 0x4483a7
test dl, 4
jne 0x448373
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 0x4483a7
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.0x4483bb.15
jmp dword [eax*4 + 0x44aed4]
cmp dword [ebp + 0x88], 0
je case.0x4483bb.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4483bb.13
cmp dword [ebp + 0x18], 0
jne case.0x4483bb.13
cmp dword [ebp + 0x1c], 2
jne case.0x4483bb.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x4483bb.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4483bb.13
jmp 0x43f8ce
cmp edx, 0xd
ja 0x44843e
je 0x44842b
cmp edx, 0xa
je case.0x4483bb.13
jbe 0x448691
cmp edx, 0xc
jmp 0x448458
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x4483bb.13
cmp byte [eax], 0xa
jne case.0x4483bb.13
inc eax
mov dword [esi + 8], eax
jmp case.0x4483bb.13
cmp edx, 0x85
je 0x44845e
cmp edx, 0x2027
jbe 0x448691
cmp edx, 0x2029
ja 0x448691
cmp dword [ebp + 0x68], 0
je case.0x4483bb.13
jmp 0x448691
cmp edx, 0x180e
ja 0x4484dd
je 0x448691
cmp edx, 0xa0
ja 0x4484d5
je 0x448691
cmp edx, 9
je 0x448691
cmp edx, 0x20
je 0x448691
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4484c6
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x446be5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x44a3fd
cmp edx, 0x1680
jmp 0x448491
cmp edx, 0x205f
ja 0x448507
je 0x448691
cmp edx, 0x2000
jb case.0x4483bb.13
cmp edx, 0x200a
jbe 0x448691
cmp edx, 0x202f
jmp 0x448491
cmp edx, 0x3000
jmp 0x44868b
cmp edx, 0x180e
ja 0x448544
je case.0x4483bb.13
cmp edx, 0xa0
ja 0x44853c
je case.0x4483bb.13
cmp edx, 9
je case.0x4483bb.13
cmp edx, 0x20
jmp 0x448578
cmp edx, 0x1680
jmp 0x448578
cmp edx, 0x205f
ja 0x448572
je case.0x4483bb.13
cmp edx, 0x2000
jb 0x448691
cmp edx, 0x200a
jbe case.0x4483bb.13
cmp edx, 0x202f
jmp 0x448578
cmp edx, 0x3000
je case.0x4483bb.13
jmp 0x448691
cmp edx, 0x85
ja 0x4485a8
je 0x448691
cmp edx, 0xa
jb case.0x4483bb.13
cmp edx, 0xd
jbe 0x448691
jmp case.0x4483bb.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4483bb.13
jmp 0x448691
cmp edx, 0x85
ja 0x4485d8
je case.0x4483bb.13
cmp edx, 0xa
jb 0x448691
cmp edx, 0xd
jmp 0x4485e1
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x4483bb.13
jmp 0x448691
cmp edx, 0x100
jae case.0x4483bb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4483bb.13
jmp 0x448691
cmp edx, 0x100
jae 0x448691
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x44868b
cmp edx, 0x100
jae case.0x4483bb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4483bb.13
jmp 0x448691
cmp edx, 0x100
jae 0x448691
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x44868b
cmp edx, 0x100
jae case.0x4483bb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4483bb.13
mov esi, dword [esi]
test esi, esi
je 0x44a728
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x446314
cmp edx, 0x100
jae 0x448691
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4483bb.13
mov esi, dword [esi]
test esi, esi
je 0x44a728
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x446314
mov esi, dword [esi]
test esi, esi
je case.default.0x446324
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x446314
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4486ec
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4486e0
cmp dword [esi + 0x7c], 0x11
jne 0x448708
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x448708
cmp byte [eax], 0xa
jne 0x448708
dec eax
cmp byte [eax], 0xd
jne 0x448708
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a5c6
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a5bc
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x44876e
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44878e
cmp dword [ebp + 0x88], 0
je 0x447093
cmp eax, dword [ebp + 0x84]
jmp 0x448ee9
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x4487cd
cmp ecx, 0xc0
jb 0x4487cd
test cl, 0x20
jne 0x4487a9
inc eax
jmp 0x4487ca
test cl, 0x10
jne 0x4487b3
add eax, 2
jmp 0x4487ca
test cl, 8
jne 0x4487bd
add eax, 3
jmp 0x4487ca
test cl, 4
jne 0x4487c7
add eax, 4
jmp 0x4487ca
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x4487e4
mov esi, dword [esi]
test esi, esi
je 0x44a728
xor edi, edi
jmp 0x446314
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x448813
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x446be5
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x44a3fd
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x448847
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x448941
cmp ebx, 0xc0
jb 0x448941
test bl, 0x20
jne 0x448889
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44893e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4488b3
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x448941
mov edx, dword [esi + 8]
test bl, 8
jne 0x4488d9
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 0x44893c
test bl, 4
jne 0x448908
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 0x44893c
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x448963
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
cmp eax, 9
je 0x448988
cmp eax, 5
je 0x448988
cmp eax, 8
je 0x448988
xor eax, eax
jmp 0x44898d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x43d8ab
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a5df
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a5d5
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4489f6
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x448aec
cmp ebx, 0xc0
jb 0x448aec
test bl, 0x20
jne 0x448a38
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x448ae9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x448a60
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x448aec
mov edx, dword [esi + 8]
test bl, 8
jne 0x448a86
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 0x448ae9
test bl, 4
jne 0x448ab5
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 0x448ae9
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x448b0e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x43d8ab
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a5f8
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a5ee
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x448b98
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x448c8e
cmp ebx, 0xc0
jb 0x448c8e
test bl, 0x20
jne 0x448bda
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x448c8b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x448c02
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x448c8e
mov edx, dword [esi + 8]
test bl, 8
jne 0x448c28
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 0x448c8b
test bl, 4
jne 0x448c57
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 0x448c8b
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x448cb0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x43d8ab
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a611
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a607
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x448d33
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x448e29
cmp ebx, 0xc0
jb 0x448e29
test bl, 0x20
jne 0x448d75
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x448e26
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x448d9d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x448e29
mov edx, dword [esi + 8]
test bl, 8
jne 0x448dc3
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 0x448e26
test bl, 4
jne 0x448df2
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 0x448e26
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x448e4b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed90]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x43d8ab
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a62a
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a620
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x448ece
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x448f17
cmp dword [ebp + 0x88], 0
je 0x447093
cmp edi, dword [ebp + 0x84]
jbe 0x447093
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x447093
mov esi, dword [esi]
test esi, esi
je 0x44a74c
mov edi, 0xfffffff4
jmp 0x446314
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x449005
cmp ebx, 0xc0
jb 0x449005
test bl, 0x20
jne 0x448f4d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x449002
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x448f77
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x449005
mov edx, dword [esi + 8]
test bl, 8
jne 0x448f9d
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 0x449000
test bl, 4
jne 0x448fcc
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 0x449000
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x449027
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed92]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4491b8
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x449157
cmp ebx, 0xc0
jb 0x449157
test bl, 0x20
jne 0x44908b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x44914f
test bl, 0x10
jne 0x4490b0
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 0x44914f
test bl, 8
jne 0x4490e1
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 0x44914f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x44911b
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 0x44914f
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x449179
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx ecx, byte [eax*8 + 0x59ed92]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x59ec18], eax
je 0x4491b8
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x449050
cmp dword [ebp + 0x88], 0
je 0x4491e5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4491e5
cmp eax, dword [ebp + 0x84]
jbe 0x4491e5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x43da16
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a643
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a639
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x44924c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44924c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x449240
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x43ca30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a65c
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a652
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x4492a7
movzx ebx, byte [ecx]
jmp 0x449395
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4492bc
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4492b0
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x449395
test bl, 0x20
jne 0x4492df
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x44938d
test bl, 0x10
jne 0x4492ff
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 0x44938d
test bl, 8
jne 0x449328
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 0x44938d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x44935d
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 0x44938d
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x4493b7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed92]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x43ca30
dec edi
cmp dword [esp + 0x8c], 0
jne 0x4493ef
movzx ebx, byte [edi]
jmp 0x4494ae
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x449401
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x4493f7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x4494ae
test bl, 0x20
jne 0x449421
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x4494a6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44943e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4494a6
and eax, 0x3f
test bl, 8
jne 0x449459
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4494a6
test bl, 4
jne 0x44947d
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 0x4494a6
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x4494d0
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx edx, byte [eax*8 + 0x59ed92]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x59ec18], eax
je 0x445106
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x4493d0
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x449531
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x44962b
cmp ebx, 0xc0
jb 0x44962b
test bl, 0x20
jne 0x449573
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x449628
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44959d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44962b
mov edx, dword [esi + 8]
test bl, 8
jne 0x4495c3
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 0x449626
test bl, 4
jne 0x4495f2
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 0x449626
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 + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x44964d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x449674
cmp eax, 3
je 0x449674
xor eax, eax
jmp 0x449679
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x43d8ab
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a68e
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a684
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4496e2
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4497e3
cmp ebx, 0xc0
jb 0x4497e3
test bl, 0x20
jne 0x449724
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4497e0
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44974e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4497e3
mov edx, dword [esi + 8]
test bl, 8
jne 0x449774
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 0x4497d7
test bl, 4
jne 0x4497a3
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 0x4497d7
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 0x44980e
cmp ebx, 0x40
je 0x44980e
cmp ebx, 0x60
je 0x44980e
cmp ebx, 0xa0
jb 0x449802
cmp ebx, 0xd7ff
jbe 0x44980e
cmp ebx, 0xe000
jae 0x44980e
xor eax, eax
jmp 0x449813
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x43e1f2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a6a7
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a69d
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x44987c
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x44997d
cmp ebx, 0xc0
jb 0x44997d
test bl, 0x20
jne 0x4498be
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44997a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4498e8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44997d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44990e
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 0x449971
test bl, 4
jne 0x44993d
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 0x449971
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 0x4499c0
je case.0x4499e0.8192
cmp ebx, 0x85
ja 0x4499ac
je case.0x4499e0.8192
cmp ebx, 9
jb case.0x4499e0.8203
cmp ebx, 0xd
jbe case.0x4499e0.8192
cmp ebx, 0x20
jmp 0x4499f5
cmp ebx, 0xa0
je case.0x4499e0.8192
cmp ebx, 0x1680
jmp 0x4499f5
cmp ebx, 0x202f
ja 0x4499e7
je case.0x4499e0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x4499e0.8203
movzx eax, byte [eax + 0x44af1c]
jmp dword [eax*4 + 0x44af14]
cmp ebx, 0x205f
je case.0x4499e0.8192
cmp ebx, 0x3000
je case.0x4499e0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5a0410]
shl eax, 7
and ebx, 0x8000007f
jns 0x449a19
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
cmp dword [eax*4 + 0x59eba0], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x449a4c
jmp 0x43d8ab
cmp dword [esi + 0x68], 0
jne 0x43e1f2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a6c0
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a6b6
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x449aac
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x449ba2
cmp ebx, 0xc0
jb 0x449ba2
test bl, 0x20
jne 0x449aee
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x449b9f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x449b16
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x449ba2
mov edx, dword [esi + 8]
test bl, 8
jne 0x449b3c
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 0x449b9f
test bl, 4
jne 0x449b6b
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 0x449b9f
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 + 0x5a0410]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x449bc5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5a2610]
movzx eax, byte [eax*8 + 0x59ed91]
mov eax, dword [eax*4 + 0x59eba0]
cmp eax, 1
je 0x449bf1
cmp eax, 3
je 0x449bf1
cmp ebx, 0x5f
je 0x449bf1
xor eax, eax
jmp 0x449bf6
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x43d8ab
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a6d9
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a6cf
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
test edi, edi
jne case.0x446324.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x449c5f
mov esi, dword [esi]
test esi, esi
je 0x44a728
jmp 0x446314
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448ed6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x449d5c
cmp ebx, 0xc0
jb 0x449d5c
test bl, 0x20
jne 0x449ca1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x449d59
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x449cc9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x449d5c
mov edx, dword [esi + 8]
test bl, 8
jne 0x449cef
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 0x449d52
test bl, 4
jne 0x449d1e
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 0x449d52
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 + 0x59ec50]
lea eax, [eax*4 + 0x59ec50]
cmp ebx, ecx
jb 0x449d7e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x449dc3
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x449d71
cmp dword [esi + 0x68], 0
je 0x43e1f2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a6f2
push 0x134
call dword [0x8f40d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44a6e8
mov esi, dword [esi]
test esi, esi
je 0x44a71b
lea edi, [eax - 6]
jmp 0x446309
cmp dword [esi + 0x68], 0
je 0x449d88
jmp 0x43e1f2
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 0x449dd1
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x43caaa
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x449e13
push ecx
call dword [0x8f40d4]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x43caaa
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x447c09
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x447a15
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x447dab
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x447fb0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x448179
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4487ea
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x44899c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x448b3e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x448cd9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x448e74
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x449688
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x449a52
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x449c05
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x449d8e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x449822
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x44849d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4491eb
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x43ca30
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 + 0x59ea88]
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 0x43ca20
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 0x44a216
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 0x44a216
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x449f6f
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 0x44a216
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x449f6f
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 0x44a216
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x449f6f
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 0x43ca20
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 0x44a406
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 0x44a406
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 0x44a406
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 0x44a406
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 0x44a406
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 0x44a216
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 0x44a216
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x44a1c7
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 0x43ca20
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 + 0x59ea88]
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 0x43ca20
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 0x44a406
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 0x44a406
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 0x44a406
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x44a3fd
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 0x43ca20
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 0x44a216
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 0x44a216
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 0x44a406
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 0x44a406
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 0x44a406
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x44a3fd
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x44a3fd
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