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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1c], eax
lea ecx, [ecx]
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov edi, edi
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x4c]
mov dword [esp + 0x8c], edi
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, ecx
jb 0x53349e
mov esi, dword [esi]
test esi, esi
je 0x541141
mov edi, 0xfffffff8
jmp 0x53cd49
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x5334ba
mov esi, dword [esi]
test esi, esi
je 0x54114e
mov edi, 0xffffffeb
jmp 0x53cd49
cmp dword [ebp + 0x98], 2
jne 0x5334f1
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
jmp 0x5334f1
add dword [esi + 0xc], 3
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ebx
movzx edx, byte [eax]
mov dword [esi + 0x9c], edx
cmp edx, 0xa1
ja case.0x533524.98
movzx eax, byte [edx + 0x54135c]
jmp dword [eax*4 + 0x541210]
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 0x5409a5
push 0x134
call dword [0x66ede0]
mov edi, eax
add esp, 4
test edi, edi
jne 0x54099f
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov edx, dword [esi + 4]
test edx, edx
jne 0x5409f5
push 0x134
call dword [0x66ede0]
mov edx, eax
add esp, 4
test edx, edx
jne 0x5409ef
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov edx, dword [esi + 4]
test edx, edx
jne 0x540a13
push 0x134
call dword [0x66ede0]
mov edx, eax
add esp, 4
test edx, edx
jne 0x540a0d
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
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 0x540a31
push 0x134
call dword [0x66ede0]
mov edi, eax
add esp, 4
test edi, edi
jne 0x540a2b
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov edx, dword [esi + 4]
test edx, edx
jne 0x540a46
push 0x134
call dword [0x66ede0]
mov edx, eax
add esp, 4
test edx, edx
jne 0x540a40
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x53367e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x5fad70]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x5334f1
mov edi, dword [esi + 4]
test edi, edi
jne 0x540a64
push 0x134
call dword [0x66ede0]
mov edi, eax
add esp, 4
test edi, edi
jne 0x540a5e
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov edx, dword [esi + 4]
test edx, edx
jne 0x540a79
push 0x134
call dword [0x66ede0]
mov edx, eax
add esp, 4
test edx, edx
jne 0x540a73
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
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 0x540a97
push 0x134
call dword [0x66ede0]
mov edi, eax
add esp, 4
test edi, edi
jne 0x540a91
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
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 0x53e288
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.0x533524.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 0x53cdeb
mov dword [esi + 0x54], ebx
jmp 0x533f8f
mov dword [esi + 0x54], ebx
jmp 0x533fb3
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x76
jne 0x5338f8
mov edi, dword [0x6724d8]
test edi, edi
je 0x5338e4
mov dword [esp + 0x10], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x53389e
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x5338d3
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd49
jns 0x5338e4
mov esi, dword [esi]
test esi, esi
je 0x53d22c
jmp 0x53cd49
movzx eax, byte [0x5fade6]
add dword [esi + 0xc], eax
movzx eax, byte [0x5fade6]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx]
mov dword [esp + 0x88], edx
lea eax, [edx - 0x8d]
cmp eax, 0x10
ja case.0x53391e.146
movzx eax, byte [eax + 0x541418]
jmp dword [eax*4 + 0x541400]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x53391e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x533957
cmp edx, dword [edi + 4]
je 0x533957
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x53d083
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x53d083
cmp dword [ebp + 0xa4], ebx
je case.0x53391e.145
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edi, byte [ecx + 1]
shl ebx, 8
shl edi, 8
or ebx, eax
movzx eax, byte [ecx + 2]
or edi, eax
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
test ebx, ebx
jle case.0x53391e.145
lea esp, [esp]
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
dec ebx
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x58], ecx
test ecx, ecx
jne 0x53d083
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x5339a0
jmp 0x53d083
mov eax, dword [esi + 0xc]
movzx ecx, byte [ecx + 1]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x533a04
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x533a04
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x53391e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x53391e.145
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ecx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
jle 0x53d083
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 0x533a59
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x533a68
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x533a37
jmp 0x53d083
mov dword [esi + 0x58], 1
jmp 0x53d083
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540aac
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540aa6
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
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 0x533b04
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x5334e6
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jl 0x5334e6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x533b53
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
jmp 0x5334e6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x533ba6
cmp edx, 0x9f
je 0x533ba6
cmp dword [ebp + 0xa4], ebx
jne 0x533ba6
cmp dword [ebp + 0x5c], ebx
jne 0x533b95
cmp dword [ebp + 0x60], ebx
je 0x533ba6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x533ba6
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd49
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov esi, dword [esi]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
test esi, esi
je 0x53d22c
jmp 0x53cd49
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x533bff
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x53d17d
mov dword [esi + 0x58], ebx
jmp 0x53d17d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x533c2b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x53d2cb
mov dword [esi + 0x58], ebx
jmp 0x53d2cb
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x533c92
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x533c78
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x53a476.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x533c74
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x533c68
test edx, edx
jg 0x533c50
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x5334e6
mov dword [ebp + 0x84], eax
jmp 0x5334e6
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0xc]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jae 0x533c78
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd50
mov edi, dword [0x6724d8]
test edi, edi
je 0x533d9c
mov dword [esp + 0x44], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x533d56
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x44]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x533d8b
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd49
jns 0x533d9c
mov esi, dword [esi]
test esi, esi
je 0x53d22c
jmp 0x53cd49
add dword [esi + 0xc], 6
jmp 0x5334ea
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 0x533dc6
xor edx, edx
jmp 0x533dd3
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 0x533df3
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x533ded
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x533e54
mov ecx, dword [ecx]
test ecx, ecx
jne 0x533de0
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 0x533e68
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x53d3b4
mov esi, dword [esi]
test esi, esi
je 0x541172
mov edi, 0xffffffe6
jmp 0x53cd49
shl eax, 2
push eax
call dword [0x66edd8]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x533e2e
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
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 0x533e91
jmp 0x5334f1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540ae7
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540ae1
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x533ef0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540b05
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540aff
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x533f43
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x5334f1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x533f8f
cmp eax, 0x8b
jne 0x533fb3
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 0x533fd0
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 0x53de9d
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 0x53404d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x540e97
push 0x134
call dword [0x66ede0]
mov edx, eax
add esp, 4
test edx, edx
jne 0x540e8d
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x5340a8
cmp al, 0x81
je 0x5340a8
mov dword [esi + 0x38], ebx
jmp 0x5340b9
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 0x5340c6
cmp al, 0x80
jbe 0x5340ca
cmp al, 0x82
jne 0x5340f6
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x5411a6
mov edi, 1
jmp 0x53cd49
cmp al, 0x85
je 0x53410a
cmp al, 0x8a
je 0x53410a
cmp al, 0x86
je 0x53410a
cmp al, 0x8b
jne 0x5341d1
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 0x534146
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x534146
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x5340dc
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x98]
cmp ecx, dword [ebp + 0x14]
jl 0x534175
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x5341d1
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x534195
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x534195
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x98]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x98]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x98]
cmp dword [esi + 0x14], eax
jg 0x5341d1
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x534207
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov esi, dword [esi]
test esi, esi
je 0x54117f
mov edi, 0xfffffc1a
jmp 0x53cd49
cmp cl, 0x78
je 0x534280
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x534280
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x53424e
test ecx, ecx
jne 0x540b26
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540b20
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test ecx, ecx
jne 0x540b47
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540b41
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x53d4e7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540b65
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540b5f
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
cmp dword [ebp + 0x44], ebx
je case.0x533524.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x533524.1
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd49
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x5343a8
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd49
cmp dword [ebp + 0x44], ebx
je 0x53431a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x53431a
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd49
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x534d64
cmp ecx, dword [ebp + 0x78]
je 0x534380
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x534358
cmp ecx, edx
jbe 0x534380
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00543770
add esp, 0x14
test eax, eax
jne 0x534d64
jmp 0x534380
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x534380
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x534380
cmp edi, 1
je 0x534d64
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x534d64
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd49
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x5342e5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x5334f1
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x53446a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x5343e5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00543620
add esp, 0x14
test eax, eax
jne 0x534d64
jmp 0x534409
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x534409
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x534409
cmp edx, 1
je 0x534d64
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x534d64
cmp dword [ebp + 0x88], ebx
je case.0x53a476.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x53a476.14
cmp dword [ebp + 0x18], ebx
jne case.0x53a476.14
cmp dword [edi], 2
jne case.0x53a476.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x53a476.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x53a476.14
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edi, 0xfffffff4
jmp 0x53cd49
cmp dword [ebp + 0x48], ebx
jne 0x5342eb
cmp dword [ebp + 0x88], ebx
je 0x534d64
cmp ecx, dword [ebp + 0x84]
jbe 0x534d64
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x534d64
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edi, 0xfffffff4
jmp 0x53cd49
cmp dword [ebp + 0x48], ebx
jne 0x5342eb
cmp dword [ebp + 0x58], ebx
je case.0x533524.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x5342eb
cmp dword [ebp + 0x88], ebx
je 0x5343a8
cmp eax, dword [ebp + 0x84]
jbe 0x5343a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x5343a8
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edi, 0xfffffff4
jmp 0x53cd49
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x534575
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x53453d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00543620
add esp, 0x14
test eax, eax
jne 0x534565
jmp 0x534409
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x534409
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x534409
cmp edx, 1
je 0x534565
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x534409
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x534409
cmp dword [ebp + 0x88], ebx
je 0x534d64
cmp ecx, dword [ebp + 0x84]
jbe 0x534d64
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x534d64
jmp 0x534456
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x534877
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x5345c5
mov dword [esi + 0x5c], ebx
jmp 0x5346fe
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x5345da
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x5345d0
cmp edx, dword [ebp + 0x84]
jae 0x5345e8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x53469c
test bl, 0x20
jne 0x534610
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x53469c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53462a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x534692
and eax, 0x3f
test bl, 8
jne 0x534645
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x534692
test bl, 4
jne 0x534669
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x534692
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp dword [ebp + 0x54], 0
je 0x534737
cmp ebx, 0x5f
jne 0x5346b4
mov dword [esi + 0x5c], 1
jmp 0x5346fe
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x5346d6
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x534748
cmp eax, 3
je 0x534748
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x53474f
cmp dword [ebp + 0x88], 0
je 0x53472b
cmp edx, dword [ebp + 0x84]
jbe 0x53472b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
mov dword [esi + 0x54], 0
jmp 0x5349b5
cmp ebx, 0x100
jae 0x5346f9
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x5346f9
mov eax, 1
jmp 0x5346fb
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x5347f9
test bl, 0x20
jne 0x53476f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x5347f1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x534789
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x5347f1
and eax, 0x3f
test bl, 8
jne 0x5347a4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x5347f1
test bl, 4
jne 0x5347c8
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 0x5347f1
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x54], 0
je 0x53485c
cmp ebx, 0x5f
jne 0x534810
mov dword [esi + 0x54], 1
jmp 0x5349b5
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x534832
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x53486d
cmp eax, 3
je 0x53486d
xor eax, eax
jmp 0x5349b2
cmp ebx, 0x100
jae 0x534855
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x534855
mov eax, 1
jmp 0x5349b2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x534887
mov dword [esi + 0x5c], ebx
jmp 0x534922
cmp eax, dword [ebp + 0x84]
ja 0x534896
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x53490e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x5348b0
mov dword [esi + 0x5c], 1
jmp 0x534922
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ecx, 0x8000007f
jns 0x5348d2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x534900
cmp eax, 3
je 0x534900
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x53491f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x53491f
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x534963
cmp dword [ebp + 0x88], ebx
je 0x53495e
cmp eax, dword [ebp + 0x84]
jbe 0x53495e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53495e
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edi, 0xfffffff4
jmp 0x53cd50
mov dword [esi + 0x54], ebx
jmp 0x5349b5
cmp dword [ebp + 0x54], ebx
je 0x5349a2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x534979
mov dword [esi + 0x54], 1
jmp 0x5349b5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ecx, 0x8000007f
jns 0x53499b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x534834
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x5349d0
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x5349d8
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x5334f1
jmp 0x5342eb
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x534a1d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x534a48
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.00543620
add esp, 0x14
test eax, eax
jne 0x5342eb
jmp 0x534a48
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x534a48
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x534a48
cmp edx, 1
je 0x5342eb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x5342eb
cmp dword [ebp + 0x88], ebx
je case.0x533524.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x533524.13
cmp dword [ebp + 0x18], ebx
jne case.0x533524.13
cmp dword [ebp + 0x1c], 2
jne case.0x533524.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x533524.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x534aa6
cmp dword [ebp + 0x88], ebx
je case.0x53a476.14
cmp eax, dword [ebp + 0x84]
jbe case.0x53a476.14
jmp 0x534442
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x5343a8
cmp eax, dword [ebp + 0x78]
jae 0x5343a8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x5343a8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x534ac2
inc dword [esi + 0xc]
jmp 0x5334f1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x534a89
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x5334f1
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x534b1d
cmp dword [ebp + 0x88], ebx
je case.0x53a476.14
cmp edi, dword [ebp + 0x84]
jbe case.0x53a476.14
jmp 0x534442
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x534c19
cmp ebx, 0xc0
jb 0x534c19
test bl, 0x20
jne 0x534b5a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x534c16
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x534b84
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x534c19
mov edx, dword [esi + 8]
test bl, 8
jne 0x534baa
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x534c0d
test bl, 4
jne 0x534bd9
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x534c0d
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x534d64
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x534d64
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd50
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x534d4b
cmp ebx, 0xc0
jb 0x534d4b
test bl, 0x20
jne 0x534c8c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x534d48
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x534cb6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x534d4b
mov edx, dword [esi + 8]
test bl, 8
jne 0x534cdc
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x534d3f
test bl, 4
jne 0x534d0b
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x534d3f
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x533cad
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x533cad
inc dword [esi + 0xc]
jmp 0x5334ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x534e74
cmp ebx, 0xc0
jb 0x534e74
test bl, 0x20
jne 0x534db5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x534e71
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x534ddf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x534e74
mov edx, dword [esi + 8]
test bl, 8
jne 0x534e05
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x534e68
test bl, 4
jne 0x534e34
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x534e68
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x534d64
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x534c2c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x534f94
cmp ebx, 0xc0
jb 0x534f94
test bl, 0x20
jne 0x534ed5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x534f91
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x534eff
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x534f94
mov edx, dword [esi + 8]
test bl, 8
jne 0x534f25
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x534f88
test bl, 4
jne 0x534f54
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x534f88
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x533cad
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x533cad
inc dword [esi + 0xc]
jmp 0x5334ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x5350bd
cmp ebx, 0xc0
jb 0x5350bd
test bl, 0x20
jne 0x534ffe
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5350ba
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x535028
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5350bd
mov edx, dword [esi + 8]
test bl, 8
jne 0x53504e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5350b1
test bl, 4
jne 0x53507d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5350b1
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x534d64
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x534c2c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x5351dd
cmp ebx, 0xc0
jb 0x5351dd
test bl, 0x20
jne 0x53511e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5351da
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x535148
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5351dd
mov edx, dword [esi + 8]
test bl, 8
jne 0x53516e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5351d1
test bl, 4
jne 0x53519d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5351d1
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x533cad
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x533cad
inc dword [esi + 0xc]
jmp 0x5334ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x535306
cmp ebx, 0xc0
jb 0x535306
test bl, 0x20
jne 0x535247
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x535303
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x535271
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x535306
mov edx, dword [esi + 8]
test bl, 8
jne 0x535297
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5352fa
test bl, 4
jne 0x5352c6
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5352fa
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xd
ja 0x53537f
je 0x535321
cmp ebx, 0xa
je 0x534d64
jbe 0x534c32
cmp ebx, 0xc
jmp 0x535399
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x53536a
cmp dword [ebp + 0x88], 0
je 0x534d64
cmp eax, dword [ebp + 0x84]
jbe 0x534d64
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x534d64
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edi, 0xfffffff4
jmp 0x53cd50
cmp byte [eax], 0xa
jne 0x534d64
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x5334ea
cmp ebx, 0x85
je 0x53539f
cmp ebx, 0x2027
jbe 0x534c32
cmp ebx, 0x2029
ja 0x534c32
cmp dword [ebp + 0x68], 0
jmp 0x534c2c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x5354b0
cmp ebx, 0xc0
jb 0x5354b0
test bl, 0x20
jne 0x5353f1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5354ad
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53541b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5354b0
mov edx, dword [esi + 8]
test bl, 8
jne 0x535441
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5354a4
test bl, 4
jne 0x535470
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5354a4
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x5354e8
je 0x533cad
cmp ebx, 0xa0
ja 0x5354dd
je 0x533cad
cmp ebx, 9
je 0x533cad
cmp ebx, 0x20
jmp 0x534d5e
cmp ebx, 0x1680
jmp 0x534d5e
cmp ebx, 0x205f
ja 0x535519
je 0x533cad
cmp ebx, 0x2000
jb 0x534d64
cmp ebx, 0x200a
jbe 0x533cad
cmp ebx, 0x202f
jmp 0x534d5e
cmp ebx, 0x3000
je 0x533cad
inc dword [esi + 0xc]
jmp 0x5334ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x535635
cmp ebx, 0xc0
jb 0x535635
test bl, 0x20
jne 0x535576
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x535632
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5355a0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x535635
mov edx, dword [esi + 8]
test bl, 8
jne 0x5355c6
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x535629
test bl, 4
jne 0x5355f5
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x535629
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x53566d
je 0x534d64
cmp ebx, 0xa0
ja 0x535662
je 0x534d64
cmp ebx, 9
je 0x534d64
cmp ebx, 0x20
jmp 0x534c2c
cmp ebx, 0x1680
jmp 0x534c2c
cmp ebx, 0x205f
ja 0x53569e
je 0x534d64
cmp ebx, 0x2000
jb 0x534c32
cmp ebx, 0x200a
jbe 0x534d64
cmp ebx, 0x202f
jmp 0x534c2c
cmp ebx, 0x3000
jmp 0x534c2c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x5357b1
cmp ebx, 0xc0
jb 0x5357b1
test bl, 0x20
jne 0x5356f2
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5357ae
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53571c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5357b1
mov edx, dword [esi + 8]
test bl, 8
jne 0x535742
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5357a5
test bl, 4
jne 0x535771
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5357a5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x5357d9
je 0x534c32
cmp ebx, 0xa
jb 0x534d64
cmp ebx, 0xd
jbe 0x534c32
inc dword [esi + 0xc]
jmp 0x5334ea
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x534d64
jmp 0x534c32
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x5358f5
cmp ebx, 0xc0
jb 0x5358f5
test bl, 0x20
jne 0x535836
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5358f2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x535860
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5358f5
mov edx, dword [esi + 8]
test bl, 8
jne 0x535886
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5358e9
test bl, 4
jne 0x5358b5
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5358e9
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x53591a
je 0x534d64
cmp ebx, 0xa
jb 0x533cad
cmp ebx, 0xd
jbe 0x534d64
jmp 0x533cad
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x533cad
inc dword [esi + 0xc]
jmp 0x5334ea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x535a2d
cmp ebx, 0xc0
jb 0x535a2d
test bl, 0x20
jne 0x535979
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x535a2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5359a1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x535a2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x5359c7
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x535a2a
test bl, 4
jne 0x5359f6
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x535a2a
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5fc6f8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x535a50
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
movzx edx, word [ecx*2 + 0x5fe8f8]
cmp eax, 0xa
ja case.default.0x535a6a
jmp dword [eax*4 + 0x54142c]
cmp dword [esi + 0x9c], 0xf
jne 0x5334e6
jmp 0x5342eb
mov al, byte [edx*8 + 0x5fb079]
cmp al, 9
je 0x535a9a
cmp al, 5
je 0x535a9a
cmp al, 8
je 0x535a9a
xor ecx, ecx
jmp 0x535a9f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x5334e6
jmp 0x5342eb
movzx ecx, byte [edx*8 + 0x5fb079]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x5fae88]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x5334e6
jmp 0x5342eb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x5fb079]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x5334e6
jmp 0x5342eb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x5fb078]
jmp 0x535afb
movzx eax, byte [edx*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x535a9a
cmp eax, 3
je 0x535a9a
xor ecx, ecx
jmp 0x535a9f
cmp ebx, 0x180e
ja 0x535b93
je case.0x535a6a.0
cmp ebx, 0x85
ja 0x535b7f
je case.0x535a6a.0
cmp ebx, 9
jb case.0x535bb3.8203
cmp ebx, 0xd
jbe case.0x535a6a.0
cmp ebx, 0x20
jmp 0x535bcc
cmp ebx, 0xa0
je case.0x535a6a.0
cmp ebx, 0x1680
jmp 0x535bcc
cmp ebx, 0x202f
ja 0x535bba
je case.0x535a6a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x535bb3.8203
movzx eax, byte [ebx + 0x541460]
jmp dword [eax*4 + 0x541458]
cmp ebx, 0x205f
je case.0x535a6a.0
cmp ebx, 0x3000
je case.0x535a6a.0
movzx eax, byte [edx*8 + 0x5fb079]
xor ecx, ecx
cmp dword [eax*4 + 0x5fae88], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x535b07
movzx eax, byte [edx*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x535a9a
cmp eax, 3
je 0x535a9a
cmp ebx, 0x5f
je 0x535a9a
xor ecx, ecx
jmp 0x535a9f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x5faf38]
lea eax, [eax*4 + 0x5faf38]
cmp ebx, ecx
jb 0x535c4d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x535c5f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x535c40
cmp dword [esi + 0x9c], 0x10
jne 0x5334e6
jmp 0x5342eb
cmp dword [esi + 0x9c], 0x10
je 0x5334e6
jmp 0x5342eb
cmp ebx, 0x24
je 0x535a9a
cmp ebx, 0x40
je 0x535a9a
cmp ebx, 0x60
je 0x535a9a
cmp ebx, 0xa0
jb 0x535ca0
cmp ebx, 0xd7ff
jbe 0x535a9a
cmp ebx, 0xe000
jae 0x535a9a
xor ecx, ecx
jmp 0x535a9f
mov esi, dword [esi]
test esi, esi
je case.default.0x53cd64
mov edi, 0xfffffff2
jmp 0x53cd49
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x535dd2
cmp ebx, 0xc0
jb 0x535dd2
test bl, 0x20
jne 0x535d10
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x535dcf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x535d3f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x8c]
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x535dd2
mov edx, dword [esi + 8]
test bl, 8
jne 0x535d65
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x535dc8
test bl, 4
jne 0x535d94
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x535dc8
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x535df4
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb07a]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x535f86
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x535f1e
cmp ebx, 0xc0
jb 0x535f1e
test bl, 0x20
jne 0x535e55
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x535f16
test bl, 0x10
jne 0x535e7a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x535f16
test bl, 8
jne 0x535ea8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x535f16
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x535ee2
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x535f16
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x535f40
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx ecx, byte [eax*8 + 0x5fb07a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5faf00], eax
je 0x535f86
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x535e20
cmp dword [ebp + 0x88], 0
je 0x534d64
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x534d64
cmp eax, dword [ebp + 0x84]
jbe 0x534d64
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x534d64
jmp 0x534456
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
movzx ebx, byte [ecx + 3]
movzx edx, byte [ecx + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
lea eax, [ecx + 5]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
jle 0x5360b4
lea esp, [esp]
movzx ecx, byte [edx]
dec ebx
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [esi + 0x98], edi
cmp edi, dword [esi + 0x14]
jge 0x536044
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x53604d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x536020
jmp 0x5360b4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x5360b4
xor eax, eax
cmp edx, 0x72
sete al
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov edx, dword [esi + 0x98]
cmp edx, dword [esi + 0x14]
jge 0x5360a4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x5360a4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x5360ae
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x5360cf
movzx eax, byte [eax + 0x541494]
jmp dword [eax*4 + 0x54148c]
add ecx, 0xffffff9e
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x80], ebx
movsx eax, byte [ecx + 0x5fa3c8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x5fa3d4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x53615d
mov dword [esi + 0x8c], getsockopt
jmp 0x53615d
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x536159
mov dword [esi + 0x8c], getsockopt
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x5334f1
jns 0x536181
cmp dword [esi + 0x90], 0
je 0x5334f1
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x5361bf
mov edi, edi
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00541990
add esp, 0x14
test eax, eax
js 0x5361f1
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x536190
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x5334f1
cmp dword [esp + 0x80], 0
je 0x53621a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x53d602
cmp eax, 0xfffffffe
jne 0x5361fc
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x53a476.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x53a476.14
jmp 0x534a95
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x536230
cmp edi, dword [esi + 0x8c]
jge 0x53d651
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00541990
add esp, 0x14
test eax, eax
js 0x536265
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x536230
cmp eax, 0xfffffffe
jne 0x53d651
cmp dword [ebp + 0x88], 0
je 0x53d651
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x53d651
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53d651
jmp 0x534456
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.00541990
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x536329
cmp eax, 0xfffffffe
jne 0x5362d5
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x53dc2d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x53dc2d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x53dc2d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x53dc2d.14
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x53cd54
add dword [esi + 8], eax
jmp 0x5334ea
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
add dword [esi + 0xc], 0x21
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x536357
movzx eax, byte [eax + 0x5414a4]
jmp dword [eax*4 + 0x54149c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x53637a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x536385
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x5fa3c8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x5fa3d4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x53641c
mov dword [esi + 0x8c], getsockopt
jmp 0x53641c
xor ebx, ebx
cmp cl, 0x69
sete bl
xor eax, eax
cmp cl, 0x6d
mov dword [esp + 0x84], ebx
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x536402
mov dword [esi + 0x8c], getsockopt
add dword [esi + 0xc], 5
jmp 0x53641c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x53657c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x5365d1
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x53652c
test bl, 0x20
jne 0x53647a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x536529
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5364a1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x536527
test bl, 8
jne 0x5364c4
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x536527
test bl, 4
jne 0x5364f3
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x536527
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x53653d
cmp dword [esi + 0x9c], 0x6e
jmp 0x536552
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x536440
jmp 0x5365c3
cmp dword [ebp + 0x88], 0
je case.0x53a476.14
mov eax, dword [esi + 8]
jmp 0x534a95
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x5365ca
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x536567
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.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x536590
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5334ea
test ebx, ebx
je 0x5365fa
test edx, edx
jne 0x540867
mov dword [esi + 0x84], eax
jmp 0x53d6eb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x5367b2
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x53679f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x536777
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x536726
test bl, 0x20
jne 0x53666b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x536726
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x536693
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x53671c
and eax, 0x3f
test bl, 8
jne 0x5366b9
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x53671c
test bl, 4
jne 0x5366e8
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x53671c
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0xff
jbe 0x536737
cmp dword [esi + 0x9c], 0x6e
jmp 0x53674c
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x53679f
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x536621
jmp 0x53679f
cmp dword [ebp + 0x88], 0
je 0x53679f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53679f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
je 0x53e6ac
jmp 0x5334ea
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x53682a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x536802
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 0x53682a
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x5367c1
jmp 0x53682a
cmp dword [ebp + 0x88], 0
je 0x53682a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53682a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
je 0x53d72b
jmp 0x5334ea
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x536875
movzx eax, byte [eax + 0x5414b8]
jmp dword [eax*4 + 0x5414b0]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x536898
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x5368a3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x5fa3c8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x5fa3d4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x53693a
mov dword [esi + 0x8c], getsockopt
jmp 0x53693a
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x84], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x536920
mov dword [esi + 0x8c], getsockopt
add dword [esi + 0xc], 5
jmp 0x53693a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x536a75
jmp 0x536950
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x536a4a
cmp edx, 0xc0
jb 0x536a4a
test dl, 0x20
jne 0x536998
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x536a47
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x5369bf
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x536a45
test dl, 8
jne 0x5369e2
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x536a45
test dl, 4
jne 0x536a11
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x536a45
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.00542fb0
add esp, 0xc
test eax, eax
je case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x536950
jmp 0x536a7c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5334f1
cmp dword [esp + 0x84], 0
jne 0x540878
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x536c0d
jmp 0x536ac0
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x536be3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x536bab
cmp edx, 0xc0
jb 0x536bab
test dl, 0x20
jne 0x536b0c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x536bab
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x536b2b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x536ba1
and eax, 0x3f
test dl, 8
jne 0x536b4b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x536ba1
test dl, 4
jne 0x536b74
and edx, 3
mov ebx, 5
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x536ba1
and edx, ebx
mov ebx, 6
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.00542fb0
add esp, 0xc
test eax, eax
je 0x536c0d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x536ac0
jmp 0x536c0d
cmp dword [ebp + 0x88], 0
je 0x536c06
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x536c06
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x534456
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x5334f1
jmp 0x53e4c1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x536df9
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x536d80
test al, 0x20
jne 0x536c80
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x536d80
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x536cba
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x536d80
test al, 8
jne 0x536cf6
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x536d80
test al, 4
mov eax, dword [esi + 0x80]
jne 0x536d3b
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x536d80
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x536db9
cmp dword [ebp + 0x88], ebx
je case.0x53a476.14
cmp edx, edi
jb case.0x53a476.14
cmp edx, dword [ebp + 0x84]
jbe case.0x53a476.14
jmp 0x534442
test ecx, ecx
jle 0x536dee
lea ecx, [ecx]
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.0x53a476.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x536dc0
dec dword [esi + 0x88]
jmp 0x5334ea
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x536e46
cmp dword [ebp + 0x88], ebx
je 0x533cad
cmp edi, dword [ebp + 0x84]
jbe 0x533cad
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x533cad
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edi, 0xfffffff4
jmp 0x53cd50
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 0x53715b
jmp 0x5342eb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x534b00
cmp dword [esp + 0x8c], ebx
je 0x53713c
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x536fcb
test al, 0x20
jne 0x536ecb
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x536fcb
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x536f05
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x536fcb
test al, 8
jne 0x536f41
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x536fcb
test al, 4
mov eax, dword [esi + 0x80]
jne 0x536f86
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x536fcb
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [esi + 0x80]
mov eax, dword [esi + 8]
cmp edi, 0x80
jae 0x536ff9
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x5342eb
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x5334ea
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x5370db
test bl, 0x20
jne 0x537029
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x5370d8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x537050
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x5370d6
test bl, 8
jne 0x537073
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5370d6
test bl, 4
jne 0x5370a2
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5370d6
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edi, dword [esi + 0x80]
cmp edi, ebx
je 0x5334ea
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5fc6f8]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x537115
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5fe8f8]
mov eax, dword [eax*8 + 0x5fb07c]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x5334f1
jmp 0x5342eb
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 0x5342eb
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x5334ea
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 0x53728d
mov dword [esp + 0x80], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x5371c4
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x5371cf
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x53728d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x537294
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x537294
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x537294
mov ecx, dword [esi + 0xc]
cmp edx, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x84], eax
movsx eax, byte [edx + 0x5fa3c8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x5fa3d4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x53728d
mov dword [esi + 0x8c], getsockopt
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x537708
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 0x5373db
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x5372f1
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x5373db
test bl, 0x10
jne 0x537326
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 0xc]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x5373db
mov ecx, dword [esi + 0xc]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x537364
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 0x5373db
test bl, 4
jne 0x53739d
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 0x5373db
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 0x537717
cmp dword [esi + 0x9c], 0x2e
jb 0x53744c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5fc6f8]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x537423
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5fe8f8]
mov ecx, dword [eax*8 + 0x5fb07c]
add ecx, edi
cmp ecx, edi
je 0x53744c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.00542f50
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x537453
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x537586
jmp 0x537470
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x90], ecx
cmp edi, eax
ja 0x5374f4
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x5374a8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5374b1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x537497
cmp edi, 0xfffffffc
je 0x537568
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5374ea
cmp edi, 0xfffffffd
je 0x537568
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5374ea
cmp edi, 0xfffffffe
je 0x537568
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5374ea
cmp edi, 0xffffffff
je 0x537568
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x537568
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x5361fc
sub ecx, ebx
cmp edi, ecx
ja 0x5361fc
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x537526
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x53752b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x537515
cmp edi, 0xfffffffc
je 0x537568
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5361fc
cmp edi, 0xfffffffd
je 0x537568
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5361fc
cmp edi, 0xfffffffe
je 0x537568
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5361fc
cmp edi, 0xffffffff
je 0x537568
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5361fc
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x537470
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x5334f1
cmp dword [esp + 0x84], 0
jne 0x540889
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x5376f5
lea esp, [esp]
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x84], ecx
cmp edi, eax
ja 0x53764c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x537608
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x537611
add ecx, 4
add edx, 4
sub edi, 4
jae 0x5375f7
cmp edi, 0xfffffffc
je 0x5376a8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x537642
cmp edi, 0xfffffffd
je 0x5376a8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x537642
cmp edi, 0xfffffffe
je 0x5376a8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x537642
cmp edi, 0xffffffff
je 0x5376a8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x5376a8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x5376c8
sub ecx, ebx
cmp edi, ecx
ja 0x5376c8
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x537676
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x53767b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x537665
cmp edi, 0xfffffffc
je 0x5376a8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5376c8
cmp edi, 0xfffffffd
je 0x5376a8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5376c8
cmp edi, 0xfffffffe
je 0x5376a8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5376c8
cmp edi, 0xffffffff
je 0x5376a8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5376c8
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x5375d0
jmp 0x5376f5
cmp dword [ebp + 0x88], 0
je 0x5376f5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x5376f5
cmp eax, dword [ebp + 0x84]
jbe 0x5376f5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
je 0x53e86c
jmp 0x5334ea
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x53780f
mov ecx, dword [ebp + 0x3c]
mov edx, 1
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x90], edx
jl 0x537774
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x536567
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x537767
cmp dword [esi + 0x94], ecx
jne case.0x53a476.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x537744
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5334ea
cmp dword [esp + 0x84], 0
je 0x53779b
mov dword [esi + 0x84], eax
jmp 0x53d7cb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x537802
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x5377da
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x5377cb
cmp dword [esi + 0x94], ecx
jne 0x537802
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x5377b0
jmp 0x537802
cmp dword [ebp + 0x88], 0
je 0x537802
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x537802
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
test edi, edi
je 0x53d80b
jmp 0x5334ea
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x53784a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x537820
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x5334f1
cmp dword [esp + 0x84], 0
je 0x537878
mov dword [esi + 0x84], eax
jmp 0x53d898
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x5378dc
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x5378b4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x5378dc
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x537890
jmp 0x5378dc
cmp dword [ebp + 0x88], 0
je 0x5378dc
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x5378dc
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
je 0x53d8d8
jmp 0x5334f1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x537914
cmp dword [ebp + 0x88], ebx
je case.0x53a476.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x53a476.14
jmp 0x534442
test edi, edi
je 0x537b8c
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 0xc], edx
cmp ebx, 0xc0
jb 0x537a15
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x537952
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x537a12
test bl, 0x10
jne 0x537973
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x537a12
test bl, 8
jne 0x53799e
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [edx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 0xc], 3
jmp 0x537a15
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x5379d7
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x537a12
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esp + 0x80], edx
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x537b08
test dl, 0x20
jne 0x537a4f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x537afe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x537a76
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x537afc
test dl, 8
jne 0x537a99
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x537afc
test dl, 4
jne 0x537ac8
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x537afc
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esp + 0x80], edx
mov dword [esi + 8], eax
cmp dword [esi + 0x9c], 0x1f
jne 0x537b25
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x5334f1
jmp 0x5342eb
cmp ebx, 0x7f
jbe 0x537b62
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5fc6f8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x537b4d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5fe8f8]
mov ecx, dword [eax*8 + 0x5fb07c]
add ecx, ebx
jmp 0x537b69
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x5342eb
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x5334f1
jmp 0x5342eb
mov eax, dword [esi + 0xc]
movzx edi, byte [ecx]
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x53a476.14
cmp dword [esi + 0x9c], 0x20
jne 0x53715b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x53a476.14
add dword [esi + 0xc], 2
jmp 0x5334ea
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 0x537d26
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 0x537c2b
cmp al, 0x4f
je 0x537c2b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x537d26
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x537d26
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x537d26
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x537d26
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x537d26
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x537d26
mov ecx, dword [esi + 0xc]
cmp edx, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x48
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x84], ebx
movsx eax, byte [edx + 0x5fa3c8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x5fa3d4]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x537d26
mov dword [esi + 0x8c], getsockopt
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
mov edi, dword [esi + 0xc]
test edx, edx
je 0x537e81
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x537e81
test al, 0x20
jne 0x537d78
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x537e81
test al, 0x10
jne 0x537dab
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x537e81
test al, 8
jne 0x537ded
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x537e81
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x537e38
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 4
jmp 0x537e7a
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 5
mov edx, dword [esp + 0x8c]
cmp dword [esi + 0x9c], 0x48
jb 0x5382a5
test edx, edx
je 0x537edc
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x537edc
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5fc6f8]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x537ec0
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x5fe8f8]
mov eax, dword [eax*8 + 0x5fb07c]
add eax, edi
jmp 0x537ee9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x538030
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x53807b
jmp 0x537f10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x538009
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x537f4a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x538006
test cl, 0x10
jne 0x537f6b
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 0x538006
test cl, 8
jne 0x537f95
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 0x538006
test cl, 4
jne 0x537fcb
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 0x538006
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x53a476.14
cmp dword [esi + 0x94], ecx
je case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x537f10
jmp 0x538074
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x538074
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x536567
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x53a476.14
cmp dword [esi + 0x94], ecx
je case.0x53a476.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x538040
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5334ea
test ebx, ebx
je 0x5380a4
test edx, edx
jne 0x54089a
mov dword [esi + 0x84], eax
jmp 0x53d96f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x53822d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53821a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x5381f2
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x5381ce
test dl, 0x20
jne 0x538102
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x5381ce
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x53812c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x5381cc
test dl, 8
jne 0x538158
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x5381cc
test dl, 4
jne 0x538190
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x5381cc
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x53821a
cmp dword [esi + 0x94], edx
je 0x53821a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x5380c4
jmp 0x53821a
cmp dword [ebp + 0x88], 0
je 0x53821a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53821a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
je 0x53ea4c
jmp 0x5334ea
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x538292
jmp 0x538240
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53826a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x538292
cmp dword [esi + 0x94], ecx
je 0x538292
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x538240
jmp 0x538292
cmp dword [ebp + 0x88], 0
je 0x538292
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x538292
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
je 0x53d9af
jmp 0x5334ea
test edx, edx
je 0x5383c7
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x538405
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x5383ac
test dl, 0x20
jne 0x5382fa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x5383a9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x538321
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x5383a7
test dl, 8
jne 0x538344
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x5383a7
test dl, 4
jne 0x538373
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x5383a7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5382c0
jmp 0x5383fe
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x538405
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x5383d4
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5334ea
cmp dword [esp + 0x84], 0
je 0x538434
test edx, edx
jne 0x5408af
mov dword [esi + 0x84], eax
jmp 0x53da3c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x5385b8
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x5385a5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x53857d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x538561
test dl, 0x20
jne 0x538492
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x538561
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x5384bc
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x53855f
test dl, 8
jne 0x5384eb
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x53855f
test dl, 4
jne 0x538523
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x53855f
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x5385a5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x538454
jmp 0x5385a5
cmp dword [ebp + 0x88], 0
je 0x5385a5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x5385a5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
je 0x53ec10
jmp 0x5334ea
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x538612
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x5385ea
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x538612
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x5385c6
jmp 0x538612
cmp dword [ebp + 0x88], 0
je 0x538612
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x538612
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
je 0x53da7c
jmp 0x5334ea
mov eax, dword [esi + 0xc]
mov dword [esp + 0x84], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x538764
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x84], edx
mov dword [esi + 0xc], eax
jmp 0x538764
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x538764
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x538764
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x538764
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x538764
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x5fa373]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x5fa37f]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x538764
mov dword [esi + 0x8c], getsockopt
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 0x538786
cmp ecx, 0xf
je 0x538786
mov dword [esi + 0x60], 0xffffffff
jmp 0x5387a9
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x53a74b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x539558
cmp eax, 0xa
ja case.default.0x535a6a
jmp dword [eax*4 + 0x5414c4]
cmp dword [esi + 0x68], ebx
jne 0x5342eb
mov edx, 1
cmp ecx, edx
jl 0x53a74b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x53882f
cmp ecx, 0xc0
jb 0x53882f
test cl, 0x20
jne 0x53880b
inc eax
jmp 0x53882c
test cl, 0x10
jne 0x538815
add eax, 2
jmp 0x53882c
test cl, 8
jne 0x53881f
add eax, 3
jmp 0x53882c
test cl, 4
jne 0x538829
add eax, 4
jmp 0x53882c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x5387e8
jmp 0x53a74b
cmp dword [ebp + 0x88], ebx
je case.0x53a476.14
mov eax, dword [esi + 8]
jmp 0x534a95
mov edi, 1
cmp ecx, edi
jl 0x53a74b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x53895a
cmp ebx, 0xc0
jb 0x53895a
test bl, 0x20
jne 0x5388a8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x538957
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5388cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x538955
test bl, 8
jne 0x5388f2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x538955
test bl, 4
jne 0x538921
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x538955
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53897c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
cmp eax, 9
je 0x5389a1
cmp eax, 5
je 0x5389a1
cmp eax, 8
je 0x5389a1
xor eax, eax
jmp 0x5389a6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x538860
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a74b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x538ac8
cmp ebx, 0xc0
jb 0x538ac8
test bl, 0x20
jne 0x538a18
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x538ac5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x538a3f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x538ac5
test bl, 8
jne 0x538a62
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x538ac5
test bl, 4
jne 0x538a91
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x538ac5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x538aea
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x5389d0
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a74b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x538c2b
cmp ebx, 0xc0
jb 0x538c2b
test bl, 0x20
jne 0x538b7b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x538c28
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x538ba2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x538c28
test bl, 8
jne 0x538bc5
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x538c28
test bl, 4
jne 0x538bf4
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x538c28
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x538c4d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x538b33
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a74b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x538d88
cmp ebx, 0xc0
jb 0x538d88
test bl, 0x20
jne 0x538cd8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x538d85
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x538cff
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x538d85
test bl, 8
jne 0x538d22
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x538d85
test bl, 4
jne 0x538d51
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x538d85
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x538daa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb078]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x538c90
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a74b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x538eea
cmp ebx, 0xc0
jb 0x538eea
test bl, 0x20
jne 0x538e38
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x538ee7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x538e5f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x538ee5
test bl, 8
jne 0x538e82
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x538ee5
test bl, 4
jne 0x538eb1
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x538ee5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x538f0c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x538f33
cmp eax, 3
je 0x538f33
xor eax, eax
jmp 0x538f38
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x538df0
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a74b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x53905a
cmp ebx, 0xc0
jb 0x53905a
test bl, 0x20
jne 0x538fa8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x539057
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x538fcf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x539055
test bl, 8
jne 0x538ff2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x539055
test bl, 4
jne 0x539021
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x539055
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x53909d
je case.0x5390b9.8192
cmp ebx, 0x85
ja 0x539089
je case.0x5390b9.8192
cmp ebx, 9
jb case.0x5390b9.8203
cmp ebx, 0xd
jbe case.0x5390b9.8192
cmp ebx, 0x20
jmp 0x5390ce
cmp ebx, 0xa0
je case.0x5390b9.8192
cmp ebx, 0x1680
jmp 0x5390ce
cmp ebx, 0x202f
ja 0x5390c0
je case.0x5390b9.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x5390b9.8203
movzx eax, byte [eax + 0x5414f8]
jmp dword [eax*4 + 0x5414f0]
cmp ebx, 0x205f
je case.0x5390b9.8192
cmp ebx, 0x3000
je case.0x5390b9.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x5390f2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
cmp dword [eax*4 + 0x5fae88], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x53a476.14
jmp 0x539126
cmp dword [esi + 0x68], 0
jne case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x538f60
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a74b
jmp 0x539150
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x539248
cmp ebx, 0xc0
jb 0x539248
test bl, 0x20
jne 0x539198
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x539245
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5391bf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x539245
test bl, 8
jne 0x5391e2
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x539245
test bl, 4
jne 0x539211
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x539245
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5fc6f8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x53926b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x539297
cmp eax, 3
je 0x539297
cmp ebx, 0x5f
je 0x539297
xor eax, eax
jmp 0x53929c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x53a476.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x539150
jmp 0x53a74b
mov ebx, 1
cmp ecx, ebx
jl 0x53a74b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x5393bc
cmp edx, 0xc0
jb 0x5393bc
test dl, 0x20
jne 0x53930c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x5393b9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x539333
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x5393b9
test dl, 8
jne 0x539356
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 0x5393b9
test dl, 4
jne 0x539385
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 0x5393b9
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x5faf38]
lea eax, [eax*4 + 0x5faf38]
cmp edx, ecx
jb 0x5393de
lea eax, [eax + 4]
cmp edx, ecx
je 0x5393fa
mov ecx, dword [eax]
cmp edx, ecx
jae 0x5393d1
cmp dword [esi + 0x68], 0
je case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5392c4
jmp 0x53a74b
cmp dword [esi + 0x68], 0
jne case.0x53a476.14
jmp 0x5393e8
mov ebx, 1
cmp ecx, ebx
jl 0x53a74b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x53950d
cmp edx, 0xc0
jb 0x53950d
test dl, 0x20
jne 0x53945b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x53950a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x539482
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x539508
test dl, 8
jne 0x5394a5
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x539508
test dl, 4
jne 0x5394d4
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x539508
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x24
je 0x539538
cmp edx, 0x40
je 0x539538
cmp edx, 0x60
je 0x539538
cmp edx, 0xa0
jb 0x53952c
cmp edx, 0xd7ff
jbe 0x539538
cmp edx, 0xe000
jae 0x539538
xor eax, eax
jmp 0x53953d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x539413
jmp 0x53a74b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x539883
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x53a74b
jmp 0x539580
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x536567
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x539680
cmp ebx, 0xc0
jb 0x539680
test bl, 0x20
jne 0x5395c9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x53967d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5395f0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x539676
test bl, 8
jne 0x539613
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x539676
test bl, 4
jne 0x539642
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x539676
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x5396a2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb07a]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53983d
jmp 0x5396d0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x5397ce
cmp ebx, 0xc0
jb 0x5397ce
test bl, 0x20
jne 0x539705
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x5397c6
test bl, 0x10
jne 0x53972a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x5397c6
test bl, 8
jne 0x539758
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x5397c6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x539792
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x5397c6
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x5397f0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx ecx, byte [eax*8 + 0x5fb07a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5faf00], eax
je 0x539836
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x5396d0
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x53986a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x53986a
cmp eax, dword [ebp + 0x84]
jbe 0x53986a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x539580
jmp 0x53a74b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x53a34f
cmp eax, 0xf
ja case.0x53c897.9
jmp dword [eax*4 + 0x541524]
mov ebx, 1
cmp ecx, ebx
jl 0x53a752
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x536567
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x5398e7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00543620
add esp, 0x14
test eax, eax
jne case.0x53a476.14
jmp 0x53990b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x53990b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x53990b
cmp edx, 1
je case.0x53a476.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x53a476.14
cmp dword [ebp + 0x88], 0
je 0x539946
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x539946
cmp dword [ebp + 0x18], 0
jne 0x539946
cmp dword [edi], 2
jne 0x539946
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x539946
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x539962
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x539962
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x539951
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5398b2
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x53883d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x5399b8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x5399b8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x5399a0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x539984
jmp 0x53a74b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x5342eb
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x53a74b
mov ebx, 1
cmp ecx, ebx
jl 0x53a752
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x539adc
test dl, 0x20
jne 0x539a2a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x539ad9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x539a51
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x539ad7
test dl, 8
jne 0x539a74
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x539ad7
test dl, 4
jne 0x539aa3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x539ad7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0xd
ja 0x539b00
je 0x539aed
cmp edx, 0xa
je 0x539b21
lea eax, [edx - 0xb]
jmp 0x539b0e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x539b21
cmp byte [eax], 0xa
jne 0x539b21
inc eax
mov dword [esi + 8], eax
jmp 0x539b21
cmp edx, 0x85
je 0x539b17
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x53a476.14
cmp dword [ebp + 0x68], 0
jne case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5399f0
jmp 0x53a74b
mov ebx, 1
cmp ecx, ebx
jl 0x53a752
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x539c2c
test dl, 0x20
jne 0x539b7a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x539c29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x539ba1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x539c27
test dl, 8
jne 0x539bc4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x539c27
test dl, 4
jne 0x539bf3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x539c27
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x539c5e
je case.0x53a476.14
cmp edx, 0xa0
ja 0x539c56
je case.0x53a476.14
cmp edx, 9
je case.0x53a476.14
cmp edx, 0x20
jmp 0x539c8e
cmp edx, 0x1680
jmp 0x539c8e
cmp edx, 0x205f
ja 0x539c88
je case.0x53a476.14
cmp edx, 0x2000
jb 0x539c94
cmp edx, 0x200a
jbe case.0x53a476.14
cmp edx, 0x202f
jmp 0x539c8e
cmp edx, 0x3000
je case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x539b40
jmp 0x53a74b
mov ebx, 1
cmp ecx, ebx
jl 0x53a752
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x539d9f
test dl, 0x20
jne 0x539ced
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x539d9c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x539d14
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x539d9a
test dl, 8
jne 0x539d37
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x539d9a
test dl, 4
jne 0x539d66
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x539d9a
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x539dc5
je 0x539df7
cmp edx, 0xa0
ja 0x539dbd
je 0x539df7
cmp edx, 9
je 0x539df7
cmp edx, 0x20
jmp 0x539df1
cmp edx, 0x1680
jmp 0x539df1
cmp edx, 0x205f
ja 0x539deb
je 0x539df7
cmp edx, 0x2000
jb case.0x53a476.14
cmp edx, 0x200a
jbe 0x539df7
cmp edx, 0x202f
jmp 0x539df1
cmp edx, 0x3000
jne case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x539cb3
jmp 0x53a74b
mov ebx, 1
cmp ecx, ebx
jl 0x53a752
jmp 0x539e20
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x539f0c
test dl, 0x20
jne 0x539e5a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x539f09
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x539e81
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x539f07
test dl, 8
jne 0x539ea4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x539f07
test dl, 4
jne 0x539ed3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x539f07
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x539f24
je case.0x53a476.14
cmp edx, 0xa
jb 0x539f38
cmp edx, 0xd
jmp 0x539f32
cmp edx, 0x2028
jb 0x539f38
cmp edx, 0x2029
jbe case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x539e20
jmp 0x53a74b
mov ebx, 1
cmp ecx, ebx
jl 0x53a752
jmp 0x539f60
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x53a04c
test dl, 0x20
jne 0x539f9a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x53a049
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x539fc1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x53a047
test dl, 8
jne 0x539fe4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x53a047
test dl, 4
jne 0x53a013
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x53a047
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x53a05e
je 0x53a06d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x53a067
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x539f60
jmp 0x53a74b
mov ebx, 1
cmp ecx, ebx
jl 0x53a752
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x536567
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x53a17c
test dl, 0x20
jne 0x53a0ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x53a179
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x53a0f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x53a177
test dl, 8
jne 0x53a114
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x53a177
test dl, 4
jne 0x53a143
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x53a177
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x80
jae 0x53a191
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x53a476.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x53a090
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53883d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x53a476.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x53a476.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x53a1b0
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x53883d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x53a223
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x53a476.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x53a248
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53a248
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x53a230
inc edi
cmp edi, dword [esi + 0x90]
jle 0x53a200
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53883d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x53a476.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x53a476.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x53a263
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x53883d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x53a2d3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x53a476.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x53a2f8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53a2f8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x53a2e0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x53a2b0
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53883d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x53a476.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x53a476.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x53a313
jmp 0x53a74b
cmp eax, 0xf
ja case.0x53c897.9
jmp dword [eax*4 + 0x541564]
mov ebx, 1
cmp ecx, ebx
jl 0x53a752
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x536567
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x53a3a0
push 0
push edi
push eax
push edx
push ecx
call fcn.00543620
add esp, 0x14
test eax, eax
jne case.0x53a476.14
jmp 0x53a3c4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x53a3c4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x53a3c4
cmp edx, 1
je case.0x53a476.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x53a476.14
cmp dword [ebp + 0x88], 0
je 0x53a3ff
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x53a3ff
cmp dword [ebp + 0x18], 0
jne 0x53a3ff
cmp dword [edi], 2
jne 0x53a3ff
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x53a3ff
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x53a370
jmp 0x53a74b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x5399d6
cmp dword [ebp + 0x88], ebx
je case.0x53a476.14
cmp edx, dword [ebp + 0x84]
jbe case.0x53a476.14
jmp 0x534442
mov edx, 1
cmp ecx, edx
jl 0x53a74b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53883d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x53a476.14
movzx eax, byte [eax + 0x5415b4]
jmp dword [eax*4 + 0x5415a4]
cmp ecx, dword [ebp + 0x78]
jae case.0x53a476.10
cmp byte [ecx], 0xa
jne case.0x53a476.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x53a476.10
cmp dword [ebp + 0x68], ebx
jne case.0x53a476.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x53a450
jmp 0x53a74b
mov edx, 1
cmp ecx, edx
jl 0x53a74b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x53a476.14
cmp ecx, 0x20
je case.0x53a476.14
cmp ecx, 0xa0
je case.0x53a476.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x53a4b3
jmp 0x53a74b
mov edx, 1
cmp ecx, edx
jl 0x53a74b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x53a529
cmp ecx, 0x20
je 0x53a529
cmp ecx, 0xa0
jne case.0x53a476.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x53a500
jmp 0x53a74b
mov edx, 1
cmp ecx, edx
jl 0x53a74b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x53a571
cmp ecx, 0xd
jle case.0x53a476.14
cmp ecx, 0x85
je case.0x53a476.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x53a544
jmp 0x53a74b
mov edx, 1
cmp ecx, edx
jl 0x53a74b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x53a476.14
cmp ecx, 0xd
jle 0x53a5bd
cmp ecx, 0x85
jne case.0x53a476.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x53a590
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
jmp 0x53a5e0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x53a476.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x53a5e0
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x53a476.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x53a620
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x53a476.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x53a660
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x53a476.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x53a6a0
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
jmp 0x53a6e0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x53a476.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x53a6e0
jmp 0x53a74b
mov edi, 1
cmp ecx, edi
jl 0x53a752
jmp 0x53a720
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53883d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x53a476.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x53a720
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x5334ea
cmp dword [esp + 0x84], 0
je 0x53a7b2
mov eax, dword [esi + 0x60]
test eax, eax
js 0x53a795
cmp eax, 0xa
ja case.0x53c897.9
jmp dword [eax*4 + 0x541630]
mov esi, dword [esi]
test esi, esi
je case.default.0x53cd64
mov edi, 0xfffffff2
jmp 0x53cd50
cmp dword [esi + 0x7c], 0x16
je 0x540983
test edx, edx
jne 0x54096e
mov dword [esi + 0x84], ecx
jmp 0x53dbe5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x53b7eb
cmp eax, 0xa
ja case.0x53c897.9
jmp dword [eax*4 + 0x54165c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x53b7d8
mov ebx, dword [esp + 0x8c]
jmp 0x53a7f0
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x53a85b
movzx ecx, byte [edx]
test ebx, ebx
je 0x53a83e
cmp ecx, 0xc0
jb 0x53a83e
test cl, 0x20
jne 0x53a818
mov eax, 2
jmp 0x53a83e
test cl, 0x10
jne 0x53a824
mov eax, 3
jmp 0x53a83e
test cl, 8
jne 0x53a830
mov eax, 4
jmp 0x53a83e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x53b7d8
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x53a7f0
jmp 0x53b7d8
cmp dword [ebp + 0x88], 0
je 0x53b7d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53b7d8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53b7d8
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x53cd50
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x53b7d8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53aa1e
movzx ebx, byte [edi]
test edx, edx
je 0x53a99c
cmp ebx, 0xc0
jb 0x53a99c
test bl, 0x20
jne 0x53a8fe
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x53a994
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53a91d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x53a994
and eax, 0x3f
test bl, 8
jne 0x53a93d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x53a994
test bl, 4
jne 0x53a966
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x53a994
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53a9be
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
cmp eax, 9
je 0x53a9e3
cmp eax, 5
je 0x53a9e3
cmp eax, 8
je 0x53a9e3
xor eax, eax
jmp 0x53a9e8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x53b7d8
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x53a8c0
jmp 0x53b7d8
cmp dword [ebp + 0x88], 0
je 0x53b7d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53b7d8
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x53b7d8
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edi, 0xfffffff4
jmp 0x53cd50
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x53b7d8
jmp 0x53aa80
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x53ac02
movzx ebx, byte [edi]
test edx, edx
je 0x53ab83
cmp ebx, 0xc0
jb 0x53ab83
test bl, 0x20
jne 0x53aaca
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x53ab7b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53aaf2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x53ab7b
and eax, 0x3f
test bl, 8
jne 0x53ab18
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x53ab7b
test bl, 4
jne 0x53ab47
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x53ab7b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53aba5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x53b7d8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x53aa80
jmp 0x53b7d8
cmp dword [ebp + 0x88], 0
je 0x53b7d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53b7d8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x53aa43
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x53b7d8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x53ac02
movzx ebx, byte [edi]
test edx, edx
je 0x53ad4f
cmp ebx, 0xc0
jb 0x53ad4f
test bl, 0x20
jne 0x53ac96
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x53ad47
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53acbe
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x53ad47
and eax, 0x3f
test bl, 8
jne 0x53ace4
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x53ad47
test bl, 4
jne 0x53ad13
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x53ad47
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53ad71
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x53b7d8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x53ac50
jmp 0x53b7d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x53b7d8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x53ac02
movzx ebx, byte [edi]
test edx, edx
je 0x53aee3
cmp ebx, 0xc0
jb 0x53aee3
test bl, 0x20
jne 0x53ae2a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x53aedb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53ae52
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x53aedb
and eax, 0x3f
test bl, 8
jne 0x53ae78
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x53aedb
test bl, 4
jne 0x53aea7
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x53aedb
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53af05
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb078]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x53b7d8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x53ade0
jmp 0x53b7d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x53b7d8
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53aa1e
movzx ebx, byte [edi]
test edx, edx
je 0x53b053
cmp ebx, 0xc0
jb 0x53b053
test bl, 0x20
jne 0x53afb2
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x53b04b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53afd4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x53b04b
and eax, 0x3f
test bl, 8
jne 0x53aff4
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x53b04b
test bl, 4
jne 0x53b01d
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x53b04b
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53b075
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x53b09c
cmp eax, 3
je 0x53b09c
xor eax, eax
jmp 0x53b0a1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x53b7d8
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x53af74
jmp 0x53b7d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x53b7d8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x53ac02
movzx ebx, byte [edi]
test edx, edx
je 0x53b1fd
cmp ebx, 0xc0
jb 0x53b1fd
test bl, 0x20
jne 0x53b142
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x53b1fd
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53b16a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x53b1f3
and eax, 0x3f
test bl, 8
jne 0x53b190
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x53b1f3
test bl, 4
jne 0x53b1bf
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x53b1f3
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0x180e
ja 0x53b240
je case.0x53b260.8192
cmp ebx, 0x85
ja 0x53b22c
je case.0x53b260.8192
cmp ebx, 9
jb case.0x53b260.8203
cmp ebx, 0xd
jbe case.0x53b260.8192
cmp ebx, 0x20
jmp 0x53b275
cmp ebx, 0xa0
je case.0x53b260.8192
cmp ebx, 0x1680
jmp 0x53b275
cmp ebx, 0x202f
ja 0x53b267
je case.0x53b260.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x53b260.8203
movzx eax, byte [eax + 0x541690]
jmp dword [eax*4 + 0x541688]
cmp ebx, 0x205f
je case.0x53b260.8192
cmp ebx, 0x3000
je case.0x53b260.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53b299
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
cmp dword [eax*4 + 0x5fae88], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x53b7d8
mov edx, dword [esp + 0x8c]
jmp 0x53b2d4
cmp dword [esi + 0x68], 0
jne 0x53b7d8
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x53b0f0
jmp 0x53b7d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x53b7d8
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x53ac02
movzx ebx, byte [edi]
test edx, edx
je 0x53b423
cmp ebx, 0xc0
jb 0x53b423
test bl, 0x20
jne 0x53b36a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x53b41b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53b392
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x53b41b
and eax, 0x3f
test bl, 8
jne 0x53b3b8
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x53b41b
test bl, 4
jne 0x53b3e7
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x53b41b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5fc6f8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x53b446
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x53b472
cmp eax, 3
je 0x53b472
cmp ebx, 0x5f
je 0x53b472
xor eax, eax
jmp 0x53b477
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x53b7d8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x53b320
jmp 0x53b7d8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x53b7d8
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53b60f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x53b5b1
cmp edx, 0xc0
jb 0x53b5b1
test dl, 0x20
jne 0x53b514
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x53b5a9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x53b533
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x53b5a9
and eax, 0x3f
test dl, 8
jne 0x53b553
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53b5a9
test dl, 4
jne 0x53b57c
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 0x53b5a9
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x5faf38]
lea eax, [eax*4 + 0x5faf38]
cmp edx, ecx
jb 0x53b5d3
lea eax, [eax + 4]
cmp edx, ecx
je 0x53b603
mov ecx, dword [eax]
cmp edx, ecx
jae 0x53b5c6
cmp dword [esi + 0x68], 0
je 0x53b7d8
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x53b4d0
jmp 0x53b7d8
cmp dword [esi + 0x68], 0
jne 0x53b7d8
jmp 0x53b5dd
cmp dword [ebp + 0x88], 0
je 0x53b7d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53b7d8
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x53b7d8
jmp 0x534456
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53b7d8
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x53b7b0
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x53b767
cmp edx, 0xc0
jb 0x53b767
test dl, 0x20
jne 0x53b69d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x53b767
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x53b6c7
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x53b767
test dl, 8
jne 0x53b6f3
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x53b767
test dl, 4
jne 0x53b72b
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x53b767
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0x24
je 0x53b792
cmp edx, 0x40
je 0x53b792
cmp edx, 0x60
je 0x53b792
cmp edx, 0xa0
jb 0x53b786
cmp edx, 0xd7ff
jbe 0x53b792
cmp edx, 0xe000
jae 0x53b792
xor ecx, ecx
jmp 0x53b797
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x53b7d8
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x53b651
jmp 0x53b7d8
cmp dword [ebp + 0x88], 0
je 0x53b7d8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53b7d8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
je 0x53fc8c
jmp 0x5334ea
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x53bb87
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x53bb38
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53bb10
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x53b910
cmp ebx, 0xc0
jb 0x53b910
test bl, 0x20
jne 0x53b859
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x53b90d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53b880
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x53b906
test bl, 8
jne 0x53b8a3
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x53b906
test bl, 4
jne 0x53b8d2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x53b906
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53b932
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb07a]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53bacd
jmp 0x53b960
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x53ba5e
cmp ebx, 0xc0
jb 0x53ba5e
test bl, 0x20
jne 0x53b995
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x53ba56
test bl, 0x10
jne 0x53b9ba
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x53ba56
test bl, 8
jne 0x53b9e8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x53ba56
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x53ba22
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x53ba56
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53ba80
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx ecx, byte [eax*8 + 0x5fb07a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5faf00], eax
je 0x53bac6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x53b960
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x53bafa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x53bafa
cmp eax, dword [ebp + 0x84]
jbe 0x53bafa
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x53b810
jmp 0x53bb38
cmp dword [ebp + 0x88], 0
je 0x53bb38
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53bb38
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
cmp dword [esp + 0x80], 0
jne 0x5334ea
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5410b5
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5410ab
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
add eax, 0xfffffffa
test edx, edx
je 0x53c88e
cmp eax, 0xf
ja case.0x53c897.9
jmp dword [eax*4 + 0x5416bc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x53bc76
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x53bbe9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00543620
add esp, 0x14
test eax, eax
jne 0x53c87b
jmp 0x53bc0d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x53bc0d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x53bc0d
cmp edx, 1
je 0x53c87b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x53c87b
cmp dword [ebp + 0x88], 0
je 0x53bc48
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x53bc48
cmp dword [ebp + 0x18], 0
jne 0x53bc48
cmp dword [edi], 2
jne 0x53bc48
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x53bc48
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53bc64
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53bc64
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x53bc53
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x53bbb4
jmp 0x53c87b
cmp dword [ebp + 0x88], 0
je 0x53c87b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53c87b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53c87b
jmp 0x534456
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x53bd08
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x53c87b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x53bc76
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x53bcfa
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53bcfa
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x53bce2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x53bcd0
jmp 0x53c87b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x53c87b
cmp eax, dword [ebp + 0x84]
jbe 0x53c87b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53c87b
jmp 0x53aa49
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 0x53bd8f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x53c87b
cmp edx, dword [ebp + 0x84]
jbe 0x53c87b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53c87b
jmp 0x534456
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x53c87b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x53bc76
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x53beba
test dl, 0x20
jne 0x53bdee
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x53beba
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x53be18
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x53beb8
test dl, 8
jne 0x53be44
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x53beb8
test dl, 4
jne 0x53be7c
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x53beb8
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp edx, 0xd
jne 0x53bed6
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x53c87b
cmp byte [eax], 0xa
jne 0x53bf10
inc eax
jmp 0x53bf0d
cmp edx, 0xa
je 0x53bf0b
cmp dword [ebp + 0x68], 0
jne 0x53c87b
cmp edx, 0xb
je 0x53bf0b
cmp edx, 0xc
je 0x53bf0b
cmp edx, 0x85
je 0x53bf0b
cmp edx, 0x2028
je 0x53bf0b
cmp edx, 0x2029
jne 0x53c87b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x53bdb0
jmp 0x53c87b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53c08a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x53c008
test dl, 0x20
jne 0x53bf6a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53c000
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x53bf89
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53c000
and eax, 0x3f
test dl, 8
jne 0x53bfa9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53c000
test dl, 4
jne 0x53bfd2
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 0x53c000
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x53c02e
je 0x53c05c
cmp edx, 0xa0
ja 0x53c026
je 0x53c05c
cmp edx, 9
je 0x53c05c
cmp edx, 0x20
jmp 0x53c056
cmp edx, 0x1680
jmp 0x53c056
cmp edx, 0x205f
ja 0x53c050
je 0x53c05c
cmp edx, 0x2000
jb 0x53c058
cmp edx, 0x200a
jbe 0x53c05c
cmp edx, 0x202f
jmp 0x53c056
cmp edx, 0x3000
je 0x53c05c
xor edx, edx
jmp 0x53c061
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x53c87b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x53bf34
jmp 0x53c87b
cmp dword [ebp + 0x88], 0
je 0x53c87b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53c87b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x53c87b
jmp 0x534456
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53c08a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x53c1a0
test dl, 0x20
jne 0x53c102
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53c198
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x53c121
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53c198
and eax, 0x3f
test dl, 8
jne 0x53c141
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53c198
test dl, 4
jne 0x53c16a
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 0x53c198
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x53c1df
je 0x53c1ea
cmp edx, 0xa
jb 0x53c1b4
cmp edx, 0xd
jbe 0x53c1ea
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x53c87b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x53c0d0
jmp 0x53c87b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x53c1b4
mov edx, 1
jmp 0x53c1b6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53c08a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x53c2d7
test dl, 0x20
jne 0x53c239
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53c2cf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x53c258
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53c2cf
and eax, 0x3f
test dl, 8
jne 0x53c278
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53c2cf
test dl, 4
jne 0x53c2a1
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 0x53c2cf
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x53c2ec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x53c87b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x53c203
jmp 0x53c87b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
jmp 0x53c320
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53c08a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x53c3f4
test dl, 0x20
jne 0x53c356
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53c3ec
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x53c375
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53c3ec
and eax, 0x3f
test dl, 8
jne 0x53c395
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53c3ec
test dl, 4
jne 0x53c3be
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 0x53c3ec
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x53c87b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x53c87b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x53c320
jmp 0x53c87b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
jmp 0x53c440
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53c08a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x53c514
test dl, 0x20
jne 0x53c476
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53c50c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x53c495
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53c50c
and eax, 0x3f
test dl, 8
jne 0x53c4b5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53c50c
test dl, 4
jne 0x53c4de
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 0x53c50c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x53c529
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x53c87b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x53c440
jmp 0x53c87b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53c08a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x53c627
test dl, 0x20
jne 0x53c589
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53c61f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x53c5a8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53c61f
and eax, 0x3f
test dl, 8
jne 0x53c5c8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53c61f
test dl, 4
jne 0x53c5f1
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 0x53c61f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x53c87b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x53c87b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x53c553
jmp 0x53c87b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53c08a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x53c744
test dl, 0x20
jne 0x53c6a6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53c73c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x53c6c5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53c73c
and eax, 0x3f
test dl, 8
jne 0x53c6e5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53c73c
test dl, 4
jne 0x53c70e
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 0x53c73c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x53c759
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x53c87b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x53c670
jmp 0x53c87b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53c87b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53c08a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x53c857
test dl, 0x20
jne 0x53c7b9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53c84f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x53c7d8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53c84f
and eax, 0x3f
test dl, 8
jne 0x53c7f8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53c84f
test dl, 4
jne 0x53c821
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 0x53c84f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x53c87b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x53c87b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x53c783
cmp dword [esp + 0x80], 0
je 0x53f148
jmp 0x5334ea
cmp eax, 0xf
ja case.0x53c897.9
jmp dword [eax*4 + 0x5416fc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53cd27
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x53c954
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x53c8e0
push 0
push edi
push eax
push edx
push ecx
call fcn.00543620
add esp, 0x14
test eax, eax
jne 0x53cd27
jmp 0x53c904
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x53c904
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x53c904
cmp edx, 1
je 0x53cd27
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x53cd27
cmp dword [ebp + 0x88], 0
je 0x53c93f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x53c93f
cmp dword [ebp + 0x18], 0
jne 0x53c93f
cmp dword [edi], 2
jne 0x53c93f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x53c93f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x53c8b0
jmp 0x53cd27
cmp dword [ebp + 0x88], 0
je 0x53cd27
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53cd27
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53cd27
jmp 0x534456
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 0x53c9d8
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x53cd27
cmp edx, dword [ebp + 0x84]
jbe 0x53cd27
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53cd27
jmp 0x534456
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x53cd27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x53cd27
jmp 0x53ca00
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53c954
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x53ca2b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x53cd27
cmp byte [eax], 0xa
jne 0x53ca55
inc eax
jmp 0x53ca52
cmp eax, 0xa
je 0x53ca4f
cmp dword [ebp + 0x68], 0
jne 0x53cd27
cmp eax, 0xb
je 0x53ca4f
cmp eax, 0xc
je 0x53ca4f
cmp eax, 0x85
jne 0x53cd27
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x53ca00
jmp 0x53cd27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x53cd27
jmp 0x53ca80
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53c954
mov al, byte [ecx]
cmp al, 9
je 0x53cd27
cmp al, 0x20
je 0x53cd27
cmp al, 0xa0
je 0x53cd27
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x53ca80
jmp 0x53cd27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x53cd27
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53c954
mov al, byte [ecx]
cmp al, 9
je 0x53caee
cmp al, 0x20
je 0x53caee
cmp al, 0xa0
jne 0x53cd27
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x53cad0
jmp 0x53cd27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x53cd27
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53c954
mov al, byte [ecx]
cmp al, 0xa
jb 0x53cb36
cmp al, 0xd
jbe 0x53cd27
cmp al, 0x85
je 0x53cd27
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x53cb14
jmp 0x53cd27
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x53cd27
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x53c954
mov al, byte [ecx]
cmp al, 0xa
jb 0x53cd27
cmp al, 0xd
jbe 0x53cb82
cmp al, 0x85
jne 0x53cd27
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x53cb60
jmp 0x53cd27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x53cd27
jmp 0x53cbb0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53c954
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x53cd27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x53cbb0
jmp 0x53cd27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x53cd27
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53c954
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x53cd27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x53cbf2
jmp 0x53cd27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x53cd27
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53c954
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x53cd27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x53cc34
jmp 0x53cd27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x53cd27
jmp 0x53cc80
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53c954
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x53cd27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x53cc80
jmp 0x53cd27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x53cd27
jmp 0x53ccc0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53c954
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x53cd27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x53ccc0
jmp 0x53cd27
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x53cd27
jmp 0x53cd00
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x53c954
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x53cd27
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x53cd00
cmp dword [esp + 0x80], 0
je 0x53dd8a
jmp 0x5334ea
mov esi, dword [esi]
test esi, esi
je 0x541201
mov edi, 0xfffffffb
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x53cd64
jmp dword [eax*4 + 0x54173c]
cmp edi, 0xfffffc1b
je 0x53ce36
cmp edi, 0xfffffc20
jne 0x53cdb3
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x53cd64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x53cdaf
cmp byte [ecx], 0x77
jne case.0x53cd64.49
xor edi, edi
jmp 0x53cdbb
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x53ce36
cmp dword [esi + 0x9c], 0x88
jb 0x53ce01
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x540b8a
push 0x134
call dword [0x66ede0]
mov edx, eax
add esp, 4
test edx, edx
jne 0x540b80
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov esi, dword [esi]
test esi, esi
je 0x53d22c
mov edx, dword [esp + 0x8c]
jmp 0x53cd54
cmp edi, 0xfffffc20
jne 0x53cef3
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x53cf41
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x53cebe
cmp byte [ecx], 0x77
jne 0x53cf41
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x53cf57
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd54
test edi, edi
je 0x53cebe
cmp edi, 0xfffffc1b
jne 0x53cf41
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x53cf33
cmp al, 0x77
jne 0x53cf24
lea esp, [esp]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x53cf10
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov esi, dword [esi]
test esi, esi
je 0x53d22c
mov edx, dword [esp + 0x8c]
jmp 0x53cd54
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x53cfa9
cmp eax, 0x81
je 0x53cfa9
cmp dword [ebp + 0x6c], 0
jne 0x53cfb3
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 0x53cfb3
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x5fad70]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x533470
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 0x540bac
push 0x134
call dword [0x66ede0]
mov edx, eax
add esp, 4
test edx, edx
jne 0x540ba2
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
cmp edi, 1
jne 0x53d073
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x53d010
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x53d023
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x53d059
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], edx
cmp byte [eax], 0x77
je 0x53d040
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x5fad70]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x53391e.145
test edi, edi
je 0x53d083
cmp edi, 0xfffffc20
jne case.0x53cd64.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x53d099
movzx eax, byte [edx + 0x5fad70]
jmp 0x53d09c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x53d0b9
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x5334f1
cmp dword [esi + 0x9c], 0x8c
jne 0x533470
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540bce
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540bc4
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
cmp edi, 1
je 0x53d1b2
cmp edi, 0xfffffc19
je 0x53d1b2
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x53d15a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x53cd64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x53d162
cmp byte [ecx], 0x77
jmp 0x53d15c
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x53d1b8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540be7
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540bdd
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x53d1d1
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd54
cmp dword [esi + 0x58], 0
je 0x54080e
mov esi, dword [esi]
test esi, esi
je 0x5411a6
mov edi, 1
jmp 0x53cd54
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x53d29d
je 0x53d236
cmp edi, 0xfffffc19
je 0x53dad3
cmp edi, 0xfffffc1b
jle case.0x53cd64.49
cmp edi, 0xfffffc1f
jle 0x53d25e
mov esi, dword [esi]
test esi, esi
jne 0x53cd54
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x53d25e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x53d2b0
cmp byte [ecx], 0x77
je 0x53d2b0
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 0x53d261
cmp dword [esi + 0x58], 0
je 0x53d4e7
mov esi, dword [esi]
test esi, esi
je 0x5411a6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x53cd54
mov eax, edi
sub eax, 0
je 0x53d2b0
dec eax
je 0x53dad3
jmp case.0x53cd64.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
jne 0x53d278
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540bfd
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540bf3
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x54083c
cmp edi, 0xfffffc19
je 0x54083c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x53d369
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x5342eb
push ecx
call dword [0x66eddc]
add esp, 4
jmp 0x5342eb
test edi, edi
je 0x53d393
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x53d384
push ecx
call dword [0x66eddc]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x53d22c
jmp 0x53cd49
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x53d3f9
cmp dword [esi + 0x58], 0
je 0x53d3c4
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x540c43
push 0x134
call dword [0x66ede0]
mov edx, eax
add esp, 4
test edx, edx
jne 0x540c39
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x53d349
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x53d453
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540c91
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540c87
mov esi, dword [esi]
test esi, esi
je 0x54115b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x53cd54
cmp al, 0x88
jb 0x540994
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540cb3
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540ca9
mov esi, dword [esi]
test esi, esi
je 0x54115b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x53cd54
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x5411b3
mov edi, 0xfffffc1b
jmp 0x53cd54
test edi, edi
jne case.0x53cd64.49
mov edx, dword [esi + 0x2c]
jmp 0x53d4d0
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 0x53d4d0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x5334ea
test edi, edi
je 0x534d64
jmp case.0x53cd64.49
test edi, edi
je 0x53d49f
jmp case.0x53cd64.49
cmp edi, 0xfffffc1b
jne 0x53d51b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x53d51d
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x53e30b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540cd5
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540ccb
mov esi, dword [esi]
test esi, esi
je 0x54115b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x53cd54
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53d590
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.00541990
add esp, 0x14
test eax, eax
jns 0x53d5f7
cmp eax, 0xfffffffe
jne 0x53d5b9
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x53f0d1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x53f0d1
cmp eax, dword [ebp + 0x84]
jbe 0x53f0d1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x53630e
jmp 0x53f0d1
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540cfa
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540cf0
mov esi, dword [esi]
test esi, esi
je 0x54115b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x53cd54
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x53a476.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540d13
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540d09
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53d6b7
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53f1b6
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 0x53f0d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540d2c
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540d22
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x5342eb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540d45
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540d3b
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53d791
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53f1b6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x53d7c1
cmp dword [esi + 0x94], ecx
je 0x53d7c1
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd54
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540d5e
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540d54
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
dec dword [esi + 8]
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540d77
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540d6d
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53d871
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53f1b6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x53f0d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540d90
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540d86
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
dec dword [esi + 8]
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540da9
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540d9f
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53d93e
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53f1b6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x53dad3
cmp dword [esi + 0x94], ecx
je 0x53dad3
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540dc2
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540db8
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540ddb
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540dd1
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53da15
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53f1b6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x53f0d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540df1
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540de7
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540e07
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540dfd
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53dae4
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd54
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x53db2b
cmp dword [ebp + 0x88], 0
je 0x53db13
cmp ecx, dword [ebp + 0x84]
jbe 0x53db13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x53630e
mov esi, dword [esi]
test esi, esi
je 0x541168
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x53cd54
cmp dword [esi + 0x7c], 0xc
jne 0x53db52
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x53db74
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00543620
add esp, 0x14
test eax, eax
jne 0x53db91
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.0x53db6d.15
jmp dword [eax*4 + 0x541848]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x53db52
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x53db52
cmp edi, 1
je 0x53db91
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x53db52
mov esi, dword [esi]
test esi, esi
je 0x541168
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x53cd54
cmp dword [ebp + 0x88], 0
je case.0x53db6d.13
cmp edx, dword [ebp + 0x78]
jb case.0x53db6d.13
cmp dword [ebp + 0x18], 0
jne case.0x53db6d.13
cmp dword [ebp + 0x1c], 2
jne case.0x53db6d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x53db6d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x53630e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540e1d
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540e13
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x53dc2d.14
movzx eax, byte [ecx + 0x541898]
jmp dword [eax*4 + 0x541888]
cmp edx, dword [ebp + 0x78]
jae case.0x53db6d.13
cmp byte [edx], 0xa
jne case.0x53db6d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x53db6d.13
cmp dword [ebp + 0x68], 0
je case.0x53db6d.13
jmp case.0x53dc2d.14
cmp ecx, 9
je case.0x53dc2d.14
cmp ecx, 0x20
je case.0x53dc2d.14
cmp ecx, 0xa0
jmp 0x53dd2a
cmp ecx, 9
je case.0x53db6d.13
cmp ecx, 0x20
je case.0x53db6d.13
cmp ecx, 0xa0
je case.0x53db6d.13
jmp case.0x53dc2d.14
cmp ecx, 0xa
jb case.0x53db6d.13
cmp ecx, 0xd
jbe case.0x53dc2d.14
cmp ecx, 0x85
jmp 0x53dd2a
cmp ecx, 0xa
jb case.0x53dc2d.14
cmp ecx, 0xd
jbe case.0x53db6d.13
cmp ecx, 0x85
je case.0x53db6d.13
jmp case.0x53dc2d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x53db6d.13
jmp case.0x53dc2d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x53dd2a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x53db6d.13
jmp case.0x53dc2d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x53dd2a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x53db6d.13
mov esi, dword [esi]
test esi, esi
je 0x541168
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x53cd54
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x53db6d.13
mov esi, dword [esi]
test esi, esi
je 0x541168
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x53cd54
mov esi, dword [esi]
test esi, esi
je case.default.0x53cd64
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x53cd54
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x53dd8a
cmp eax, dword [esi + 0x30]
jbe 0x53dd8a
cmp byte [eax], 0xa
jne 0x53dd8a
cmp byte [eax - 1], 0xd
jne 0x53dd8a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540e33
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540e29
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
cmp edi, 0xfffffc1a
jne 0x53de21
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 0x53de19
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 0x53de00
jmp 0x53de78
mov dword [esi + 8], eax
jmp 0x53de9d
cmp edi, 0xfffffc20
jne 0x53de55
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x53cd64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x53de5d
cmp byte [ecx], 0x77
jmp 0x53de57
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
je 0x53de91
cmp dword [esi + 0x5c], 0
jne 0x53d4e7
cmp dword [esi + 0x54], 0
jne 0x53d4e7
jmp 0x53f0d1
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x53deb3
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x540e75
push 0x134
call dword [0x66ede0]
mov edx, eax
add esp, 4
test edx, edx
jne 0x540e6b
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
mov esi, dword [esi]
test edi, edi
jne 0x53d224
test esi, esi
je 0x5411cd
mov edi, 0xfffffc1c
jmp 0x53cd54
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x5411e7
mov edi, 0xfffffc1e
jmp 0x53cd54
cmp edi, 1
je 0x53df33
cmp edi, 0xfffffc19
jne 0x53df4d
cmp dword [ebp + 0xac], 0
jne 0x53df4d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x53cf41
cmp edi, 0xfffffc1f
jne 0x53cf41
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x53df82
test dl, dl
je 0x53df7e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x53df82
add eax, 2
add ecx, 2
test dl, dl
jne 0x53df62
xor eax, eax
jmp 0x53df87
sbb eax, eax
or eax, 1
test eax, eax
jne 0x53cf41
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x5411e7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x53cd54
cmp edi, 1
je 0x53dfbd
cmp edi, 0xfffffc19
jne case.0x53cd64.51
cmp dword [ebp + 0xac], 0
jne case.0x53cd64.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x53d224
test esi, esi
je 0x5411c0
mov edi, 0xfffffc1d
jmp 0x53cd54
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x5411f4
mov edi, 0xfffffc1f
jmp 0x53cd54
cmp edi, 1
je 0x53e020
cmp edi, 0xfffffc19
jne case.0x53cd64.54
cmp dword [ebp + 0xac], 0
jne case.0x53cd64.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x5411da
mov edi, 0xfffffc20
jmp 0x53cd54
cmp edi, 0xfffffc1a
jne 0x53e0c1
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 0x53e0b9
mov edx, dword [esi + 0xc]
jmp 0x53e0a0
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 0x53e0a0
jmp 0x53e128
mov dword [esi + 8], eax
jmp 0x534022
cmp edi, 0xfffffc20
jne 0x53e0f5
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x53cd64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x53e0fd
cmp byte [ecx], 0x77
jmp 0x53e0f7
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x534022
cmp dword [esi + 0x5c], 0
jne 0x53e168
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 0x5334e6
cmp dword [esi + 0x5c], 0
jne 0x5334e6
jmp 0x53f0d1
cmp edi, 1
jne 0x53e224
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x53e1a1
cmp al, 0x77
jne 0x53f0d1
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 0x53e1a1
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov eax, dword [esi + 0xc]
mov al, byte [eax]
cmp al, 0x78
je 0x5334e6
cmp ecx, dword [esi + 0x38]
je 0x5334e6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x53e2bd
test ecx, ecx
jne 0x540ede
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540ed4
mov esi, dword [esi]
test esi, esi
je 0x54115b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x53cd54
cmp edi, 0xfffffc20
jne 0x53e258
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x53cd64.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x53e260
cmp byte [ecx], 0x77
jmp 0x53e25a
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x53e190
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540eb9
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540eaf
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test ecx, ecx
jne 0x540f03
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540ef9
mov esi, dword [esi]
test esi, esi
je 0x54115b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x53cd54
test edi, edi
je 0x540994
jmp case.0x53cd64.49
test edi, edi
jne case.0x53cd64.49
add dword [esi + 0xc], 3
jmp 0x533470
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53e339
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x53e43a
cmp ebx, 0xc0
jb 0x53e43a
test bl, 0x20
jne 0x53e37b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x53e437
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53e3a5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x53e43a
mov edx, dword [esi + 8]
test bl, 8
jne 0x53e3cb
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x53e42e
test bl, 4
jne 0x53e3fa
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x53e42e
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
push edx
push dword [esi + 0x28]
push ebx
call fcn.00542fb0
add esp, 0xc
test eax, eax
je 0x5342eb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540f25
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540f1b
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x53f0d1
cmp dword [esp + 0x8c], edi
je 0x53e4c1
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x53e4c1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x53e4b5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540f3e
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540f34
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53e51b
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x53e610
test bl, 0x20
jne 0x53e555
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x53e60d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53e57f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x53e610
mov edx, dword [esi + 8]
test bl, 8
jne 0x53e5a8
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x53e60b
test bl, 4
jne 0x53e5d7
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x53e60b
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x53e626
cmp dword [esi + 0x9c], 0x6e
jne 0x53e643
jmp 0x5342eb
mov edx, dword [esi + 0x28]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
je 0x5342eb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540f57
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540f4d
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x5342eb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x53e6ac
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x53e6a0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540f70
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540f66
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53e706
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
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 0x53e775
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x53e735
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x53e73a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x53e724
cmp edi, 0xfffffffc
je 0x53e767
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x53e772
cmp edi, 0xfffffffd
je 0x53e767
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x53e772
cmp edi, 0xfffffffe
je 0x53e767
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x53e772
cmp edi, 0xffffffff
je 0x53e767
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x53e772
mov eax, dword [esi + 0x88]
jmp 0x53e7e0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x53e820
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x53e820
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x53e7a7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x53e7ac
add ecx, 4
add edx, 4
sub edi, 4
jae 0x53e796
cmp edi, 0xfffffffc
je 0x53e7dd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x53e820
cmp edi, 0xfffffffd
je 0x53e7dd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x53e820
cmp edi, 0xfffffffe
je 0x53e7dd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x53e820
cmp edi, 0xffffffff
je 0x53e7dd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x53e820
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 0x540f89
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540f7f
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
cmp dword [ebp + 0x88], 0
je case.0x53a476.14
cmp ebx, dword [ebp + 0x78]
jb case.0x53a476.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x53a476.14
jmp 0x534442
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53e86c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x53e860
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540fa2
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540f98
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53e8d2
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x53e9d2
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x53e90c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x53e9cf
test dl, 0x10
jne 0x53e92e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 8], 2
jmp 0x53e9d2
mov ecx, dword [esi + 8]
test dl, 8
jne 0x53e95e
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x53e9cf
test dl, 4
jne 0x53e994
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x53e9cf
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je 0x53db91
cmp dword [esi + 0x94], edx
je 0x53db91
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x53ea19
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x53d625
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x540e3d
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53ea4c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x53ea40
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540fbb
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540fb1
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53eab2
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x53eba7
test bl, 0x20
jne 0x53eaec
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x53eba4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53eb16
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x53eba7
mov edx, dword [esi + 8]
test bl, 8
jne 0x53eb3f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x53eba2
test bl, 4
jne 0x53eb6e
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x53eba2
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ebx
je 0x5342eb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540fd4
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540fca
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53ec10
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x53ec04
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x540fed
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540fe3
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53ec76
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x53ecb2
cmp dword [ebp + 0x88], 0
je 0x53f0d1
cmp ecx, dword [ebp + 0x84]
jbe 0x53f0d1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x53630e
jmp 0x53f0d1
cmp dword [esi + 0x7c], 0xc
jne 0x53ed04
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x53ecdf
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00543620
add esp, 0x14
test eax, eax
jne 0x53f0d1
jmp 0x53ed04
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x53ed04
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x53ed04
cmp edi, 1
je 0x53f0d1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x53f0d1
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x53edec
test dl, 0x20
jne 0x53ed37
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x53ede9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x53ed5e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x53ede7
test dl, 8
jne 0x53ed84
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x53ede7
test dl, 4
jne 0x53edb3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x53ede7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x53edfb.15
jmp dword [eax*4 + 0x541914]
cmp dword [ebp + 0x88], 0
je case.0x53edfb.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x53edfb.13
cmp dword [ebp + 0x18], 0
jne case.0x53edfb.13
cmp dword [ebp + 0x1c], 2
jne case.0x53edfb.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x53edfb.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x53edfb.13
jmp 0x53630e
cmp edx, 0xd
ja 0x53ee7e
je 0x53ee6b
cmp edx, 0xa
je case.0x53edfb.13
jbe 0x53f0d1
cmp edx, 0xc
jmp 0x53ee98
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x53edfb.13
cmp byte [eax], 0xa
jne case.0x53edfb.13
inc eax
mov dword [esi + 8], eax
jmp case.0x53edfb.13
cmp edx, 0x85
je 0x53ee9e
cmp edx, 0x2027
jbe 0x53f0d1
cmp edx, 0x2029
ja 0x53f0d1
cmp dword [ebp + 0x68], 0
je case.0x53edfb.13
jmp 0x53f0d1
cmp edx, 0x180e
ja 0x53ef1d
je 0x53f0d1
cmp edx, 0xa0
ja 0x53ef15
je 0x53f0d1
cmp edx, 9
je 0x53f0d1
cmp edx, 0x20
je 0x53f0d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x53ef06
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x53d625
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x540e3d
cmp edx, 0x1680
jmp 0x53eed1
cmp edx, 0x205f
ja 0x53ef47
je 0x53f0d1
cmp edx, 0x2000
jb case.0x53edfb.13
cmp edx, 0x200a
jbe 0x53f0d1
cmp edx, 0x202f
jmp 0x53eed1
cmp edx, 0x3000
jmp 0x53f0cb
cmp edx, 0x180e
ja 0x53ef84
je case.0x53edfb.13
cmp edx, 0xa0
ja 0x53ef7c
je case.0x53edfb.13
cmp edx, 9
je case.0x53edfb.13
cmp edx, 0x20
jmp 0x53efb8
cmp edx, 0x1680
jmp 0x53efb8
cmp edx, 0x205f
ja 0x53efb2
je case.0x53edfb.13
cmp edx, 0x2000
jb 0x53f0d1
cmp edx, 0x200a
jbe case.0x53edfb.13
cmp edx, 0x202f
jmp 0x53efb8
cmp edx, 0x3000
je case.0x53edfb.13
jmp 0x53f0d1
cmp edx, 0x85
ja 0x53efe8
je 0x53f0d1
cmp edx, 0xa
jb case.0x53edfb.13
cmp edx, 0xd
jbe 0x53f0d1
jmp case.0x53edfb.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x53edfb.13
jmp 0x53f0d1
cmp edx, 0x85
ja 0x53f018
je case.0x53edfb.13
cmp edx, 0xa
jb 0x53f0d1
cmp edx, 0xd
jmp 0x53f021
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x53edfb.13
jmp 0x53f0d1
cmp edx, 0x100
jae case.0x53edfb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x53edfb.13
jmp 0x53f0d1
cmp edx, 0x100
jae 0x53f0d1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x53f0cb
cmp edx, 0x100
jae case.0x53edfb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x53edfb.13
jmp 0x53f0d1
cmp edx, 0x100
jae 0x53f0d1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x53f0cb
cmp edx, 0x100
jae case.0x53edfb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x53edfb.13
mov esi, dword [esi]
test esi, esi
je 0x541168
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x53cd54
cmp edx, 0x100
jae 0x53f0d1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x53edfb.13
mov esi, dword [esi]
test esi, esi
je 0x541168
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x53cd54
mov esi, dword [esi]
test esi, esi
je case.default.0x53cd64
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x53cd54
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53f12c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x53f120
cmp dword [esi + 0x7c], 0x11
jne 0x53f148
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x53f148
cmp byte [eax], 0xa
jne 0x53f148
dec eax
cmp byte [eax], 0xd
jne 0x53f148
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x541006
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x540ffc
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53f1ae
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x53f1ce
cmp dword [ebp + 0x88], 0
je 0x53dad3
cmp eax, dword [ebp + 0x84]
jmp 0x53f929
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x53f20d
cmp ecx, 0xc0
jb 0x53f20d
test cl, 0x20
jne 0x53f1e9
inc eax
jmp 0x53f20a
test cl, 0x10
jne 0x53f1f3
add eax, 2
jmp 0x53f20a
test cl, 8
jne 0x53f1fd
add eax, 3
jmp 0x53f20a
test cl, 4
jne 0x53f207
add eax, 4
jmp 0x53f20a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x53f224
mov esi, dword [esi]
test esi, esi
je 0x541168
xor edi, edi
jmp 0x53cd54
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x53f253
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x53d625
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x540e3d
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53f287
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x53f381
cmp ebx, 0xc0
jb 0x53f381
test bl, 0x20
jne 0x53f2c9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x53f37e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53f2f3
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x53f381
mov edx, dword [esi + 8]
test bl, 8
jne 0x53f319
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x53f37c
test bl, 4
jne 0x53f348
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x53f37c
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53f3a3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
cmp eax, 9
je 0x53f3c8
cmp eax, 5
je 0x53f3c8
cmp eax, 8
je 0x53f3c8
xor eax, eax
jmp 0x53f3cd
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x5342eb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x54101f
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x541015
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53f436
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x53f52c
cmp ebx, 0xc0
jb 0x53f52c
test bl, 0x20
jne 0x53f478
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x53f529
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53f4a0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x53f52c
mov edx, dword [esi + 8]
test bl, 8
jne 0x53f4c6
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x53f529
test bl, 4
jne 0x53f4f5
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x53f529
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53f54e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5342eb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x541038
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x54102e
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53f5d8
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x53f6ce
cmp ebx, 0xc0
jb 0x53f6ce
test bl, 0x20
jne 0x53f61a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x53f6cb
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53f642
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x53f6ce
mov edx, dword [esi + 8]
test bl, 8
jne 0x53f668
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x53f6cb
test bl, 4
jne 0x53f697
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x53f6cb
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53f6f0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5342eb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x541051
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x541047
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53f773
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x53f869
cmp ebx, 0xc0
jb 0x53f869
test bl, 0x20
jne 0x53f7b5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x53f866
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53f7dd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x53f869
mov edx, dword [esi + 8]
test bl, 8
jne 0x53f803
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x53f866
test bl, 4
jne 0x53f832
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x53f866
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53f88b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb078]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5342eb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x54106a
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x541060
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53f90e
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x53f957
cmp dword [ebp + 0x88], 0
je 0x53dad3
cmp edi, dword [ebp + 0x84]
jbe 0x53dad3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53dad3
mov esi, dword [esi]
test esi, esi
je 0x54118c
mov edi, 0xfffffff4
jmp 0x53cd54
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x53fa45
cmp ebx, 0xc0
jb 0x53fa45
test bl, 0x20
jne 0x53f98d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x53fa42
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53f9b7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x53fa45
mov edx, dword [esi + 8]
test bl, 8
jne 0x53f9dd
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x53fa40
test bl, 4
jne 0x53fa0c
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x53fa40
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53fa67
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb07a]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x53fbf8
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x53fb97
cmp ebx, 0xc0
jb 0x53fb97
test bl, 0x20
jne 0x53facb
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x53fb8f
test bl, 0x10
jne 0x53faf0
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x53fb8f
test bl, 8
jne 0x53fb21
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x53fb8f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x53fb5b
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x53fb8f
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53fbb9
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx ecx, byte [eax*8 + 0x5fb07a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5faf00], eax
je 0x53fbf8
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x53fa90
cmp dword [ebp + 0x88], 0
je 0x53fc25
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x53fc25
cmp eax, dword [ebp + 0x84]
jbe 0x53fc25
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x534456
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x541083
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x541079
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x53fc8c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53fc8c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x53fc80
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x533470
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x54109c
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x541092
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x53fce7
movzx ebx, byte [ecx]
jmp 0x53fdd5
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53fcfc
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x53fcf0
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x53fdd5
test bl, 0x20
jne 0x53fd1f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x53fdcd
test bl, 0x10
jne 0x53fd3f
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x53fdcd
test bl, 8
jne 0x53fd68
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x53fdcd
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x53fd9d
and ebx, 3
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x53fdcd
and ebx, 1
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53fdf7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb07a]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x533470
dec edi
cmp dword [esp + 0x8c], 0
jne 0x53fe2f
movzx ebx, byte [edi]
jmp 0x53feee
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x53fe41
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x53fe37
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x53feee
test bl, 0x20
jne 0x53fe61
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x53fee6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53fe7e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x53fee6
and eax, 0x3f
test bl, 8
jne 0x53fe99
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x53fee6
test bl, 4
jne 0x53febd
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x53fee6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x53ff10
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx edx, byte [eax*8 + 0x5fb07a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5faf00], eax
je 0x53bb46
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x53fe10
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53ff71
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x54006b
cmp ebx, 0xc0
jb 0x54006b
test bl, 0x20
jne 0x53ffb3
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x540068
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53ffdd
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x54006b
mov edx, dword [esi + 8]
test bl, 8
jne 0x540003
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x540066
test bl, 4
jne 0x540032
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x540066
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x54008d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x5400b4
cmp eax, 3
je 0x5400b4
xor eax, eax
jmp 0x5400b9
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x5342eb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5410ce
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5410c4
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x540122
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x540223
cmp ebx, 0xc0
jb 0x540223
test bl, 0x20
jne 0x540164
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x540220
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x54018e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x540223
mov edx, dword [esi + 8]
test bl, 8
jne 0x5401b4
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x540217
test bl, 4
jne 0x5401e3
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x540217
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x24
je 0x54024e
cmp ebx, 0x40
je 0x54024e
cmp ebx, 0x60
je 0x54024e
cmp ebx, 0xa0
jb 0x540242
cmp ebx, 0xd7ff
jbe 0x54024e
cmp ebx, 0xe000
jae 0x54024e
xor eax, eax
jmp 0x540253
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x534c32
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5410e7
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5410dd
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5402bc
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x5403bd
cmp ebx, 0xc0
jb 0x5403bd
test bl, 0x20
jne 0x5402fe
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5403ba
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x540328
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5403bd
mov edx, dword [esi + 8]
test bl, 8
jne 0x54034e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5403b1
test bl, 4
jne 0x54037d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5403b1
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x540400
je case.0x540420.8192
cmp ebx, 0x85
ja 0x5403ec
je case.0x540420.8192
cmp ebx, 9
jb case.0x540420.8203
cmp ebx, 0xd
jbe case.0x540420.8192
cmp ebx, 0x20
jmp 0x540435
cmp ebx, 0xa0
je case.0x540420.8192
cmp ebx, 0x1680
jmp 0x540435
cmp ebx, 0x202f
ja 0x540427
je case.0x540420.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x540420.8203
movzx eax, byte [eax + 0x54195c]
jmp dword [eax*4 + 0x541954]
cmp ebx, 0x205f
je case.0x540420.8192
cmp ebx, 0x3000
je case.0x540420.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x5fc6f8]
shl eax, 7
and ebx, 0x8000007f
jns 0x540459
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
cmp dword [eax*4 + 0x5fae88], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x54048c
jmp 0x5342eb
cmp dword [esi + 0x68], 0
jne 0x534c32
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x541100
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5410f6
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5404ec
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x5405e2
cmp ebx, 0xc0
jb 0x5405e2
test bl, 0x20
jne 0x54052e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5405df
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x540556
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x5405e2
mov edx, dword [esi + 8]
test bl, 8
jne 0x54057c
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x5405df
test bl, 4
jne 0x5405ab
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x5405df
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x5fc6f8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x540605
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5fe8f8]
movzx eax, byte [eax*8 + 0x5fb079]
mov eax, dword [eax*4 + 0x5fae88]
cmp eax, 1
je 0x540631
cmp eax, 3
je 0x540631
cmp ebx, 0x5f
je 0x540631
xor eax, eax
jmp 0x540636
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x5342eb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x541119
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x54110f
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
test edi, edi
jne case.0x53cd64.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x54069f
mov esi, dword [esi]
test esi, esi
je 0x541168
jmp 0x53cd54
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x53f916
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x54079c
cmp ebx, 0xc0
jb 0x54079c
test bl, 0x20
jne 0x5406e1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x540799
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x540709
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x54079c
mov edx, dword [esi + 8]
test bl, 8
jne 0x54072f
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x540792
test bl, 4
jne 0x54075e
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x540792
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x5faf38]
lea eax, [eax*4 + 0x5faf38]
cmp ebx, ecx
jb 0x5407be
lea eax, [eax + 4]
cmp ebx, ecx
je 0x540803
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x5407b1
cmp dword [esi + 0x68], 0
je 0x534c32
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x541132
push 0x134
call dword [0x66ede0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x541128
mov esi, dword [esi]
test esi, esi
je 0x54115b
lea edi, [eax - 6]
jmp 0x53cd49
cmp dword [esi + 0x68], 0
je 0x5407c8
jmp 0x534c32
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 0x540811
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x5334ea
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x540853
push ecx
call dword [0x66eddc]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x5334ea
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53e649
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53e455
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53e7eb
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x53e9f0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53ebb9
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x53f22a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53f3dc
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53f57e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53f719
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53f8b4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x5400c8
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x540492
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x540645
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x5407ce
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x540262
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x53eedd
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53fc2b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x533470
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x5fad70]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x533460
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 0x540c56
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 0x540c56
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x5409af
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 0x540c56
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x5409af
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 0x540c56
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x5409af
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], ebx
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x533460
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 0x540e46
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 0x540e46
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 0x540e46
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 0x540e46
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 0x540e46
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 0x540c56
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 0x540c56
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x540c07
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 0x533460
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 + 0x5fad70]
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 0x533460
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x540e46
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 0x540e46
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 0x540e46
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x540e3d
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 0x533460
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 0x540c56
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 0x540c56
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 0x540e46
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 0x540e46
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 0x540e46
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x540e3d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x540e3d
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x68
ret