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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x8c
push ebx
push ebp
mov ebp, dword [esp + 0xa8]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0xac]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0xb8]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
nop
mov edx, dword [ebp]
mov ebx, dword [ebp + 0x4c]
mov dword [esp + 0x28], ebx
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, dword [ebp + 4]
jb 0x4402db
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44ddb2
mov edi, 0xfffffff8
jmp 0x449ea4
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x4402f9
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44ddc2
mov edi, 0xffffffeb
jmp 0x449ea4
cmp dword [ebp + 0x98], 2
jne 0x440323
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], ebx
mov cl, byte [eax]
movzx eax, cl
mov dword [esi + 0x9c], eax
cmp cl, 0xa1
ja case.0x44034f.98
movzx eax, byte [eax + 0x44dffc]
jmp dword [eax*4 + 0x44deb0]
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 0x44038d
push 0x134
call dword [0x1710964]
mov edi, eax
add esp, 4
test edi, edi
je 0x44db58
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x523940]
add eax, edx
add ecx, eax
mov dword [edi + 0xc], ecx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x4402a0
mov edx, dword [esi + 4]
test edx, edx
jne 0x4403fc
push 0x134
call dword [0x1710964]
mov edx, eax
add esp, 4
test edx, edx
je 0x44db58
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 0x44a5c8
mov edx, dword [esi + 4]
test edx, edx
jne 0x440439
push 0x134
call dword [0x1710964]
mov edx, eax
add esp, 4
test edx, edx
je 0x44db58
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 0x44a5c8
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 0x440488
push 0x134
call dword [0x1710964]
mov edi, eax
add esp, 4
test edi, edi
je 0x44db58
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x440397
mov edx, dword [esi + 4]
test edx, edx
jne 0x4404bc
push 0x134
call dword [0x1710964]
mov edx, eax
add esp, 4
test edx, edx
je 0x44db58
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 0x44a5c8
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x4404fd
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x523940]
add eax, edx
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x440323
mov edi, dword [esi + 4]
test edi, edi
jne 0x440522
push 0x134
call dword [0x1710964]
mov edi, eax
add esp, 4
test edi, edi
je 0x44db58
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x440397
mov edx, dword [esi + 4]
test edx, edx
jne 0x440556
push 0x134
call dword [0x1710964]
mov edx, eax
add esp, 4
test edx, edx
je 0x44db58
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 0x44a5c8
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 0x4405a5
push 0x134
call dword [0x1710964]
mov edi, eax
add esp, 4
test edi, edi
je 0x44db58
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x440397
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 0x44b509
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.0x44034f.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 0x449f43
mov dword [esi + 0x54], ebx
jmp 0x440e2f
mov dword [esi + 0x54], ebx
jmp 0x440e53
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0xc], eax
cmp byte [eax], 0x76
jne 0x440771
mov edi, dword [0x171662c]
test edi, edi
je 0x44075d
mov dword [esp + 0x34], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x40], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x5c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x60], ecx
mov ecx, 0xffffffff
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x34]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x44c1fa
jns 0x44075d
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x449fe4
jmp 0x449ea0
movzx eax, byte [0x5239b6]
add dword [esi + 0xc], eax
movzx eax, byte [0x5239b6]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ebx, dword [esi + 0xc]
movzx ecx, byte [ebx]
mov dword [esp + 0x2c], ecx
lea eax, [ecx - 0x8d]
cmp eax, 0x10
ja case.0x440794.146
movzx eax, byte [eax + 0x44e0b8]
jmp dword [eax*4 + 0x44e0a0]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x440794.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x440872
cmp ecx, dword [edx + 4]
je 0x440872
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x44a21d
movzx ecx, byte [ecx + 0x523940]
jmp 0x44a220
cmp dword [ebp + 0xa4], 0
je case.0x440794.145
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 1]
shl edi, 8
or edi, eax
shl ecx, 8
movzx eax, byte [ebx + 2]
or ecx, eax
mov eax, dword [ebp + 0x30]
imul ecx, dword [ebp + 0x24]
add eax, ecx
test edi, edi
je 0x4407cc
mov ebx, eax
movzx edx, byte [eax + 1]
dec edi
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
mov ecx, dword [eax + 4]
xor eax, eax
cmp edx, ecx
sete al
mov dword [esi + 0x58], eax
je 0x4407cc
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x440818
jmp 0x4407cc
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x4407c7
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x4407c7
mov eax, 1
jmp 0x4407c9
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ebx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
je case.0x440794.145
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x4408cf
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x4408cf
mov eax, 1
jmp 0x4408d1
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x4407cc
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x4408a5
jmp 0x4407cc
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44091b
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
jmp 0x44a491
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 0x440988
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x440323
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esi + 0x98]
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jl 0x44097f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x4409df
mov eax, ecx
nop dword [eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x4409d0
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x440323
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x440a2a
cmp cl, 0x9f
je 0x440a2a
cmp dword [ebp + 0xa4], ebx
jne 0x440a2a
cmp dword [ebp + 0x5c], ebx
jne case.default.0x44c1fa
cmp dword [ebp + 0x60], ebx
je 0x440a2a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x44c1fa
mov dword [ebp + 0x80], edi
mov edi, 0xfffffc19
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, 1
cmp dword [esi + 0x9c], ebx
cmove edi, eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x449fe4
jmp 0x449ea0
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x440a87
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x44a308
mov dword [esi + 0x58], ebx
jmp 0x44a308
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x440ab3
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x44a452
mov dword [esi + 0x58], ebx
jmp 0x44a452
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x440b02
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x440b20
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x44adfa.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x440afc
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x440af0
test edx, edx
jg 0x440ad5
jmp 0x440b20
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x74]
jb case.0x44adfa.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x44097f
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x440323
mov edi, dword [0x171662c]
test edi, edi
je 0x440c23
mov dword [esp + 0x68], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x74], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x80], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x94], ecx
mov ecx, 0xffffffff
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x68]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x44c1fa
jns 0x440c23
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x449fe4
jmp 0x449ea0
add dword [esi + 0xc], 6
jmp 0x440323
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 0x440c4d
xor edx, edx
jmp 0x440c5a
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 0x440c79
cmp edx, dword [ecx + 4]
jne 0x440c71
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x440cb6
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x440c64
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 0x440ccc
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x440ce4
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44ddd2
mov edi, 0xffffffe6
jmp 0x449ea0
shl eax, 2
push eax
call dword [0x171095c]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x44db58
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.0042b880
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x44a578
mov edx, dword [esi + 0xc]
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x440d10
jmp 0x440323
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x440d58
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
nop word [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x440d80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x440dbe
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x440de0
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x440323
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x440e2f
cmp eax, 0x8b
jne 0x440e53
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 0x440e70
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 0x44b0c6
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 0x440eed
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x440f16
push 0x134
call dword [0x1710964]
mov edx, eax
add esp, 4
test edx, edx
je 0x44db58
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 0x44a5c8
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x440f52
cmp al, 0x81
je 0x440f52
mov dword [esi + 0x38], ebx
jmp 0x440f63
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 0x440f70
cmp al, 0x80
jbe 0x440f74
cmp al, 0x82
jne 0x440f91
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x44a422
cmp al, 0x85
je 0x440fa5
cmp al, 0x8a
je 0x440fa5
cmp al, 0x86
je 0x440fa5
cmp al, 0x8b
jne 0x44107b
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 0x440fea
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x440fea
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x44a422
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 0x441019
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44107b
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x44103f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x44103f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x441030
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 0x44107b
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x4410b3
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44dde2
mov edi, 0xfffffc1a
jmp 0x449ea0
cmp cl, 0x78
je 0x441143
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x441143
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x441109
test ecx, ecx
jne 0x4410ee
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
test ecx, ecx
jne 0x44112b
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x442a82
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x441174
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
cmp dword [ebp + 0x44], ebx
je case.0x44034f.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x44c1fa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x442246.10
jmp case.default.0x44c1fa
cmp dword [ebp + 0x44], ebx
je 0x4411c2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x44c1fa
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x442246.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x44c1fa
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x44120d
cmp ecx, edi
jbe 0x441202
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.00450a30
add esp, 0x14
test eax, eax
je 0x441202
mov eax, 1
jmp 0x441204
xor eax, eax
test eax, eax
jne case.0x442246.10
jmp case.default.0x44c1fa
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x44c1fa
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x44c1fa
cmp edx, 1
je case.0x442246.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x442246.10
jmp case.default.0x44c1fa
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x442246.10
jmp case.default.0x44c1fa
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x440323
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x441304
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x441292
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.004508a0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x442246.10
jmp 0x4412b3
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4412af
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4412af
cmp edi, 1
je case.0x442246.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x442246.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44adfa.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x44adfa.14
cmp dword [ebp + 0x18], 0
jne case.0x44adfa.14
cmp dword [ebp + 0x1c], 2
jne case.0x44adfa.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x44adfa.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x44dbba
jmp case.0x44adfa.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x44c1fa
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x442246.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x442246.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x442246.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de72
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x449ea4
cmp dword [ebp + 0x48], ebx
jne case.default.0x44c1fa
cmp dword [ebp + 0x58], ebx
je case.0x44034f.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x442252
jmp case.default.0x44c1fa
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x44130d
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44139e
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004508a0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4413cc
jmp 0x4413bb
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4413cc
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4413cc
cmp edi, 1
je 0x4413bb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4413cc
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x44130d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x44c1fa
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x44c1fa
cmp dword [ebp + 0x18], ebx
jne case.default.0x44c1fa
cmp dword [ebp + 0x1c], 2
jne case.default.0x44c1fa
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x44c1fa
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x44c1fa
jmp 0x441337
cmp dword [esp + 0x28], ebx
je 0x4416d4
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x441436
mov dword [esi + 0x5c], ebx
jmp 0x441561
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x44144e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x441442
cmp ecx, dword [ebp + 0x84]
jae 0x44145c
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x441513
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x44148a
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x44150b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x44149d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x441505
and eax, 0x3f
test bl, 8
jne 0x4414b8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x441505
test bl, 4
jne 0x4414dc
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 0x441505
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp dword [ebp + 0x54], 0
mov edx, ebx
je 0x441597
cmp edx, 0x5f
jne 0x441529
mov dword [esi + 0x5c], 1
jmp 0x441561
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x5252c8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x4415a8
cmp eax, 3
je 0x4415a8
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4415af
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44158b
cmp edi, dword [ebp + 0x84]
jbe 0x44158b
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x441337
mov dword [esi + 0x54], 0
jmp 0x4417ef
cmp edi, 0x100
jae 0x44155c
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44155c
mov eax, 1
jmp 0x44155e
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x441666
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4415dd
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x44165e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4415f0
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x441658
and eax, 0x3f
test dl, 8
jne 0x44160b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x441658
test dl, 4
jne 0x44162f
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x441658
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp dword [ebp + 0x54], 0
mov edi, edx
je 0x4416b9
cmp edi, 0x5f
jne 0x44167f
mov dword [esi + 0x54], 1
jmp 0x4417ef
shr eax, 7
movzx eax, byte [eax + 0x5252c8]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x4416ca
cmp eax, 3
je 0x4416ca
xor eax, eax
jmp 0x4417ec
cmp ebx, 0x100
jae 0x4416b2
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4416b2
mov eax, 1
jmp 0x4417ec
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4416e4
mov dword [esi + 0x5c], ebx
jmp 0x44176e
cmp eax, dword [ebp + 0x84]
ja 0x4416f3
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x44175e
cmp ecx, 0x5f
jne 0x44170d
mov dword [esi + 0x5c], 1
jmp 0x44176e
mov eax, ecx
test eax, eax
jns 0x441716
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5252c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x441730
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x441757
cmp eax, 3
je 0x441757
xor eax, eax
jmp 0x44176b
mov eax, 1
jmp 0x44176b
mov eax, dword [ebp + 0x40]
movzx eax, byte [ecx + eax]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44179d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x441798
cmp eax, dword [ebp + 0x84]
jbe 0x441798
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x441337
mov dword [esi + 0x54], ebx
jmp 0x4417ef
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x4417df
cmp ecx, 0x5f
jne 0x4417b3
mov dword [esi + 0x54], 1
jmp 0x4417ef
mov eax, ecx
test eax, eax
jns 0x4417bc
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5252c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x44168f
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x44168f
mov eax, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x44180a
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x441812
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x440323
jmp case.default.0x44c1fa
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x441859
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x44184e
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.004508a0
add esp, 0x14
test eax, eax
je 0x44184e
mov eax, 1
jmp 0x441850
xor eax, eax
test eax, eax
je 0x441884
jmp case.default.0x44c1fa
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x441884
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x441884
cmp edx, 1
je case.default.0x44c1fa
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x44c1fa
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44034f.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x44034f.13
cmp dword [ebp + 0x18], ebx
jne case.0x44034f.13
cmp dword [ebp + 0x1c], 2
jne case.0x44034f.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x44034f.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x441337
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4418f2
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x44c1fa
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x44c1fa
jmp 0x441337
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x442246.10
cmp ecx, dword [ebp + 0x78]
jae case.0x442246.10
nop dword [eax]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x442246.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x441910
inc dword [esi + 0xc]
jmp 0x440323
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x441954
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x44c1fa
cmp eax, dword [ebp + 0x84]
jbe case.default.0x44c1fa
jmp 0x441407
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x440323
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x441981
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x84]
jmp 0x4418d7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x441a6b
cmp edx, 0xc0
jb 0x441a6b
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4419bf
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x441a66
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4419e0
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x441a66
test dl, 8
jne 0x441a03
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 0x441a66
test dl, 4
jne 0x441a32
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 0x441a66
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, edx
cmp eax, 0x100
jae case.0x442246.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x442246.10
jmp case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x441aa9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edx, dword [ebp + 0x84]
jmp 0x4418d7
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x441ba6
cmp ecx, 0xc0
jb 0x441ba6
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x441ae5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x441ba1
test cl, 0x10
jne 0x441b06
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 0x441ba1
test cl, 8
jne 0x441b30
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 0x441ba1
test cl, 4
jne 0x441b66
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 0x441ba1
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ecx
cmp eax, 0xff
ja case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x442246.10
jmp case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x441be4
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x84]
jmp 0x4418d7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x441cec
cmp edx, 0xc0
jb 0x441cec
test dl, 0x20
jne 0x441c20
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x441ce7
test dl, 0x10
jne 0x441c47
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x441ce7
test dl, 8
jne 0x441c77
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x441ce7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x441cb3
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 0x441ce7
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, edx
cmp eax, 0x100
jae case.0x442246.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x442246.10
jmp case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x441d2a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edx, dword [ebp + 0x84]
jmp 0x4418d7
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x441e27
cmp ecx, 0xc0
jb 0x441e27
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x441d66
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x441e22
test cl, 0x10
jne 0x441d87
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 0x441e22
test cl, 8
jne 0x441db1
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 0x441e22
test cl, 4
jne 0x441de7
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 0x441e22
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ecx
cmp eax, 0xff
ja case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x442246.10
jmp case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x441e65
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x84]
jmp 0x4418d7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x441f6d
cmp edx, 0xc0
jb 0x441f6d
test dl, 0x20
jne 0x441ea1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x441f68
test dl, 0x10
jne 0x441ec8
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x441f68
test dl, 8
jne 0x441ef8
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x441f68
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x441f34
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 0x441f68
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, edx
cmp eax, 0x100
jae case.0x442246.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x442246.10
jmp case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x441fab
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edx, dword [ebp + 0x84]
jmp 0x4418d7
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4420a8
cmp ecx, 0xc0
jb 0x4420a8
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x441fe7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4420a3
test cl, 0x10
jne 0x442008
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 0x4420a3
test cl, 8
jne 0x442032
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 0x4420a3
test cl, 4
jne 0x442068
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 0x4420a3
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ecx
cmp eax, 0xff
ja case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x442246.10
jmp case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4420e6
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x84]
jmp 0x4418d7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edi
mov dword [esi + 8], edi
mov ebx, edx
mov ecx, edx
mov dword [esp + 0x20], edi
je 0x442226
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x442226
test dl, 0x20
jne 0x442136
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44222a
test dl, 0x10
jne 0x442166
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44222a
test dl, 8
jne 0x4421a2
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44222a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4421e7
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44222a
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x44222a
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x442289
cmp ecx, 0x85
je case.0x442246.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x44c1fa
jmp dword [edx*4 + 0x44e0cc]
cmp edi, dword [ebp + 0x78]
jb 0x442274
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x442246.10
cmp eax, dword [ebp + 0x84]
jbe case.0x442246.10
cmp ecx, 1
jmp 0x44132a
cmp byte [eax], 0xa
jne case.0x442246.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x440323
sub edx, 0x2028
je case.0x442246.11
sub edx, 1
jne case.default.0x44c1fa
cmp dword [ebp + 0x68], 0
je case.0x442246.10
jmp case.default.0x44c1fa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4422ca
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x84]
jmp 0x4418d7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ebx, edx
mov dword [esi + 8], edi
mov eax, edx
mov dword [esp + 0x20], edx
mov ecx, edx
je 0x4423e5
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x4423e5
test dl, 0x20
jne 0x442311
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4423d8
test dl, 0x10
jne 0x442338
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4423d8
test dl, 8
jne 0x442368
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4423d8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4423a4
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 0x4423d8
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ebx, edx
mov dword [esp + 0x20], edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x20], 0x2000
mov edi, edx
ja 0x44244b
cmp ebx, 0x2000
je case.default.0x44c1fa
cmp edx, 0xa0
ja 0x44242b
cmp edi, 0xa0
je case.default.0x44c1fa
cmp edx, 9
je case.default.0x44c1fa
cmp edx, 0x20
je case.default.0x44c1fa
inc dword [esi + 0xc]
jmp 0x440323
cmp edx, 0x1680
je case.default.0x44c1fa
cmp edx, 0x180e
je case.default.0x44c1fa
inc dword [esi + 0xc]
jmp 0x440323
cmp eax, 0x3000
ja case.0x442246.10
cmp ecx, 0x3000
je case.default.0x44c1fa
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x442246.10
movzx eax, byte [edx + 0x44e0e4]
jmp dword [eax*4 + 0x44e0dc]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4424a0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edx, dword [ebp + 0x84]
jmp 0x4418d7
movzx ecx, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ebx, ecx
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x20], ecx
mov edi, ecx
je 0x4425b0
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x4425b0
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4424e7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4425a3
test cl, 0x10
jne 0x442508
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 0x4425a3
test cl, 8
jne 0x442532
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 0x4425a3
test cl, 4
jne 0x442568
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 0x4425a3
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x20], 0x2000
mov edx, ecx
ja 0x442610
cmp ebx, 0x2000
je case.0x442246.10
cmp ecx, 0xa0
ja 0x4425f3
cmp edx, 0xa0
je case.0x442246.10
cmp ecx, 9
je case.0x442246.10
cmp ecx, 0x20
je case.0x442246.10
jmp case.default.0x44c1fa
cmp ecx, 0x1680
je case.0x442246.10
cmp ecx, 0x180e
je case.0x442246.10
jmp case.default.0x44c1fa
cmp eax, 0x3000
ja case.default.0x44c1fa
cmp edi, 0x3000
je case.0x442246.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x44c1fa
movzx eax, byte [ecx + 0x44e14c]
jmp dword [eax*4 + 0x44e144]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x442665
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x84]
jmp 0x4418d7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x44277d
cmp edx, 0xc0
jb 0x44277d
test dl, 0x20
jne 0x4426a5
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x442776
test dl, 0x10
jne 0x4426cc
movzx ecx, byte [edi]
and edx, 0xf
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x442776
test dl, 8
jne 0x4426ff
movzx ecx, byte [edi]
and edx, 7
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x442776
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x44273b
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x442776
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x4427a3
cmp eax, 0x85
je case.0x44adfa.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x442246.10
jmp dword [edx*4 + 0x44e1ac]
sub edx, 0x2028
je case.0x44adfa.14
sub edx, 1
jne case.0x442246.10
jmp case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4427de
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x84]
jmp 0x4418d7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x4428d0
cmp edx, 0xc0
jb 0x4428d0
test dl, 0x20
jne 0x44281c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4428c9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x442843
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4428c9
test dl, 8
jne 0x442866
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 0x4428c9
test dl, 4
jne 0x442895
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 0x4428c9
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x4428f6
cmp eax, 0x85
je case.0x442246.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x44adfa.14
jmp dword [edx*4 + 0x44e1bc]
sub edx, 0x2028
je case.0x442246.10
sub edx, 1
je case.0x442246.10
jmp case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x442931
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x84]
jmp 0x4418d7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov ebx, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
je 0x442a44
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x442a44
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x44298a
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x442a31
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4429ab
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x442a31
test dl, 8
jne 0x4429ce
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 0x442a31
test dl, 4
jne 0x4429fd
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 0x442a31
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov ecx, edx
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ecx
mov edi, dword [esi + 0xc]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x5252c8]
movzx ecx, byte [edi + 1]
shl eax, 7
add eax, ebx
movzx ebx, word [eax*2 + 0x5274c8]
cmp ecx, 0xa
ja case.0x44c178.15
jmp dword [ecx*4 + 0x44e1cc]
cmp dword [esi + 0x9c], 0xf
je case.default.0x44c1fa
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x440323
mov al, byte [ebx*8 + 0x523c49]
cmp al, 9
je 0x442aa4
cmp al, 5
je 0x442aa4
cmp al, 8
je 0x442aa4
xor ecx, ecx
jmp 0x442aa9
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x442a82
jmp case.default.0x44c1fa
movzx ecx, byte [ebx*8 + 0x523c49]
xor edx, edx
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x523a58]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x442a82
jmp case.default.0x44c1fa
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x523c49]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x442a82
jmp case.default.0x44c1fa
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x523c48]
jmp 0x442af7
movzx eax, byte [ebx*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x442aa4
cmp eax, 3
je 0x442aa4
xor ecx, ecx
jmp 0x442aa9
cmp edx, 0x20
ja 0x442b63
je case.0x442a6e.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x442bdf.8203
jmp dword [edx*4 + 0x44e1f8]
cmp edx, 0x2000
ja 0x442bbf
je case.0x442a6e.0
cmp edx, 0x1680
ja 0x442bb7
je case.0x442a6e.0
sub edx, 0x85
je case.0x442a6e.0
sub edx, 0x1b
je case.0x442a6e.0
movzx eax, byte [ebx*8 + 0x523c49]
xor ecx, ecx
cmp dword [eax*4 + 0x523a58], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x442b03
cmp edx, 0x180e
jmp 0x442b8e
cmp edx, 0x3000
ja case.0x442bdf.8203
je case.0x442a6e.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x442bdf.8203
movzx eax, byte [edx + 0x44e214]
jmp dword [eax*4 + 0x44e20c]
movzx eax, byte [ebx*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x442aa4
cmp eax, 3
je 0x442aa4
cmp edx, 0x5f
je 0x442aa4
xor ecx, ecx
jmp 0x442aa9
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x523b08]
cmp ecx, dword [eax]
jb 0x442c3d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x442c4f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x442c30
cmp dword [esi + 0x9c], 0x10
jne 0x442a82
jmp case.default.0x44c1fa
cmp dword [esi + 0x9c], 0x10
je 0x442a82
jmp case.default.0x44c1fa
cmp dword [esp + 0x24], 0x24
je 0x442aa4
cmp dword [esp + 0x1c], 0x40
je 0x442aa4
cmp edx, 0x60
je 0x442aa4
cmp edx, 0xa0
jb 0x442c94
cmp edx, 0xd7ff
jbe 0x442aa4
cmp edx, 0xe000
jae 0x442aa4
xor ecx, ecx
jmp 0x442aa9
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x442cc8
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edx, dword [ebp + 0x84]
jmp 0x4418d7
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x10], edx
je 0x442db5
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x442db5
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x442d0b
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x442daa
test al, 0x10
jne 0x442d23
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x442da4
test al, 8
jne 0x442d44
and eax, 7
lea edi, [edx + 3]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x442da4
test al, 4
jne 0x442d71
and eax, 3
lea edi, [edx + 4]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x442da4
and eax, 1
lea edi, [edx + 5]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x10], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c4a]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x10], edx
jae 0x442f25
mov dword [esp + 0x10], edx
nop dword [eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x442ecc
cmp edx, 0xc0
jb 0x442ecc
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x442e31
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x442ec8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x442e4c
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x442ec2
and eax, 0x3f
test dl, 8
jne 0x442e6c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x442ec2
test dl, 4
jne 0x442e95
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 0x442ec2
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x5252c8]
mov edx, dword [esp + 0x10]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx ecx, byte [eax*8 + 0x523c4a]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x523ad0], eax
mov ebp, dword [esp + 0xb0]
je 0x442f25
add edi, ebx
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x10], edx
cmp edi, edx
jb 0x442df0
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x442246.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x442246.10
jmp 0x442260
mov edx, dword [esi + 0xc]
xor eax, eax
cmp cl, 0x74
sete al
movzx ebx, byte [edx + 3]
movzx edi, byte [edx + 1]
mov dword [esp + 0x30], eax
movzx eax, byte [edx + 4]
shl ebx, 8
or ebx, eax
shl edi, 8
movzx eax, byte [edx + 2]
or edi, eax
lea eax, [edx + 5]
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
je 0x443038
mov edx, edi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
dec ebx
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [esi + 0x14]
jge 0x442fca
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x442fdb
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x10], edi
mov edx, edi
test ebx, ebx
jg 0x442fa1
jmp 0x443038
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x443032
xor eax, eax
cmp cl, 0x72
sete al
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0x98]
cmp eax, dword [esi + 0x14]
jge 0x443028
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x443028
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x443032
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 7
ja case.default.0x443053
movzx eax, byte [ecx + 0x44e27c]
jmp dword [eax*4 + 0x44e274]
lea eax, [edx + 1]
mov ebx, ecx
mov dword [esi + 0xc], eax
and ebx, 1
movsx eax, byte [ecx + 0x522f98]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x522fa4]
mov dword [esp + 0x10], ebx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4430d8
mov dword [esi + 0x8c], closesocket
jmp 0x4430d8
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x10], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x4430d4
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x440323
jns 0x4430f5
cmp dword [esi + 0x90], 0
je 0x440323
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x44313a
mov ebx, 1
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0044edf0
add esp, 0x14
test eax, eax
js 0x443158
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x443107
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x440323
cmp dword [esp + 0x10], 0
je 0x443183
mov dword [esi + 0x84], eax
jmp 0x44a7f3
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x443167
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x78]
jb case.default.0x44c1fa
jmp 0x4418d1
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x44a83f
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0044edf0
add esp, 0x14
test eax, eax
js 0x4431c6
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x44318f
cmp eax, 0xfffffffe
jne 0x44a83f
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x44a83f
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x44a83f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x44a83f
jmp 0x441337
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0044edf0
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x44325f
cmp ecx, 0xfffffffe
jne 0x443234
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x44c1fa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x44c1fa
cmp eax, dword [ebp + 0x84]
jbe case.default.0x44c1fa
jmp 0x441407
add dword [esi + 8], ecx
jmp 0x440323
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
lea eax, [edx + 0x21]
mov dword [esi + 0xc], eax
mov bl, byte [eax]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x44328f
movzx eax, byte [ecx + 0x44e28c]
jmp dword [eax*4 + 0x44e284]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4432ac
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4432b4
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x522f98]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x522fa4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x443349
mov dword [esi + 0x8c], closesocket
jmp 0x443349
movzx ecx, byte [edx + 0x22]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], eax
movzx eax, byte [edx + 0x23]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x44332f
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x443349
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ecx, dword [esp + 0x28]
mov ebx, 1
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x4434c3
cmp dword [esi + 0x90], ebx
jl 0x44350b
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x443483
test bl, 0x20
jne 0x4433b7
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x443483
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4433e5
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x443483
test bl, 8
jne 0x443412
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x443483
test bl, 4
jne 0x443448
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x443483
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov ebx, ecx
mov eax, ecx
cmp eax, 0xff
jbe 0x443493
cmp dword [esi + 0x9c], 0x6e
jmp 0x4434a6
mov eax, dword [esi + 0x28]
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.default.0x44c1fa
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, dword [esi + 0x90]
jle 0x443370
jmp 0x443507
cmp dword [esi + 0x90], ebx
jl 0x44350b
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 8], eax
and ecx, 7
mov eax, dword [esi + 0x28]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4434d0
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x440323
cmp dword [esp + 0x20], 0
je 0x443537
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x44b907
jmp 0x44a8ec
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x44371c
cmp eax, dword [esi + 0x8c]
jge 0x44370c
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4436ea
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x443695
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4435b5
mov eax, ebx
mov dword [esp + 0x1c], 2
and eax, 0x1f
mov ebx, ecx
shl eax, 6
or ebx, eax
mov eax, 2
mov ecx, ebx
mov edx, ebx
jmp 0x44369a
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x4435e4
and ebx, 0xf
mov dword [esp + 0x1c], 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, 3
mov ecx, ebx
mov edx, ebx
jmp 0x44369a
test bl, 8
jne 0x443618
and ebx, 7
mov dword [esp + 0x1c], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 4
mov ecx, ebx
mov edx, ebx
jmp 0x44369a
test bl, 4
jne 0x443655
and ebx, 3
mov dword [esp + 0x1c], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 5
mov ecx, ebx
mov edx, ebx
jmp 0x44369a
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 6
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov edx, ebx
jmp 0x44369a
mov eax, 1
cmp edx, 0xff
jbe 0x4436ad
cmp dword [esi + 0x9c], 0x6e
je 0x44370c
jmp 0x4436ce
mov eax, dword [esp + 0x1c]
and ecx, 7
mov dword [esp + 0x1c], eax
mov edx, 1
mov eax, dword [esi + 0x28]
shr ebx, 3
shl edx, cl
test byte [ebx + eax], dl
je 0x44370c
mov eax, dword [esp + 0x1c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x443560
jmp 0x44370c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44370c
cmp edi, dword [ebp + 0x84]
jbe 0x44370c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x441337
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44b971
cmp eax, dword [esi + 0x8c]
jge 0x443781
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44375f
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 0x443781
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x443724
jmp 0x443781
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x443781
cmp ebx, dword [ebp + 0x84]
jbe 0x443781
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x441337
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44a92f
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov bl, byte [edx]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x4437c7
movzx eax, byte [ecx + 0x44e2a0]
jmp dword [eax*4 + 0x44e298]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4437e4
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4437ec
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x522f98]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x522fa4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x443881
mov dword [esi + 0x8c], closesocket
jmp 0x443881
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x443867
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x443881
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov eax, dword [esi + 0x90]
mov ebx, 1
mov ecx, eax
cmp eax, ebx
jl 0x4439c0
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x443997
cmp edx, 0xc0
jb 0x443997
test dl, 0x20
jne 0x4438e7
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x443994
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44390e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x443994
test dl, 8
jne 0x443931
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 0x443994
test dl, 4
jne 0x443960
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 0x443994
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.00450180
add esp, 0xc
test eax, eax
je case.default.0x44c1fa
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x4438a0
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x440323
cmp dword [esp + 0x20], 0
je 0x4439de
mov dword [esi + 0x84], eax
jmp 0x44b6e2
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x443b31
nop word [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443b0f
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x443ae1
cmp edx, 0xc0
jb 0x443ae1
test dl, 0x20
jne 0x443a41
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x443ad9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x443a63
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x443ad9
and eax, 0x3f
test dl, 8
jne 0x443a83
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x443ad9
test dl, 4
jne 0x443aac
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 0x443ad9
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.00450180
add esp, 0xc
test eax, eax
je 0x443b31
mov eax, dword [esp + 0x10]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x443a00
jmp 0x443b31
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x443b31
cmp edi, dword [ebp + 0x84]
jbe 0x443b31
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x441337
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44b754
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x443cfd
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x443c88
test bl, 0x20
jne 0x443b9b
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x443c88
test bl, 0x10
jne 0x443bd0
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x443c88
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x443c11
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 0x443c88
test bl, 4
jne 0x443c4a
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 0x443c88
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x443cbd
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edx, edi
jb case.default.0x44c1fa
cmp edx, dword [ebp + 0x84]
jmp 0x4418d7
test ecx, ecx
jle 0x443cef
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.default.0x44c1fa
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x443cc1
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x440323
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x443d39
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edi, dword [ebp + 0x84]
jbe case.0x44adfa.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x44dbba
jmp case.0x44adfa.14
mov eax, dword [esi + 0xc]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dl, cl
je 0x444057
jmp case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x443d75
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp edi, dword [ebp + 0x84]
jmp 0x4418d7
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x444038
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x443ebc
test bl, 0x20
jne 0x443dcf
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x443ebc
test bl, 0x10
jne 0x443e04
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x443ebc
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x443e45
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 0x443ebc
test bl, 4
jne 0x443e7e
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 0x443ebc
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov eax, dword [esi + 8]
mov edi, dword [esi + 0x80]
movzx ecx, byte [eax]
cmp edi, 0x80
jae 0x443eea
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x44c1fa
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x440323
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x443fdd
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x443f19
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x443fd8
test cl, 0x10
jne 0x443f3a
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 0x443fd8
test cl, 8
jne 0x443f67
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 0x443fd8
test cl, 4
jne 0x443f9d
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 0x443fd8
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edx, dword [esi + 0x80]
cmp edx, ecx
je 0x440323
mov eax, edx
test eax, eax
jns 0x443ffd
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5252c8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x444018
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5274c8]
mov eax, dword [eax*8 + 0x523c4c]
add eax, edx
cmp edi, eax
je 0x440323
jmp case.default.0x44c1fa
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x38]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x44adfa.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x440323
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 0x444175
mov dword [esp + 0x24], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x4440ba
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x4440c2
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x444175
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x444175
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x444175
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x444175
mov edx, dword [esi + 0xc]
cmp cl, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x2e
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x522f98]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x522fa4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x444175
mov dword [esi + 0x8c], closesocket
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4445c9
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 0x4442be
test bl, 0x20
jne 0x4441d1
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x4442be
test bl, 0x10
jne 0x444206
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x4442be
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x444247
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 0x4442be
test bl, 4
jne 0x444280
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 0x4442be
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 0x4445da
cmp dword [esi + 0x9c], 0x2e
jb 0x444330
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x4442ec
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5252c8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x444307
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5274c8]
mov ecx, dword [eax*8 + 0x523c4c]
add ecx, edx
cmp ecx, edx
je 0x444330
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.00450120
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x444337
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x10], 1
cmp eax, 1
jl 0x444444
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 0x4443be
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x444381
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x444386
add ecx, 4
add edx, 4
sub edi, 4
jae 0x444370
cmp edi, 0xfffffffc
je 0x4443b3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4443bb
cmp edi, 0xfffffffd
je 0x4443b3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4443bb
cmp edi, 0xfffffffe
je 0x4443b3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4443bb
cmp edi, 0xffffffff
je 0x4443b3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4443bb
mov eax, dword [esi + 0x88]
jmp 0x444426
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x444462
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x444462
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4443f1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4443f6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4443e0
cmp edi, 0xfffffffc
je 0x444423
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x444462
cmp edi, 0xfffffffd
je 0x444423
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x444462
cmp edi, 0xfffffffe
je 0x444423
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x444462
cmp edi, 0xffffffff
je 0x444423
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x444462
mov eax, dword [esi + 0x6c]
mov edx, dword [esp + 0x10]
add eax, ebx
inc edx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], edx
cmp edx, eax
jle 0x444350
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x440323
cmp dword [esp + 0x20], 0
je 0x444484
mov dword [esi + 0x84], eax
jmp 0x44bae1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp ebx, dword [ebp + 0x78]
jb case.default.0x44c1fa
cmp ebx, dword [ebp + 0x84]
jmp 0x4418d7
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4445b9
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 0x44450e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4444d1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4444d6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4444c0
cmp edi, 0xfffffffc
je 0x444503
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44450b
cmp edi, 0xfffffffd
je 0x444503
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44450b
cmp edi, 0xfffffffe
je 0x444503
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44450b
cmp edi, 0xffffffff
je 0x444503
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44450b
mov eax, dword [esi + 0x88]
jmp 0x444576
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x444592
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x444592
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x444541
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x444546
add ecx, 4
add edx, 4
sub edi, 4
jae 0x444530
cmp edi, 0xfffffffc
je 0x444573
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x444592
cmp edi, 0xfffffffd
je 0x444573
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x444592
cmp edi, 0xfffffffe
je 0x444573
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x444592
cmp edi, 0xffffffff
je 0x444573
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x444592
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x10]
add eax, ebx
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4444a0
jmp 0x4445b9
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4445b9
cmp ebx, dword [ebp + 0x78]
jb 0x4445b9
cmp ebx, dword [ebp + 0x84]
jbe 0x4445b9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x441337
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44bb8d
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x4445de
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x4446d8
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, edi
jl 0x444644
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44a8a5
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x444633
cmp dword [esi + 0x94], ecx
jne case.0x44adfa.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x444610
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x440323
cmp dword [esp + 0x20], 0
je 0x444662
mov dword [esi + 0x84], eax
jmp 0x44a9d9
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x4446c8
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4446a6
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x444695
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x4446c8
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x444678
jmp 0x4446c8
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4446c8
cmp eax, dword [ebp + 0x84]
jbe 0x4446c8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x44dbba
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44aa1c
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x44470f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44472d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x44c1fa
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x4446e5
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x440323
cmp dword [esp + 0x20], 0
je 0x444746
mov dword [esi + 0x84], eax
jmp 0x44aaa1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp ebx, dword [ebp + 0x84]
jmp 0x4418d7
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4447a6
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x444784
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4447a6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x444760
jmp 0x4447a6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4447a6
cmp ecx, dword [ebp + 0x84]
jbe 0x4447a6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x441337
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44aae4
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4418c3
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x444a7f
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x4448c4
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x444805
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4448c1
test bl, 0x10
jne 0x444826
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x4448c1
test bl, 8
jne 0x444850
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x4448c1
test bl, 4
jne 0x444886
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x4448c1
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 8], ecx
mov edi, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x444a05
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x444910
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x444a09
test dl, 0x10
jne 0x44493e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x444a09
test dl, 8
jne 0x444978
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x444a09
test dl, 4
jne 0x4449bb
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x444a09
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x444a09
mov ecx, dword [esp + 0x10]
cmp dword [esi + 0x9c], 0x1f
jne 0x444a1f
cmp ebx, eax
jne 0x440323
jmp case.default.0x44c1fa
cmp ebx, 0x7f
jbe 0x444a5d
mov eax, ebx
test eax, eax
jns 0x444a2d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5252c8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x444a48
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5274c8]
mov eax, dword [eax*8 + 0x523c4c]
add eax, ebx
jmp 0x444a6a
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x44c1fa
cmp eax, edi
jne 0x440323
jmp case.default.0x44c1fa
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x44adfa.14
cmp dword [esi + 0x9c], 0x20
jne 0x444057
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x44adfa.14
add dword [esi + 0xc], 2
jmp 0x440323
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 0x444c04
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 0x444b18
cmp al, 0x4f
je 0x444b18
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x444c04
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x444c04
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x444c04
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x444c04
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x444c04
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x444c04
mov edx, dword [esi + 0xc]
cmp cl, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x48
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x522f98]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x522fa4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x444c04
mov dword [esi + 0x8c], closesocket
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x28]
inc edx
mov dword [esi + 0xc], edx
test eax, eax
je 0x444d35
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x444d35
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x444c56
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x444d31
test cl, 0x10
jne 0x444c7e
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x444d31
test cl, 8
jne 0x444cb2
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x444d31
test cl, 4
jne 0x444cef
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 4
jmp 0x444d31
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 5
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x48
jb 0x445121
test eax, eax
je 0x444d95
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x444d95
mov eax, edx
test eax, eax
jns 0x444d5a
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5252c8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x444d75
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov edi, 1
movzx eax, word [ecx*2 + 0x5274c8]
mov eax, dword [eax*8 + 0x523c4c]
add eax, edx
mov dword [esi + 0x94], eax
jmp 0x444db8
cmp dword [esp + 0x28], 0
mov edi, 1
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
je 0x444ef6
cmp dword [esi + 0x90], 1
jl 0x444f34
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x444ecf
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x444e0e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x444eca
test cl, 0x10
jne 0x444e2f
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 0x444eca
test cl, 8
jne 0x444e59
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 0x444eca
test cl, 4
jne 0x444e8f
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 0x444eca
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ecx
cmp dword [esi + 0x80], ecx
je case.default.0x44c1fa
cmp dword [esi + 0x94], eax
je case.default.0x44c1fa
inc edi
cmp edi, dword [esi + 0x90]
jle 0x444dd0
jmp 0x444f34
cmp dword [esi + 0x90], edi
jl 0x444f34
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x44c1fa
cmp dword [esi + 0x94], ecx
je case.default.0x44c1fa
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x444f00
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x440323
test ebx, ebx
je 0x444f60
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x44bd18
jmp 0x44ab8e
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4450b7
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4450a7
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x445085
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x445060
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x444fc4
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x44505c
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x444fdf
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x445056
and eax, 0x3f
test dl, 8
jne 0x444fff
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x445056
test dl, 4
jne 0x445028
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 0x445056
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp dword [esi + 0x80], edx
je 0x4450a7
cmp dword [esi + 0x94], eax
je 0x4450a7
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x444f84
jmp 0x4450a7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4450a7
cmp edi, dword [ebp + 0x84]
jbe 0x4450a7
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x441337
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44bd7c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x445111
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4450ef
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x445111
cmp dword [esi + 0x94], ecx
je 0x445111
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4450c5
jmp 0x445111
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x445111
cmp eax, dword [ebp + 0x84]
jbe 0x445111
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x44dbba
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44abd1
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x10], edi
test ebx, ebx
je 0x445279
cmp dword [esi + 0x90], edi
jl 0x4452af
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x44525a
mov cl, byte [eax]
test bl, 0x20
jne 0x44517b
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x445252
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x44519f
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x445252
test bl, 8
jne 0x4451da
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x44525a
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x445218
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x44524e
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
mov edi, dword [esp + 0x10]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x44c1fa
inc edi
mov dword [esp + 0x10], edi
cmp edi, dword [esi + 0x90]
jle 0x445142
jmp 0x4452ab
cmp dword [esi + 0x90], edi
jl 0x4452af
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44472d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x44c1fa
inc edi
cmp edi, dword [esi + 0x90]
jle 0x445281
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x440323
cmp dword [esp + 0x20], 0
je 0x4452db
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x44bf1f
jmp 0x44ac56
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x44542e
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x44541e
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4453fc
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x4453db
test dl, 0x20
jne 0x445336
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x4453d3
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x445358
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4453cf
and eax, 0x3f
test dl, 8
jne 0x445378
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4453cf
test dl, 4
jne 0x4453a1
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 0x4453cf
and edx, 1
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp dword [esi + 0x80], edx
je 0x44541e
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x445300
jmp 0x44541e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44541e
cmp edi, dword [ebp + 0x84]
jbe 0x44541e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x441337
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44bf7e
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x445486
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x445464
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x445486
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x445440
jmp 0x445486
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x445486
cmp ecx, dword [ebp + 0x84]
jbe 0x445486
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x44dbba
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44ac99
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x4455c7
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x20], edx
mov dword [esi + 0xc], eax
jmp 0x4455c7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4455c7
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4455c7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4455c7
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x4455c7
mov ecx, dword [esi + 0xc]
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
add ebx, 0xffffffab
mov dword [esi + 0xc], eax
mov edx, ebx
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [edx + 0x522f98]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x522fa4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4455c7
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 0x4455e9
cmp ecx, 0xf
je 0x4455e9
mov dword [esi + 0x60], 0xffffffff
jmp 0x44560d
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x44581a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x446514
cmp eax, 0xa
ja case.0x44c178.15
jmp dword [eax*4 + 0x44e2ac]
cmp dword [esi + 0x68], 0
jne case.default.0x44c1fa
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x44581e
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44ad05
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x44569e
cmp edx, 0xc0
jb 0x44569e
test dl, 0x20
jne 0x44567c
lea eax, [ecx + 2]
jmp 0x44569b
test dl, 0x10
jne 0x445686
lea eax, [ecx + 3]
jmp 0x44569b
test dl, 8
jne 0x445690
lea eax, [ecx + 4]
jmp 0x44569b
lea eax, [ecx + 5]
test dl, 4
je 0x44569b
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x445651
jmp 0x44581e
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4418c3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4457ca
cmp eax, 0xc0
jb 0x4457ca
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x445709
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4457c5
test al, 0x10
jne 0x445729
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4457c5
test al, 8
jne 0x445755
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4457c5
test al, 4
jne 0x44578a
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4457c5
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
cmp eax, 9
je 0x4457ff
cmp eax, 5
je 0x4457ff
cmp eax, 8
je 0x4457ff
xor eax, eax
jmp 0x445804
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4456c0
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x440323
cmp dword [esp + 0x20], 0
je 0x44788b
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x44786e
cmp ecx, 0xa
ja case.0x44c178.15
jmp dword [ecx*4 + 0x44e2d8]
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4418c3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x44597f
cmp eax, 0xc0
jb 0x44597f
test al, 0x20
jne 0x4458a9
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44597a
test al, 0x10
jne 0x4458cf
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44597a
test al, 8
jne 0x445901
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44597a
test al, 4
movzx eax, byte [edx]
jne 0x44593c
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44597a
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x445860
jmp 0x44581a
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
nop dword [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4418c3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x445aff
cmp eax, 0xc0
jb 0x445aff
test al, 0x20
jne 0x445a29
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x445afa
test al, 0x10
jne 0x445a4f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x445afa
test al, 8
jne 0x445a81
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x445afa
test al, 4
movzx eax, byte [edx]
jne 0x445abc
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x445afa
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4459e0
jmp 0x44581a
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4418c3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x445c70
cmp eax, 0xc0
jb 0x445c70
test al, 0x20
jne 0x445b9a
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x445c6b
test al, 0x10
jne 0x445bc0
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x445c6b
test al, 8
jne 0x445bf2
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x445c6b
test al, 4
movzx eax, byte [edx]
jne 0x445c2d
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x445c6b
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c48]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x445b51
jmp 0x44581a
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4418c3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x445de1
cmp eax, 0xc0
jb 0x445de1
test al, 0x20
jne 0x445d0b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x445ddc
test al, 0x10
jne 0x445d31
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x445ddc
test al, 8
jne 0x445d63
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x445ddc
test al, 4
movzx eax, byte [edx]
jne 0x445d9e
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x445ddc
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x445e18
cmp eax, 3
je 0x445e18
xor eax, eax
jmp 0x445e1d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x445cc2
jmp 0x44581a
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x44581a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
cmp dword [esp + 0x28], 0
lea edx, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x1c], ecx
mov edi, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
je 0x445f7a
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x445f7a
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x445ead
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x445f69
test cl, 0x10
jne 0x445ece
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 0x445f69
test cl, 8
jne 0x445ef8
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 0x445f69
test cl, 4
jne 0x445f2e
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 0x445f69
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov dword [esp + 0x1c], ecx
mov eax, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1c], 0x20
mov edx, ecx
ja 0x445f9b
cmp eax, 0x20
je case.0x446070.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x446070.8203
jmp dword [eax*4 + 0x44e304]
cmp edx, 0x2000
ja 0x446048
cmp edi, 0x2000
je case.0x446070.8193
cmp ecx, 0x1680
ja 0x446040
je case.0x446070.8193
mov eax, ecx
sub eax, 0x85
je case.0x446070.8193
sub eax, 0x1b
je case.0x446070.8193
mov eax, ecx
test eax, eax
jns 0x445fe4
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5252c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x445ffe
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
cmp dword [eax*4 + 0x523a58], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44c1fa
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x445e50
jmp 0x44581a
cmp ecx, 0x180e
jmp 0x445fd5
cmp ebx, 0x3000
ja case.0x446070.8203
cmp dword [esp + 0x18], 0x3000
je case.0x446070.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x446070.8203
movzx eax, byte [eax + 0x44e320]
jmp dword [eax*4 + 0x44e318]
cmp dword [esi + 0x68], 0
jne case.default.0x44c1fa
jmp 0x446026
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x44581a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4418c3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x44619f
cmp eax, 0xc0
jb 0x44619f
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4460df
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x446198
test al, 0x10
jne 0x4460ff
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x446198
test al, 8
jne 0x446128
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x446198
test al, 4
jne 0x44615d
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x446198
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x4461db
cmp eax, 3
je 0x4461db
cmp ebx, 0x5f
je 0x4461db
xor eax, eax
jmp 0x4461e0
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44c1fa
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x446094
jmp 0x44581a
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x446309
cmp edx, 0xc0
jb 0x446309
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x44625d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x446304
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x44627e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x446304
test dl, 8
jne 0x4462a1
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 0x446304
test dl, 4
jne 0x4462d0
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 0x446304
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x523b08]
lea eax, [eax*4 + 0x523b08]
jb 0x44632d
mov ecx, dword [eax]
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x446349
mov ecx, dword [eax]
cmp edx, ecx
jae 0x446320
cmp dword [esi + 0x68], 0
je case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x446210
jmp 0x44581a
cmp dword [esi + 0x68], 0
jne case.default.0x44c1fa
jmp 0x446337
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x44581a
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edi
mov edx, ecx
mov eax, ecx
mov dword [esp + 0x10], ecx
mov ebx, ecx
je 0x4464bd
mov dword [esp + 0x10], ecx
cmp ecx, 0xc0
jb 0x4464bd
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x4463d0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edi + 1]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4464c1
test cl, 0x10
jne 0x4463fc
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4464c1
test cl, 8
jne 0x446434
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4464c1
test cl, 4
jne 0x446475
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4464c1
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4464c1
mov edi, dword [esp + 0x10]
cmp edx, 0x24
je 0x4464ec
cmp eax, 0x40
je 0x4464ec
cmp ebx, 0x60
je 0x4464ec
cmp edi, 0xa0
jb 0x4464e0
cmp ecx, 0xd7ff
jbe 0x4464ec
cmp ecx, 0xe000
jae 0x4464ec
xor eax, eax
jmp 0x4464f1
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44c1fa
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x446370
jmp 0x44581a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x44680b
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x44581a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4418c3
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x10], edi
je 0x44663c
mov dword [esp + 0x10], edi
cmp eax, 0xc0
jb 0x44663c
test al, 0x20
jne 0x44657c
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x44662b
test al, 0x10
jne 0x44659c
mov ecx, eax
lea edx, [edi + 2]
movzx eax, byte [edi]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x44662b
test al, 8
jne 0x4465c5
mov ecx, eax
lea edx, [edi + 3]
movzx eax, byte [edi]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x44662b
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x4465f8
and eax, 3
lea edx, [edi + 4]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x44662b
and eax, 1
lea edx, [edi + 5]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x10], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x5252c8]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c4a]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x10], eax
jae 0x4467cb
mov edi, edx
mov dword [esp + 0x10], eax
nop word [eax + eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x446759
cmp edx, 0xc0
jb 0x446759
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4466c1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x446755
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4466d9
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x44674f
and eax, 0x3f
test dl, 8
jne 0x4466f9
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44674f
test dl, 4
jne 0x446722
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 0x44674f
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x14], edi
movzx eax, byte [edx + 0x5252c8]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx ecx, byte [eax*8 + 0x523c4a]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x523ad0], eax
mov ebp, dword [esp + 0xb0]
je 0x4467c3
lea edx, [ebx + edi]
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x10], eax
cmp edx, eax
jb 0x446680
jmp 0x4467cb
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4467f1
cmp edx, eax
jb 0x4467f1
cmp ecx, dword [ebp + 0x84]
jbe 0x4467f1
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44bb4c
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x446531
jmp 0x44581a
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x4473d0
cmp eax, 0xf
ja case.0x44c178.15
jmp dword [eax*4 + 0x44e380]
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4418c3
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x446879
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004508a0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x44686d
mov eax, 1
jmp 0x44686f
xor eax, eax
test eax, eax
jne case.default.0x44c1fa
jmp 0x4468a0
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x44689e
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44689e
cmp edi, 1
je case.default.0x44c1fa
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x44c1fa
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4468d6
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4468d6
test ecx, ecx
jne 0x4468d6
cmp dword [ebp + 0x1c], 2
jne 0x4468d6
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4468d6
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44bb4c
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4468f2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4468f2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4468e1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x446837
jmp 0x44581a
mov edi, 1
cmp ecx, edi
jl 0x44581e
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x44a8a5
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x446948
nop word [eax + eax]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x446948
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x446930
inc edi
cmp edi, dword [esi + 0x90]
jle 0x446914
jmp 0x44581e
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x44adfa.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x44581e
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x44581e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp ecx, 0xc0
jb 0x446a87
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4469c2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x446a7e
test cl, 0x10
jne 0x4469e3
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 2
jmp 0x446a7e
test cl, 8
jne 0x446a0d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 3
jmp 0x446a7e
test cl, 4
jne 0x446a43
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 4
jmp 0x446a7e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 5
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp edi, 0x85
ja 0x446abb
cmp eax, 0x85
je case.0x446aa2.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x44c1fa
jmp dword [ecx*4 + 0x44e3c0]
cmp ebx, dword [ebp + 0x78]
jae case.0x446aa2.10
cmp byte [edx], 0xa
jne case.0x446aa2.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x446aa2.10
sub ecx, 0x2028
je case.0x446aa2.11
sub ecx, 1
jne case.default.0x44c1fa
cmp dword [ebp + 0x68], 0
jne case.default.0x44c1fa
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x446982
jmp 0x44581a
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x44581e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x446c10
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x446b47
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x446c03
test cl, 0x10
jne 0x446b68
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 0x446c03
test cl, 8
jne 0x446b92
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 0x446c03
test cl, 4
jne 0x446bc8
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 0x446c03
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x446c7c
cmp ebx, 0x2000
je case.default.0x44c1fa
cmp ecx, 0xa0
ja 0x446c62
je case.default.0x44c1fa
cmp ecx, 9
je case.default.0x44c1fa
cmp ecx, 0x20
je case.default.0x44c1fa
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x446b01
jmp 0x44581a
cmp edx, 0x1680
je case.default.0x44c1fa
cmp ecx, 0x180e
je case.default.0x44c1fa
jmp case.0x446ca1.8203
cmp eax, 0x3000
ja case.0x446ca1.8203
cmp edi, 0x3000
je case.default.0x44c1fa
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x446ca1.8203
movzx eax, byte [ecx + 0x44e3d8]
jmp dword [eax*4 + 0x44e3d0]
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x44581e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x446dcf
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x446d06
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x446dc2
test cl, 0x10
jne 0x446d27
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 0x446dc2
test cl, 8
jne 0x446d51
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 0x446dc2
test cl, 4
jne 0x446d87
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 0x446dc2
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x446e2b
cmp ebx, 0x2000
je case.0x446e54.8193
cmp ecx, 0xa0
ja 0x446e15
je case.0x446e54.8193
cmp ecx, 9
je case.0x446e54.8193
cmp ecx, 0x20
jne case.default.0x44c1fa
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x446cc0
jmp 0x44581a
cmp edx, 0x1680
je case.0x446e54.8193
cmp ecx, 0x180e
jne case.default.0x44c1fa
jmp case.0x446e54.8193
cmp eax, 0x3000
ja case.default.0x44c1fa
cmp edi, 0x3000
je case.0x446e54.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x44c1fa
movzx eax, byte [ecx + 0x44e440]
jmp dword [eax*4 + 0x44e438]
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x446f73
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x446eb0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x446f6c
test cl, 0x10
jne 0x446ed1
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 0x446f6c
test cl, 8
jne 0x446efb
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 0x446f6c
test cl, 4
jne 0x446f31
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 0x446f6c
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov eax, ecx
cmp eax, 0x85
ja 0x446f95
cmp edi, 0x85
je case.default.0x44c1fa
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x446f8e
jmp dword [ecx*4 + 0x44e4a0]
sub ecx, 0x2028
je case.default.0x44c1fa
sub ecx, 1
je case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x446e70
jmp 0x44581a
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4470c0
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x447012
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4470b9
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x447033
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4470b9
test dl, 8
jne 0x447056
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 0x4470b9
test dl, 4
jne 0x447085
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 0x4470b9
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, edx
cmp eax, 0x85
ja 0x4470e2
cmp ecx, 0x85
je case.0x4470db.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x44c1fa
jmp dword [edx*4 + 0x44e4b0]
sub edx, 0x2028
je case.0x4470db.10
sub edx, 1
jne case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x446fd0
jmp 0x44581a
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x441935
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4471fe
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x447152
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4471f9
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x447173
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4471f9
test dl, 8
jne 0x447196
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 0x4471f9
test dl, 4
jne 0x4471c5
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 0x4471f9
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, edx
cmp eax, 0x80
jae 0x447212
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x44c1fa
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x447112
jmp 0x44581a
cmp ecx, 1
jl 0x44581e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44ad05
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x44adfa.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x447232
jmp 0x44581e
mov edi, 1
cmp ecx, edi
jl 0x44581e
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x44ad05
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4472a3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x44adfa.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4472c8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4472c8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4472b0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x447280
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44ad05
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x44adfa.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4472e4
jmp 0x44581e
mov edi, 1
cmp ecx, edi
jl 0x44581e
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x44ad05
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x447353
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x44adfa.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x447378
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x447378
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x447360
inc edi
cmp edi, dword [esi + 0x90]
jle 0x447330
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44ad05
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x44adfa.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x447394
jmp 0x44581e
cmp eax, 0xf
ja case.0x44c178.15
jmp dword [eax*4 + 0x44e4c0]
mov ebx, 1
cmp ecx, ebx
jl 0x44581a
nop dword [eax]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x441a90
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x447430
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.004508a0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x447424
mov eax, 1
jmp 0x447426
xor eax, eax
test eax, eax
jne case.default.0x44c1fa
jmp 0x447457
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x447457
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x447457
cmp edi, 1
je case.default.0x44c1fa
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x44c1fa
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x44748e
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x44748e
cmp dword [ebp + 0x18], 0
jne 0x44748e
cmp dword [ebp + 0x1c], 2
jne 0x44748e
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x44748e
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44bb4c
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4473f0
jmp 0x44581a
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x446966
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edx, dword [ebp + 0x84]
jmp 0x443d1e
mov edx, 1
cmp ecx, edx
jl 0x44581e
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x44ad05
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x44adfa.14
movzx eax, byte [eax + 0x44e510]
jmp dword [eax*4 + 0x44e500]
cmp ecx, dword [ebp + 0x78]
jae case.0x447508.10
cmp byte [ecx], 0xa
jne case.0x447508.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x447508.10
cmp dword [ebp + 0x68], 0
jne case.0x44adfa.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4474e0
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edx, 1
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44a8a5
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x44adfa.14
cmp ecx, 0x20
je case.0x44adfa.14
cmp ecx, 0xa0
je case.0x44adfa.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x447550
jmp 0x44581e
mov edx, 1
cmp ecx, edx
jl 0x44581e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44a8a5
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x4475c9
cmp ecx, 0x20
je 0x4475c9
cmp ecx, 0xa0
jne case.0x44adfa.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4475a0
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edx, 1
mov edi, edx
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44a8a5
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x447616.11
movzx eax, byte [eax + 0x44e594]
mov edx, edi
jmp dword [eax*4 + 0x44e58c]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x4475f0
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edx, 1
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44a8a5
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x44adfa.14
movzx eax, byte [eax + 0x44e618]
jmp dword [eax*4 + 0x44e610]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x447640
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edi, 1
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4474b3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x44adfa.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x447690
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4474b3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x44adfa.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4476d0
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4474b3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x44adfa.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x447710
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4474b3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x44adfa.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x447750
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4474b3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x44adfa.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x447790
jmp 0x44581e
cmp ecx, 1
jl 0x44581e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4474b3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x44adfa.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4477d0
jmp 0x44581e
mov dword [esi + 0x84], eax
jmp 0x44c5e6
mov dword [esi + 0x84], eax
jmp 0x44c7b4
mov dword [esi + 0x84], eax
jmp 0x44c97a
mov dword [esi + 0x84], eax
jmp 0x44cb38
mov dword [esi + 0x84], eax
jmp 0x44ccf6
mov dword [esi + 0x84], eax
jmp 0x44d4dd
mov dword [esi + 0x84], eax
jmp 0x44d8f7
mov dword [esi + 0x84], eax
jmp 0x44db35
mov dword [esi + 0x84], eax
jmp 0x44dd16
mov dword [esi + 0x84], eax
jmp 0x44d6c0
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x44d02b
test ebx, ebx
jne 0x44c26b
jmp 0x44af04
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4487f3
cmp eax, 0xa
ja case.0x44c178.15
jmp dword [eax*4 + 0x44e694]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x447922
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x447932
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x44790e
cmp ecx, 0xc0
jb 0x44790e
test cl, 0x20
jne 0x4478e8
mov eax, 2
jmp 0x44790e
test cl, 0x10
jne 0x4478f4
mov eax, 3
jmp 0x44790e
test cl, 8
jne 0x447900
mov eax, 4
jmp 0x44790e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x447922
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4478c0
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44d08e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x447922
cmp edx, dword [ebp + 0x84]
jbe 0x447922
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x447922
jmp 0x44dbba
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447922
nop word [eax + eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x447ac7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x447a64
cmp eax, 0xc0
jb 0x447a64
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4479b9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x447a60
test al, 0x10
jne 0x4479d3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x447a5a
test al, 8
jne 0x4479f6
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x447a5a
test al, 4
jne 0x447a25
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x447a5a
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
cmp eax, 9
je 0x447a99
cmp eax, 5
je 0x447a99
cmp eax, 8
je 0x447a99
xor eax, eax
jmp 0x447a9e
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x447922
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447970
jmp 0x447922
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x447922
cmp edx, dword [ebp + 0x84]
jbe 0x447922
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x447922
jmp 0x441337
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447922
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x447c5e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x447c04
cmp eax, 0xc0
jb 0x447c04
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x447b59
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x447c00
test al, 0x10
jne 0x447b73
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x447bfa
test al, 8
jne 0x447b96
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x447bfa
test al, 4
jne 0x447bc5
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x447bfa
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x447922
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447b10
jmp 0x447922
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x447922
cmp edx, dword [ebp + 0x84]
jbe 0x447922
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x447922
jmp 0x441337
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447922
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x447c5e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x447d93
cmp eax, 0xc0
jb 0x447d93
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x447ce8
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x447d8f
test al, 0x10
jne 0x447d02
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x447d89
test al, 8
jne 0x447d25
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x447d89
test al, 4
jne 0x447d54
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x447d89
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x447922
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447ca3
jmp 0x447922
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447922
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x447c5e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x447ef4
cmp eax, 0xc0
jb 0x447ef4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x447e49
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x447ef0
test al, 0x10
jne 0x447e63
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x447eea
test al, 8
jne 0x447e86
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x447eea
test al, 4
jne 0x447eb5
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x447eea
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c48]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x447922
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447e00
jmp 0x447922
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447922
nop dword [eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x447ac7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x448054
cmp eax, 0xc0
jb 0x448054
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x447fa9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x448050
test al, 0x10
jne 0x447fc3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44804a
test al, 8
jne 0x447fe6
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44804a
test al, 4
jne 0x448015
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x44804a
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x44808b
cmp eax, 3
je 0x44808b
xor eax, eax
jmp 0x448090
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x447922
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x447f60
jmp 0x447922
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447922
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4482f9
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
je 0x4481e9
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4481e9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x448135
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4481d9
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x448153
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4481d3
and eax, 0x3f
test dl, 8
jne 0x448176
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4481d3
test dl, 4
jne 0x4481a2
and edx, 3
mov dword [esp + 0x18], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4481d3
and edx, 1
mov dword [esp + 0x18], 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
cmp dword [esp + 0x10], 0x20
ja 0x448208
cmp eax, 0x20
je case.0x4482e6.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4482e6.8203
jmp dword [eax*4 + 0x44e6c0]
cmp edx, 0x2000
ja 0x4482be
cmp ecx, 0x2000
je case.0x4482e6.8193
cmp edx, 0x1680
ja 0x4482b6
je case.0x4482e6.8193
mov eax, edx
sub eax, 0x85
je case.0x4482e6.8193
sub eax, 0x1b
je case.0x4482e6.8193
mov eax, edx
test eax, eax
jns 0x448251
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5252c8]
shl eax, 7
and edx, 0x8000007f
jns 0x44826b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
cmp dword [eax*4 + 0x523a58], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x447922
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4480d0
jmp 0x447922
cmp edx, 0x180e
jmp 0x448242
cmp ebx, 0x3000
ja case.0x4482e6.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x4482e6.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4482e6.8203
movzx eax, byte [eax + 0x44e6dc]
jmp dword [eax*4 + 0x44e6d4]
cmp dword [esi + 0x68], 0
jne 0x447922
jmp 0x448293
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x447922
cmp edi, dword [ebp + 0x84]
jmp 0x447c72
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447922
nop dword [eax + eax]
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x447c5e
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x44843a
cmp eax, 0xc0
jb 0x44843a
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x448381
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x448434
test al, 0x10
jne 0x44839e
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44842e
test al, 8
jne 0x4483c4
and eax, 7
mov dword [esp + 0x18], 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44842e
test al, 4
jne 0x4483f6
and eax, 3
mov dword [esp + 0x18], 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x44842e
and eax, 1
mov dword [esp + 0x18], 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x448476
cmp eax, 3
je 0x448476
cmp ebx, 0x5f
je 0x448476
xor eax, eax
jmp 0x44847b
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x447922
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x448330
jmp 0x447922
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447922
nop dword [eax]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x448603
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x4485a8
cmp edx, 0xc0
jb 0x4485a8
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44850d
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4485a4
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x448528
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x44859e
and eax, 0x3f
test dl, 8
jne 0x448548
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44859e
test dl, 4
jne 0x448571
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 0x44859e
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x523b08]
lea eax, [eax*4 + 0x523b08]
jb 0x4485cd
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4485f7
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4485c0
cmp dword [esi + 0x68], 0
je 0x447922
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4484c0
jmp 0x447922
cmp dword [esi + 0x68], 0
jne 0x447922
jmp 0x4485d7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x447922
cmp edi, dword [ebp + 0x84]
jmp 0x447adb
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x447922
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4487cd
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
je 0x44876f
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x44876f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44869b
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x44876f
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x4486cb
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x44876f
test dl, 8
jne 0x448700
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x44876f
test dl, 4
jne 0x44872c
and edx, 3
mov dword [esp + 0x18], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x44875d
and edx, 1
mov dword [esp + 0x18], 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
mov dword [esp + 0x10], eax
mov ebx, eax
mov ecx, eax
cmp eax, 0x24
je 0x44879c
cmp ecx, 0x40
je 0x44879c
cmp ebx, 0x60
je 0x44879c
cmp dword [esp + 0x10], 0xa0
jb 0x448790
cmp edx, 0xd7ff
jbe 0x44879c
cmp edx, 0xe000
jae 0x44879c
xor eax, eax
jmp 0x4487a1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x447922
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x448632
jmp 0x447922
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x447922
cmp edi, dword [ebp + 0x84]
jbe 0x447922
mov dword [ebp + 0x64], 1
jmp 0x447ae4
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x448b69
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x448b1a
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x448af8
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x18], edi
je 0x44892a
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x44892a
test al, 0x20
jne 0x44886b
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x448919
test al, 0x10
jne 0x448889
movzx eax, byte [edi]
lea edx, [edi + 2]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x448919
test al, 8
jne 0x4488b0
movzx eax, byte [edi]
lea edx, [edi + 3]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x448919
test al, 4
movzx eax, byte [edi]
jne 0x4488e3
and ecx, 3
lea edx, [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x448919
and ecx, 1
lea edx, [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x5252c8]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c4a]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x18], eax
jae 0x448abb
mov edi, edx
mov dword [esp + 0x18], eax
nop word [eax + eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x448a49
cmp edx, 0xc0
jb 0x448a49
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4489b1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x448a45
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4489c9
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x448a3f
and eax, 0x3f
test dl, 8
jne 0x4489e9
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x448a3f
test dl, 4
jne 0x448a12
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 0x448a3f
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x10]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x1c], edi
movzx eax, byte [edx + 0x5252c8]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx ecx, byte [eax*8 + 0x523c4a]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x523ad0], eax
mov ebp, dword [esp + 0xb0]
je 0x448ab3
lea edx, [ebx + edi]
mov dword [esp + 0x10], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x18], eax
cmp edx, eax
jb 0x448970
jmp 0x448abb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x448ae1
cmp edx, eax
jb 0x448ae1
cmp ecx, dword [ebp + 0x84]
jbe 0x448ae1
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44bb4c
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x448820
jmp 0x448b1a
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x448b1a
cmp ecx, dword [ebp + 0x84]
jbe 0x448b1a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x441337
cmp dword [esp + 0x24], 0
jne 0x440323
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x448b5a
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x44afb3
add eax, 0xfffffffa
test ebx, ebx
je 0x44997f
cmp eax, 0xf
ja case.0x44c178.15
jmp dword [eax*4 + 0x44e73c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44996f
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x448c63
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x448bd8
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004508a0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x448bcc
mov eax, 1
jmp 0x448bce
xor eax, eax
test eax, eax
jne 0x44996f
jmp 0x448bff
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x448bfd
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x448bfd
cmp edi, 1
je 0x44996f
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44996f
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x448c35
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x448c35
test ecx, ecx
jne 0x448c35
cmp dword [ebp + 0x1c], 2
jne 0x448c35
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x448c35
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44bb4c
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x448c51
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x448c51
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x448c40
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x448b96
jmp 0x44996f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44996f
cmp ecx, dword [ebp + 0x84]
jbe 0x44996f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x44996f
jmp 0x441337
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x448ce8
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x44996f
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x448cee
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x448cda
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x448cda
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x448cc2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x448cb0
jmp 0x44996f
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x44996f
cmp eax, dword [ebp + 0x84]
jbe 0x44996f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x44996f
jmp 0x44dbba
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 0x448d69
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44996f
cmp edx, dword [ebp + 0x84]
jbe 0x44996f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x44996f
jmp 0x44dbba
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x44996f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x44996f
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x448f04
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x448e8e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x448dde
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x448e82
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x448dfc
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x448e7c
and eax, 0x3f
test dl, 8
jne 0x448e1f
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x448e7c
test dl, 4
jne 0x448e4b
and edx, 3
mov dword [esp + 0x18], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x448e7c
and edx, 1
mov dword [esp + 0x18], 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov ebx, edx
cmp ecx, 0xd
jne 0x448eaa
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x44996f
cmp byte [eax], 0xa
jne 0x448eea
inc eax
jmp 0x448ee7
cmp eax, 0xa
je 0x448ee1
cmp dword [ebp + 0x68], 0
jne 0x44996f
cmp ebx, 0xb
je 0x448ee1
cmp dword [esp + 0x10], 0xc
je 0x448ee1
cmp edx, 0x85
je 0x448ee1
cmp edx, 0x2028
je 0x448ee1
cmp edx, 0x2029
jne 0x44996f
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x448d90
jmp 0x44996f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44996f
cmp edi, dword [ebp + 0x84]
jmp 0x448c77
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x44996f
nop dword [eax]
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x448f04
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x44903a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x448f8a
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x44902e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x448fa8
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x449028
and eax, 0x3f
test dl, 8
jne 0x448fcb
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x449028
test dl, 4
jne 0x448ff7
and edx, 3
mov dword [esp + 0x18], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x449028
and edx, 1
mov dword [esp + 0x18], 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x10], 0x2000
ja 0x4490aa
cmp ebx, 0x2000
je case.0x4490cb.8193
cmp edx, 0xa0
ja 0x44909a
je case.0x4490cb.8193
cmp edx, 9
je case.0x4490cb.8193
cmp edx, 0x20
je case.0x4490cb.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x44996f
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x448f40
jmp 0x44996f
cmp edx, 0x1680
je case.0x4490cb.8193
cmp edx, 0x180e
jmp 0x449062
cmp eax, 0x3000
ja case.0x4490cb.8203
cmp ecx, 0x3000
je case.0x4490cb.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4490cb.8203
movzx eax, byte [edx + 0x44e784]
jmp dword [eax*4 + 0x44e77c]
mov ecx, 1
jmp 0x449066
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x44996f
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x449231
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4491cc
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x449132
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x4491c6
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44914a
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4491c0
and eax, 0x3f
test dl, 8
jne 0x44916a
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4491c0
test dl, 4
jne 0x449193
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 0x4491c0
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
cmp eax, 0x85
ja 0x4491ea
cmp ecx, 0x85
je case.0x4491e3.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4491e3
jmp dword [edx*4 + 0x44e7e4]
sub edx, 0x2028
je case.0x4491e3.10
sub edx, 1
je case.0x4491e3.10
xor ecx, ecx
jmp 0x449200
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x44996f
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4490f0
jmp 0x44996f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44996f
cmp edi, dword [ebp + 0x84]
jbe 0x44996f
mov dword [ebp + 0x64], ebx
jmp 0x448c84
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x44996f
nop dword [eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448f04
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x449363
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4492b4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x44935d
test dl, 0x10
jne 0x4492cf
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x449357
test dl, 8
jne 0x4492f3
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x449357
test dl, 4
jne 0x449323
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x449357
and edx, eax
mov ebx, 6
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x44937a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x44996f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x449270
jmp 0x44996f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44996f
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448f04
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x449489
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4493f0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x449485
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x449408
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x44947f
and eax, 0x3f
test dl, 8
jne 0x449428
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44947f
test dl, 4
jne 0x449451
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 0x44947f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x44996f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x44996f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4493b0
jmp 0x44996f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x44996f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448f04
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4495c3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x449514
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4495bd
test dl, 0x10
jne 0x44952f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4495b7
test dl, 8
jne 0x449553
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4495b7
test dl, 4
jne 0x449583
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4495b7
and edx, eax
mov ebx, 6
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x4495da
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x44996f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4494d0
jmp 0x44996f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44996f
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448f04
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4496e9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x449650
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4496e5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x449668
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4496df
and eax, 0x3f
test dl, 8
jne 0x449688
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4496df
test dl, 4
jne 0x4496b1
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 0x4496df
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x44996f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x44996f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x449610
jmp 0x44996f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x44996f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448f04
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x449823
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x449774
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x44981d
test dl, 0x10
jne 0x44978f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x449817
test dl, 8
jne 0x4497b3
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x449817
test dl, 4
jne 0x4497e3
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x449817
and edx, eax
mov ebx, 6
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x44983a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x44996f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x449730
jmp 0x44996f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x44996f
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x448f04
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x44994c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4498b0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x449948
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4498cb
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x449942
and eax, 0x3f
test dl, 8
jne 0x4498eb
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x449942
test dl, 4
jne 0x449914
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 0x449942
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x44996f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x44996f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x449870
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44c4f5
cmp eax, 0xf
ja case.0x44c178.15
jmp dword [eax*4 + 0x44e7f4]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x449c60.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x449a5b
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4499e8
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.004508a0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4499dc
mov eax, 1
jmp 0x4499de
xor eax, eax
test eax, eax
jne case.0x449c60.10
jmp 0x449a0f
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x449a0f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x449a0f
cmp edi, 1
je case.0x449c60.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x449c60.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x449a46
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x449a46
cmp dword [ebp + 0x18], 0
jne 0x449a46
cmp dword [ebp + 0x1c], 2
jne 0x449a46
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x449a46
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x44bb4c
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4499a1
jmp case.0x449c60.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449c60.10
cmp edx, dword [ebp + 0x84]
jbe case.0x449c60.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x449c60.10
jmp 0x441337
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 0x449ad6
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449c60.10
cmp edx, dword [ebp + 0x84]
jbe case.0x449c60.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x449c60.10
jmp 0x44dbba
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x449c60.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x449c60.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x449b52
mov al, byte [ecx]
cmp al, 0xd
jne 0x449b18
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x449c60.10
cmp byte [eax], 0xa
jne 0x449b44
inc eax
jmp 0x449b41
cmp al, 0xa
je 0x449b3e
cmp dword [ebp + 0x68], 0
jne case.0x449c60.10
cmp al, 0xb
je 0x449b3e
cmp al, 0xc
je 0x449b3e
cmp al, 0x85
jne case.0x449c60.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x449af3
jmp case.0x449c60.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449c60.10
cmp ecx, dword [ebp + 0x84]
jmp 0x449abb
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x449c60.10
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x449bb7
mov cl, byte [eax]
cmp cl, 9
je case.0x449c60.10
cmp cl, 0x20
je case.0x449c60.10
cmp cl, 0xa0
je case.0x449c60.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x449b80
jmp case.0x449c60.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x449c60.10
cmp eax, dword [ebp + 0x84]
jbe case.0x449c60.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x449c60.10
jmp 0x44dbba
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x449c60.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x449bb7
mov cl, byte [eax]
cmp cl, 9
je 0x449c19
cmp cl, 0x20
je 0x449c19
cmp cl, 0xa0
jne case.0x449c60.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x449bf8
jmp case.0x449c60.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x449c60.10
mov edi, ecx
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x449aa7
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x449c60.11
movzx eax, byte [eax + 0x44e83c]
mov ecx, edi
jmp dword [eax*4 + 0x44e834]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x449c40
jmp case.0x449c60.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x449c60.10
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x449b52
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x449c60.10
movzx eax, byte [eax + 0x44e8c0]
jmp dword [eax*4 + 0x44e8b8]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x449c90
jmp case.0x449c60.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x449c60.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x449aa7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x449c60.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x449ce0
jmp case.0x449c60.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x449c60.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x449aa7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x449c60.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x449d22
jmp case.0x449c60.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x449c60.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x449aa7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x449c60.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x449d64
jmp case.0x449c60.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x449c60.10
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x449aa7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x449c60.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x449db0
jmp case.0x449c60.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x449c60.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x449aa7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x449c60.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x449df2
jmp case.0x449c60.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x449c60.10
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x449e55
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x449c60.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x449e30
jmp case.0x449c60.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x449c60.10
cmp edx, dword [ebp + 0x84]
jbe case.0x449c60.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x44dbba
cmp dword [esp + 0x24], 0
jne 0x440323
jmp 0x44af74
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de9f
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x449eb4
jmp dword [eax*4 + 0x44e93c]
cmp edi, 0xfffffc1b
je 0x449f9e
cmp edi, 0xfffffc20
jne 0x449f09
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x44a3cc
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x449f02
cmp byte [ecx], 0x77
jne case.default.0x44a3cc
xor edi, edi
jmp 0x449f11
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x449f9e
cmp dword [esi + 0x9c], 0x88
jb 0x449f5d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x449f86
push 0x134
call dword [0x1710964]
mov edx, eax
add esp, 4
test edx, edx
je 0x44db58
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 0x44a5c8
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
jne 0x449ea4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x44a0ba
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x44a114
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44a030
cmp byte [ecx], 0x77
jne 0x44a114
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne case.0x44adfa.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x44a125
cmp eax, 0x81
je 0x44a125
cmp dword [ebp + 0x6c], 0
jne 0x44a12f
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 0x44a12f
movzx eax, byte [edx]
movzx eax, byte [eax + 0x523940]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x4402b0
test edi, edi
je 0x44a030
cmp edi, 0xfffffc1b
jne 0x44a114
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x81
je 0x44a109
cmp byte [eax], 0x77
mov ebx, eax
jne 0x44a0f8
mov edx, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov ebx, eax
mov edx, eax
cmp byte [eax], 0x77
je 0x44a0e0
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, ebx
sub eax, ecx
xor ecx, ecx
cmp dword [ebp + 0xb4], eax
cmove edi, ecx
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x449fe4
jmp 0x449ea0
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 0x44a16d
push 0x134
call dword [0x1710964]
mov edx, eax
add esp, 4
test edx, edx
je 0x44db58
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 0x44a5c8
cmp edi, 1
jne 0x44a204
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x44a1a0
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x44a1b7
inc edx
mov dword [esi + 0xc], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
jne 0x44a1e9
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 0x44a1d2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x523940]
sub ecx, eax
add ecx, 3
mov dword [esi + 0xc], ecx
jmp 0x4407cc
test edi, edi
je 0x4407cc
cmp edi, 0xfffffc20
je 0x4407cc
jmp case.default.0x44a3cc
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x44a23c
cmp byte [eax - 3], 0x77
jne 0x440323
cmp dword [esi + 0x9c], 0x8c
jne 0x4402b0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a27f
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x44afb3
cmp edi, 1
je 0x44a340
cmp edi, 0xfffffc19
je 0x44a340
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x44a2e6
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x44a3cc
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44a2ee
cmp byte [ecx], 0x77
jmp 0x44a2e8
test edi, edi
jne case.default.0x44a3cc
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
jne 0x44a346
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a331
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x44a485
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x44adfa.14
cmp dword [esi + 0x58], 0
jne 0x44a422
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x44a360
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x440323
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x44a3af
je case.0x44a3cc.995
cmp edi, 0xfffffc19
jmp 0x44a4bc
test edi, edi
jg 0x44a4b7
je 0x44a438
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x44a3cc
jmp dword [eax*4 + 0x44ea48]
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x44a3cc.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44a438
cmp byte [ecx], 0x77
je 0x44a438
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 0x44a401
cmp dword [esi + 0x58], 0
je 0x44a6c7
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44ddf2
mov edi, 1
jmp 0x449ea0
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
jne 0x44a418
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a47b
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x4402a0
mov eax, edi
sub eax, 1
je case.0x44adfa.14
jmp case.default.0x44a3cc
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.0042b880
mov eax, dword [esi + 0x4c]
lea ecx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ecx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x44dd49
cmp edi, 0xfffffc19
je 0x44dd49
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x44a530
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x44adfa.14
push ecx
call dword [0x1710960]
add esp, 4
jmp case.0x44adfa.14
test edi, edi
je 0x44a554
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x44a3cc
push ecx
call dword [0x1710960]
add esp, 4
jmp case.default.0x44a3cc
mov dword [ebp + 0xa4], ecx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x44a5f9
cmp dword [esi + 0x58], 0
je 0x44a58c
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x44a5b5
push 0x134
call dword [0x1710964]
mov edx, eax
add esp, 4
test edx, edx
je 0x44db58
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 + 0x523940]
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 0x4402a0
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x44a510
test edi, edi
jne case.default.0x44a3cc
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x44a655
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a63d
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], edi
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x44afbc
cmp al, 0x88
jb 0x44dd78
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a686
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
test edi, edi
jne case.default.0x44a3cc
mov edx, dword [esi + 0x2c]
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x44a6b0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x440323
test edi, edi
je case.0x442246.10
jmp case.default.0x44a3cc
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de02
mov edi, 0xfffffc1b
jmp 0x449ea4
cmp edi, 0xfffffc1b
jne 0x44a720
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x44a722
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x44b5a6
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a75d
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0044edf0
add esp, 0x14
test eax, eax
jns 0x44a7e8
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x44a7c6
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edi, dword [ebp + 0x78]
jb case.0x44adfa.14
cmp ecx, dword [ebp + 0x84]
jmp 0x443d1e
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a81c
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 8]
sub eax, dword [esi + 0x88]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x44c1fa
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a874
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44a8c4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44adfa.14
cmp eax, dword [ebp + 0x84]
jbe case.0x44adfa.14
jmp 0x4412ef
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
mov edi, ecx
mov edx, dword [esi + 0x28]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a915
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x44c1fa
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44a964
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44a9b4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44adfa.14
cmp eax, dword [ebp + 0x84]
jbe case.0x44adfa.14
jmp 0x4412ef
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x44a9cf
cmp dword [esi + 0x94], ecx
jne case.0x44adfa.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44aa02
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x44afb3
dec dword [esi + 8]
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44aa51
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443d0a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44aaca
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x44afb3
dec dword [esi + 8]
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44ab19
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44ab69
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44adfa.14
cmp eax, dword [ebp + 0x84]
jbe case.0x44adfa.14
jmp 0x4412ef
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x44adfa.14
cmp dword [esi + 0x94], ecx
je case.0x44adfa.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44abb7
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44ac06
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443d0a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44ac7f
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44acce
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x44ad1e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp ecx, dword [ebp + 0x84]
jmp 0x443d1e
cmp dword [esi + 0x7c], 0xc
jne 0x44ad79
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44ad4c
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004508a0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x44ad79
jmp case.0x44adfa.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x44ad79
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44ad79
cmp edi, 1
je case.0x44adfa.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x44adfa.14
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x44c178.15
jmp dword [eax*4 + 0x44ea58]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x44ad94.13
cmp edx, dword [ebp + 0x78]
jb case.0x44ad94.13
cmp dword [ebp + 0x18], 0
jne case.0x44ad94.13
cmp dword [ebp + 0x1c], 2
jne case.0x44ad94.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x44ad94.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x44ad94.13
jmp 0x44dbba
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x44adfa.14
movzx eax, byte [ecx + 0x44eaa8]
jmp dword [eax*4 + 0x44ea98]
cmp edx, dword [ebp + 0x78]
jae case.0x44ad94.13
cmp byte [edx], 0xa
jne case.0x44ad94.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x44ad94.13
cmp dword [ebp + 0x68], 0
je case.0x44ad94.13
jmp case.0x44adfa.14
cmp ecx, 9
je case.0x44adfa.14
cmp ecx, 0x20
je case.0x44adfa.14
cmp ecx, 0xa0
jne case.0x44ad94.13
jmp case.0x44adfa.14
cmp ecx, 9
je case.0x44ad94.13
cmp ecx, 0x20
je case.0x44ad94.13
cmp ecx, 0xa0
je case.0x44ad94.13
jmp case.0x44adfa.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x44ad94.13
movzx eax, byte [ecx + 0x44eb2c]
jmp dword [eax*4 + 0x44eb24]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x44adfa.14
movzx eax, byte [ecx + 0x44ebb0]
jmp dword [eax*4 + 0x44eba8]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x44ad94.13
jmp case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x44ad94.13
jmp case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x44ad94.13
jmp case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x44ad94.13
jmp case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x44ad94.13
jmp case.0x44adfa.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44af2d
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x44af74
cmp eax, dword [esi + 0x30]
jbe 0x44af74
cmp byte [eax], 0xa
jne 0x44af74
dec eax
cmp byte [eax], 0xd
jne 0x44af74
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44afa9
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x4402a0
cmp edi, 0xfffffc1a
jne 0x44b041
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 0x44b039
mov edx, dword [esi + 0xc]
nop word [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x44b020
jmp 0x44b0a1
mov dword [esi + 8], eax
jmp 0x44b0c6
cmp edi, 0xfffffc20
jne 0x44b07b
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x44a3cc
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44b083
cmp byte [ecx], 0x77
jmp 0x44b07d
test edi, edi
jne case.default.0x44a3cc
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 0x44b0ba
cmp dword [esi + 0x5c], 0
jne 0x44a6c7
cmp dword [esi + 0x54], 0
jne 0x44a6c7
jmp case.0x44adfa.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x44b0e0
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x44b109
push 0x134
call dword [0x1710964]
mov edx, eax
add esp, 4
test edx, edx
je 0x44db58
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 0x44a5c8
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x44b237
jmp 0x449fdc
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x449fdc
test eax, eax
je 0x44de12
mov edi, 0xfffffc1c
jmp 0x449ea4
test edi, edi
je 0x44b1e1
jmp case.default.0x44a3cc
cmp edi, 1
je 0x44b172
cmp edi, 0xfffffc19
jne 0x44b190
cmp dword [ebp + 0xac], 0
jne 0x44b190
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x44a3cc
cmp edi, 0xfffffc1f
jne case.default.0x44a3cc
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44b1d4
test dl, dl
je 0x44b1cd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44b1d4
add eax, 2
add ecx, 2
test dl, dl
jne 0x44b1a5
xor eax, eax
jmp 0x44b1d9
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x44a3cc
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de22
mov edi, 0xfffffc1e
jmp 0x449ea4
cmp edi, 1
je 0x44b212
cmp edi, 0xfffffc19
jne 0x44b22b
cmp dword [ebp + 0xac], 0
jne 0x44b22b
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x449fdc
test eax, eax
je 0x44de32
mov edi, 0xfffffc1d
jmp 0x449ea4
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de42
mov edi, 0xfffffc1f
jmp 0x449ea4
cmp edi, 1
je 0x44b285
cmp edi, 0xfffffc19
jne case.0x449eb4.54
cmp dword [ebp + 0xac], 0
jne case.0x449eb4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de52
mov edi, 0xfffffc20
jmp 0x449ea4
cmp edi, 0xfffffc1a
jne 0x44b327
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 0x44b31f
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 0x44b303
jmp 0x44b393
mov dword [esi + 8], eax
jmp 0x440ec2
cmp edi, 0xfffffc20
jne 0x44b361
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x44a3cc
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44b369
cmp byte [ecx], 0x77
jmp 0x44b363
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
je 0x440ec2
cmp dword [esi + 0x5c], 0
jne 0x44b3d3
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 0x44097f
cmp dword [esi + 0x5c], 0
jne 0x44097f
jmp case.0x44adfa.14
cmp edi, 1
jne 0x44b49d
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x44b410
cmp al, 0x77
jne case.0x44adfa.14
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x44b410
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov edi, dword [esi + 0xc]
mov al, byte [edi]
cmp al, 0x78
je 0x442a82
cmp ecx, dword [esi + 0x38]
je 0x442a82
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x44b54d
test ecx, ecx
jne 0x44b482
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
cmp edi, 0xfffffc20
jne 0x44b4d7
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x44a3cc
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44b4df
cmp byte [ecx], 0x77
jmp 0x44b4d9
test edi, edi
jne case.default.0x44a3cc
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x44b3fb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b532
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
test ecx, ecx
jne 0x44b573
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
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 0x44afbc
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x4402b0
test edi, edi
jne case.default.0x44a3cc
add dword [esi + 0xc], 3
jmp 0x4402b0
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443d0a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x44b6c7
cmp edx, 0xc0
jb 0x44b6c7
test dl, 0x20
jne 0x44b60f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44b6c4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44b63a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x44b6c4
test dl, 8
jne 0x44b661
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 0x44b6c4
test dl, 4
jne 0x44b690
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 0x44b6c4
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
push ebx
push dword [esi + 0x28]
push edx
call fcn.00450180
add esp, 0xc
test eax, eax
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b70b
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x44adfa.14
test ebx, ebx
je 0x44b754
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x44b754
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x44b748
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b77d
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x44b7c7
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp ecx, dword [ebp + 0x84]
jmp 0x443d1e
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x44b8c3
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x44b7fd
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x44b8bc
test bl, 0x10
jne 0x44b81e
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x44b8bc
test bl, 8
jne 0x44b84b
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x44b8bc
test bl, 4
jne 0x44b881
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x44b8bc
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
mov edi, ebx
mov eax, ebx
cmp eax, 0xff
jbe 0x44b8ea
cmp dword [esi + 0x9c], 0x6e
jne 0x44b901
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de82
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x449ea4
mov edx, dword [esi + 0x28]
and edi, 7
shr ebx, 3
mov eax, 1
mov ecx, edi
shl eax, cl
test byte [ebx + edx], al
jmp 0x44b8d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b930
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x44c1fa
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x44b971
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x44b965
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44b99a
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x44ba55
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x44ba05
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44ba0a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44b9f0
cmp edi, 0xfffffffc
je 0x44ba47
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44ba52
cmp edi, 0xfffffffd
je 0x44ba47
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44ba52
cmp edi, 0xfffffffe
je 0x44ba47
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44ba52
cmp edi, 0xffffffff
je 0x44ba47
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44ba52
mov eax, dword [esi + 0x88]
jmp 0x44bad6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x44bb19
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x44bb19
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x44ba95
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44ba9a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44ba80
cmp edi, 0xfffffffc
je 0x44bad3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44bb19
cmp edi, 0xfffffffd
je 0x44bad3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44bb19
cmp edi, 0xfffffffe
je 0x44bad3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44bb19
cmp edi, 0xffffffff
je 0x44bad3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44bb19
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 0x44bb0a
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x44afb3
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x44c1fa
cmp ebx, dword [ebp + 0x78]
jb case.default.0x44c1fa
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x44c1fa
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x44c1fa
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de72
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x449ea4
test edi, edi
jne case.default.0x44a3cc
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44bb8d
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44bb81
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44bbc2
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443d0a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x44bcfa
test dl, 0x20
jne 0x44bc30
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x44bcfa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44bc60
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x44bcfa
test dl, 8
jne 0x44bc8b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x44bcfa
test dl, 4
jne 0x44bcbf
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x44bcfa
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov edx, ecx
mov eax, ecx
cmp dword [esi + 0x80], edx
je case.0x44adfa.14
cmp dword [esi + 0x94], eax
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44bd41
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44bd7c
nop dword [eax + eax]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44bd70
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44bdb1
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44be01
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44adfa.14
cmp eax, dword [ebp + 0x84]
jbe case.0x44adfa.14
jmp 0x4412ef
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x14], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x44bf0d
mov cl, byte [eax]
test bl, 0x20
jne 0x44be32
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x44bf05
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x44be56
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x44bf05
test bl, 8
jne 0x44be91
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x44bf0d
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x44becf
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x44bf05
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x44c1fa
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44bf48
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44bf7e
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44bf72
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44bfb3
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x44bfff
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp ecx, dword [ebp + 0x84]
jmp 0x443d1e
cmp dword [esi + 0x7c], 0xc
jne 0x44c052
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44c029
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004508a0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x44c052
jmp case.0x44adfa.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x44c052
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44c052
cmp edi, 1
je case.0x44adfa.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x44adfa.14
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x14], edi
mov ebx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x44c169
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x44c0a3
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x44c14e
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x44c0c8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x44c14e
test dl, 8
jne 0x44c0eb
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 3
jmp 0x44c14e
test dl, 4
jne 0x44c11a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 4
jmp 0x44c14e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 5
mov ecx, edx
mov dword [esi + 8], edi
mov dword [esp + 0x14], edi
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x44c178.15
jmp dword [eax*4 + 0x44ec2c]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44c178.13
mov eax, dword [esp + 0x14]
cmp eax, dword [ebp + 0x78]
jb case.0x44c178.13
cmp dword [ebp + 0x18], 0
jne case.0x44c178.13
cmp dword [ebp + 0x1c], 2
jne case.0x44c178.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x44c178.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x44c178.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de72
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x449ea4
cmp edx, 0x85
ja 0x44c213
je case.0x44c1fa.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x44c1fa
jmp dword [edx*4 + 0x44ec6c]
cmp edi, dword [ebp + 0x78]
jae case.0x44c178.13
cmp byte [edi], 0xa
jne case.0x44c178.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x44c178.13
sub edx, 0x2028
je case.0x44c1fa.11
sub edx, 1
jne case.default.0x44c1fa
cmp dword [ebp + 0x68], 0
je case.0x44c178.13
jmp case.default.0x44c1fa
cmp edx, 0x2000
ja 0x44c2b7
je case.default.0x44c1fa
cmp edx, 0xa0
ja 0x44c2a3
je case.default.0x44c1fa
cmp edx, 9
je case.default.0x44c1fa
cmp edx, 0x20
je case.default.0x44c1fa
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44c294
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x44afb3
cmp edx, 0x1680
je case.default.0x44c1fa
cmp edx, 0x180e
jmp 0x44c25f
cmp edx, 0x3000
ja case.0x44c178.13
je case.default.0x44c1fa
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x44c178.13
movzx eax, byte [edx + 0x44ec84]
jmp dword [eax*4 + 0x44ec7c]
cmp edx, 0x2000
ja 0x44c32e
je case.0x44c178.13
cmp edx, 0xa0
ja 0x44c311
je case.0x44c178.13
cmp edx, 9
je case.0x44c178.13
cmp edx, 0x20
je case.0x44c178.13
jmp case.default.0x44c1fa
cmp edx, 0x1680
je case.0x44c178.13
cmp edx, 0x180e
je case.0x44c178.13
jmp case.default.0x44c1fa
cmp edx, 0x3000
ja case.default.0x44c1fa
je case.0x44c178.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x44c1fa
movzx eax, byte [edx + 0x44ecec]
jmp dword [eax*4 + 0x44ece4]
cmp edx, 0x85
ja 0x44c37e
je case.default.0x44c1fa
add edx, 0xfffffff6
cmp edx, 3
ja case.0x44c178.13
jmp dword [edx*4 + 0x44ed4c]
sub edx, 0x2028
je case.default.0x44c1fa
sub edx, 1
jne case.0x44c178.13
jmp case.default.0x44c1fa
cmp edx, 0x85
ja 0x44c3b9
je case.0x44c178.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x44c1fa
jmp dword [edx*4 + 0x44ed5c]
sub edx, 0x2028
je case.0x44c178.13
sub edx, 1
je case.0x44c178.13
jmp case.default.0x44c1fa
cmp ecx, 0x100
jae case.0x44c178.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x44c178.13
jmp case.default.0x44c1fa
cmp ebx, 0x100
jae case.default.0x44c1fa
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x44c178.13
jmp case.default.0x44c1fa
cmp dword [esp + 0x18], 0x100
jae case.0x44c178.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x44c178.13
jmp case.default.0x44c1fa
cmp dword [esp + 0x10], 0x100
jae case.default.0x44c1fa
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x44c178.13
jmp case.default.0x44c1fa
cmp dword [esp + 0x1c], 0x100
jae case.0x44c178.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x44c178.13
jmp case.default.0x44c1fa
cmp dword [esp + 0x20], 0x100
jae case.default.0x44c1fa
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x44c178.13
jmp case.default.0x44c1fa
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x449eb4
mov edi, 0xfffffff2
jmp 0x449ea0
test edi, edi
jne case.default.0x44a3cc
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44c4cc
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44c4c0
cmp dword [esi + 0x7c], 0x11
jne 0x44c4f5
cmp ecx, dword [esi + 0x30]
jbe 0x44c4f5
cmp byte [ecx], 0xa
jne 0x44c4f5
dec ecx
cmp byte [ecx], 0xd
jne 0x44c4f5
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44c52a
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44c57a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x44adfa.14
cmp eax, dword [ebp + 0x84]
jbe case.0x44adfa.14
jmp 0x4412ef
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x44c5d6
cmp ecx, 0xc0
jb 0x44c5d6
test cl, 0x20
jne 0x44c59d
lea eax, [edx + 1]
jmp 0x44c5d3
test cl, 0x10
jne 0x44c5ae
add eax, 3
jmp 0x44c5d3
test cl, 8
jne 0x44c5bf
add eax, 4
jmp 0x44c5d3
test cl, 4
jne 0x44c5d0
add eax, 5
jmp 0x44c5d3
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44c60f
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44c659
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edx, dword [ebp + 0x84]
jmp 0x443d1e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44c75c
cmp eax, 0xc0
jb 0x44c75c
test al, 0x20
jne 0x44c695
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44c757
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x44c6bb
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44c757
test al, 8
jne 0x44c6e7
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44c757
test al, 4
jne 0x44c71c
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44c757
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
cmp eax, 9
je 0x44c7a0
cmp eax, 5
je 0x44c7a0
cmp eax, 8
je 0x44c7a0
xor eax, eax
jmp 0x44c7a5
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44c7dd
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44c827
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edx, dword [ebp + 0x84]
jmp 0x443d1e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44c93a
cmp eax, 0xc0
jb 0x44c93a
test al, 0x20
jne 0x44c863
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44c935
test al, 0x10
jne 0x44c88b
mov ecx, eax
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44c935
test al, 8
jne 0x44c8bf
mov ecx, eax
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44c935
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x44c8fa
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44c935
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44c9a3
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44c9ed
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edx, dword [ebp + 0x84]
jmp 0x443d1e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44caff
cmp eax, 0xc0
jb 0x44caff
test al, 0x20
jne 0x44ca29
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44cafa
test al, 0x10
jne 0x44ca4f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44cafa
test al, 8
jne 0x44ca81
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44cafa
test al, 4
movzx eax, byte [edx]
jne 0x44cabc
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44cafa
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44cb61
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44cbab
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edx, dword [ebp + 0x84]
jmp 0x443d1e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44ccbd
cmp eax, 0xc0
jb 0x44ccbd
test al, 0x20
jne 0x44cbe7
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44ccb8
test al, 0x10
jne 0x44cc0d
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44ccb8
test al, 8
jne 0x44cc3f
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44ccb8
test al, 4
movzx eax, byte [edx]
jne 0x44cc7a
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44ccb8
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c48]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44cd1f
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44cd69
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edx, dword [ebp + 0x84]
jmp 0x443d1e
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x14], edx
je 0x44ce6a
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x44ce6a
test al, 0x20
jne 0x44cdaa
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x44ce59
test al, 0x10
jne 0x44cdca
mov ecx, eax
lea edi, [edx + 2]
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x44ce59
test al, 8
jne 0x44cdf3
mov ecx, eax
lea edi, [edx + 3]
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x44ce59
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x44ce26
and eax, 3
lea edi, [edx + 4]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44ce59
and eax, 1
lea edi, [edx + 5]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x14], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c4a]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], edx
jae 0x44cfe6
mov dword [esp + 0x14], edx
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x44cf89
cmp edx, 0xc0
jb 0x44cf89
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44cee6
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x44cf85
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44cf05
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x44cf7f
and eax, 0x3f
test dl, 8
jne 0x44cf29
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44cf7f
test dl, 4
jne 0x44cf52
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 0x44cf7f
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x18]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x5252c8]
mov edx, dword [esp + 0x14]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx ecx, byte [eax*8 + 0x523c4a]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x523ad0], eax
mov ebp, dword [esp + 0xb0]
je 0x44cfe6
add edi, ebx
mov dword [esp + 0x18], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x14], edx
cmp edi, edx
jb 0x44cea1
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x44d025
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x44d025
cmp eax, dword [ebp + 0x84]
jbe 0x44d025
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x44d025
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de72
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x449ea4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44d054
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x44d08e
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44d08e
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44d082
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4402b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44d0c3
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x44d0f1
movzx edx, byte [edi]
jmp 0x44d1cd
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x44d10c
nop dword [eax]
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x44d100
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x44d1cf
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44d13f
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x44d1cb
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44d159
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x44d1c5
and eax, 0x3f
test dl, 8
jne 0x44d178
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44d1c5
test dl, 4
jne 0x44d19c
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x44d1c5
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x5252c8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx ebx, byte [eax*8 + 0x523c4a]
mov eax, edi
cmp eax, dword [esi + 0x30]
jbe 0x4402b0
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x44d214
movzx edx, byte [edi]
jmp 0x44d2f0
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x44d232
mov al, byte [edx - 1]
lea edi, [edx - 1]
mov cl, al
mov edx, edi
and al, 0xc0
cmp al, 0x80
je 0x44d222
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x44d2f2
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x44d262
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x44d2ee
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x44d27c
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x44d2e8
and eax, 0x3f
test dl, 8
jne 0x44d29b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x44d2e8
test dl, 4
jne 0x44d2bf
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x44d2e8
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x5252c8]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x5274c8]
movzx edx, byte [eax*8 + 0x523c4a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x523ad0], eax
je 0x448b25
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x44d1f1
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44d373
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edx, dword [ebp + 0x84]
jmp 0x443d1e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x44d487
cmp eax, 0xc0
jb 0x44d487
test al, 0x20
jne 0x44d3af
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x44d482
test al, 0x10
jne 0x44d3d5
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44d482
test al, 8
jne 0x44d407
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44d482
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x44d444
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44d482
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x44d4c9
cmp eax, 3
je 0x44d4c9
xor eax, eax
jmp 0x44d4ce
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44d506
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443d0a
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
mov ebx, edx
mov dword [esp + 0x14], edx
je 0x44d66a
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x44d66a
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x44d58f
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44d66e
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x44d5bb
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44d66e
test dl, 8
jne 0x44d5ec
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44d66e
test dl, 4
jne 0x44d626
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44d66e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x44d66e
mov edi, dword [esp + 0x14]
cmp ecx, 0x24
je 0x44d6ac
cmp eax, 0x40
je 0x44d6ac
cmp ebx, 0x60
je 0x44d6ac
cmp edi, 0xa0
jb 0x44d699
cmp edx, 0xd7ff
jbe 0x44d6ac
cmp edx, 0xe000
jae 0x44d6ac
xor eax, eax
jmp 0x44d6b1
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44c1fa
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44d6e9
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x44afb3
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x443d0a
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edx
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x14], edx
mov ebx, edx
mov dword [esp + 0x18], edx
je 0x44d833
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x44d833
test dl, 0x20
jne 0x44d771
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44d822
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44d79c
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x44d822
test dl, 8
jne 0x44d7bf
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 0x44d822
test dl, 4
jne 0x44d7ee
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 0x44d822
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov dword [esp + 0x14], edx
mov eax, edx
mov ebx, edx
mov dword [esp + 0x18], edx
cmp dword [esp + 0x14], 0x20
mov edi, edx
ja 0x44d858
cmp eax, 0x20
je case.0x44d966.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x44d966.8203
jmp dword [eax*4 + 0x44ed6c]
cmp edx, 0x2000
ja 0x44d93a
cmp ecx, 0x2000
je case.0x44d966.8193
cmp edi, 0x1680
ja 0x44d92f
cmp edx, 0x1680
je case.0x44d966.8193
mov eax, edx
sub eax, 0x85
je case.0x44d966.8193
sub eax, 0x1b
je case.0x44d966.8193
mov eax, edx
test eax, eax
jns 0x44d8ab
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5252c8]
shl eax, 7
and edx, 0x8000007f
jns 0x44d8c9
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
cmp dword [eax*4 + 0x523a58], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x44c1fa
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44d920
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44db58
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x44afb3
cmp edx, 0x180e
jmp 0x44d898
cmp ebx, 0x3000
ja case.0x44d966.8203
cmp dword [esp + 0x18], 0x3000
je case.0x44d966.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x44d966.8203
movzx eax, byte [eax + 0x44ed88]
jmp dword [eax*4 + 0x44ed80]
cmp dword [esi + 0x68], 0
je 0x44d8f1
jmp case.default.0x44c1fa
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44d9bb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edx, dword [ebp + 0x84]
jmp 0x443d1e
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov edi, eax
mov ebx, eax
je 0x44dad6
cmp eax, 0xc0
jb 0x44dad6
test al, 0x20
jne 0x44d9fc
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x44dacf
test al, 0x10
jne 0x44da22
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44dacf
test al, 8
jne 0x44da54
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44dacf
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x44da91
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x44dacf
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x5252c8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5274c8]
movzx eax, byte [eax*8 + 0x523c49]
mov eax, dword [eax*4 + 0x523a58]
cmp eax, 1
je 0x44db21
cmp eax, 3
je 0x44db21
cmp ebx, 0x5f
je 0x44db21
xor eax, eax
jmp 0x44db26
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x44c1fa
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44dd8a
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44dd80
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de8f
mov edi, 0xfffffffa
jmp 0x449ea0
test edi, edi
jne case.default.0x44a3cc
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x44adfa.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x44dbd0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x44adfa.14
cmp edi, dword [ebp + 0x84]
jbe case.0x44adfa.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x44adfa.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de72
mov edi, 0xfffffff4
jmp 0x449ea4
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x44dcc0
cmp edx, 0xc0
jb 0x44dcc0
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x44dc10
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44dcbb
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x44dc35
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x44dcbb
test dl, 8
jne 0x44dc58
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 0x44dcbb
test dl, 4
jne 0x44dc87
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 0x44dcbb
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x523b08]
lea eax, [eax*4 + 0x523b08]
jb 0x44dced
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x44dd0a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x44dce0
cmp dword [esi + 0x68], 0
jne 0x44dd10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de82
xor edi, edi
jmp 0x449ea4
cmp dword [esi + 0x68], 0
jne case.0x44adfa.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x44dda3
push 0x134
call dword [0x1710964]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44dd99
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x44de8f
lea edi, [ecx - 6]
jmp 0x449ea4
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x44dd64
push ecx
call dword [0x1710960]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x440323
mov dword [esi + 0xc], ecx
jmp 0x4402b0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x44afb3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x44afb3
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x8c
ret