Function at 0x529200
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 0x52928e
mov esi, dword [esi]
test esi, esi
je 0x536f31
mov edi, 0xfffffff8
jmp 0x532b39
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x5292aa
mov esi, dword [esi]
test esi, esi
je 0x536f3e
mov edi, 0xffffffeb
jmp 0x532b39
cmp dword [ebp + 0x98], 2
jne 0x5292e1
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 0x5292e1
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.0x529314.98
movzx eax, byte [edx + 0x53714c]
jmp dword [eax*4 + 0x537000]
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 0x536795
push 0x134
call dword [0x75b1b8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x53678f
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
mov edx, dword [esi + 4]
test edx, edx
jne 0x5367e5
push 0x134
call dword [0x75b1b8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x5367df
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
mov edx, dword [esi + 4]
test edx, edx
jne 0x536803
push 0x134
call dword [0x75b1b8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x5367fd
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x536821
push 0x134
call dword [0x75b1b8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x53681b
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
mov edx, dword [esi + 4]
test edx, edx
jne 0x536836
push 0x134
call dword [0x75b1b8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x536830
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x52946e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x60ffd8]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x5292e1
mov edi, dword [esi + 4]
test edi, edi
jne 0x536854
push 0x134
call dword [0x75b1b8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x53684e
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
mov edx, dword [esi + 4]
test edx, edx
jne 0x536869
push 0x134
call dword [0x75b1b8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x536863
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x536887
push 0x134
call dword [0x75b1b8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x536881
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x534078
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.0x529314.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 0x532bdb
mov dword [esi + 0x54], ebx
jmp 0x529d7f
mov dword [esi + 0x54], ebx
jmp 0x529da3
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 0x5296e8
mov edi, dword [0x7607a8]
test edi, edi
je 0x5296d4
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 0x52968e
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 0x5296c3
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b39
jns 0x5296d4
mov esi, dword [esi]
test esi, esi
je 0x53301c
jmp 0x532b39
movzx eax, byte [0x61004e]
add dword [esi + 0xc], eax
movzx eax, byte [0x61004e]
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.0x52970e.146
movzx eax, byte [eax + 0x537208]
jmp dword [eax*4 + 0x5371f0]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x52970e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x529747
cmp edx, dword [edi + 4]
je 0x529747
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x532e73
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x532e73
cmp dword [ebp + 0xa4], ebx
je case.0x52970e.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.0x52970e.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 0x532e73
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x529790
jmp 0x532e73
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 0x5297f4
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x5297f4
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x52970e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x52970e.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 0x532e73
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 0x529849
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x529858
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x529827
jmp 0x532e73
mov dword [esi + 0x58], 1
jmp 0x532e73
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x53689c
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536896
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x5298f4
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x5292d6
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 0x5292d6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x529943
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 0x5292d6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x529996
cmp edx, 0x9f
je 0x529996
cmp dword [ebp + 0xa4], ebx
jne 0x529996
cmp dword [ebp + 0x5c], ebx
jne 0x529985
cmp dword [ebp + 0x60], ebx
je 0x529996
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x529996
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b39
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 0x53301c
jmp 0x532b39
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x5299ef
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x532f6d
mov dword [esi + 0x58], ebx
jmp 0x532f6d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x529a1b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x5330bb
mov dword [esi + 0x58], ebx
jmp 0x5330bb
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x529a82
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x529a68
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x530266.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x529a64
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x529a58
test edx, edx
jg 0x529a40
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x5292d6
mov dword [ebp + 0x84], eax
jmp 0x5292d6
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 0x529a68
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b40
mov edi, dword [0x7607a8]
test edi, edi
je 0x529b8c
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 0x529b46
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 0x529b7b
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b39
jns 0x529b8c
mov esi, dword [esi]
test esi, esi
je 0x53301c
jmp 0x532b39
add dword [esi + 0xc], 6
jmp 0x5292da
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 0x529bb6
xor edx, edx
jmp 0x529bc3
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 0x529be3
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x529bdd
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x529c44
mov ecx, dword [ecx]
test ecx, ecx
jne 0x529bd0
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 0x529c58
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 0x5331a4
mov esi, dword [esi]
test esi, esi
je 0x536f62
mov edi, 0xffffffe6
jmp 0x532b39
shl eax, 2
push eax
call dword [0x75b1b0]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x529c1e
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x529c81
jmp 0x5292e1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5368d7
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5368d1
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x529ce0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5368f5
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5368ef
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x529d33
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x5292e1
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 0x529d7f
cmp eax, 0x8b
jne 0x529da3
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 0x529dc0
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 0x533c8d
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 0x529e3d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x536c87
push 0x134
call dword [0x75b1b8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x536c7d
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x529e98
cmp al, 0x81
je 0x529e98
mov dword [esi + 0x38], ebx
jmp 0x529ea9
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 0x529eb6
cmp al, 0x80
jbe 0x529eba
cmp al, 0x82
jne 0x529ee6
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 0x536f96
mov edi, 1
jmp 0x532b39
cmp al, 0x85
je 0x529efa
cmp al, 0x8a
je 0x529efa
cmp al, 0x86
je 0x529efa
cmp al, 0x8b
jne 0x529fc1
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 0x529f36
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x529f36
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x529ecc
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 0x529f65
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x529fc1
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x529f85
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x529f85
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 0x529fc1
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x529ff7
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 0x536f6f
mov edi, 0xfffffc1a
jmp 0x532b39
cmp cl, 0x78
je 0x52a070
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x52a070
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x52a03e
test ecx, ecx
jne 0x536916
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536910
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test ecx, ecx
jne 0x536937
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536931
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x5332d7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536955
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x53694f
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
cmp dword [ebp + 0x44], ebx
je case.0x529314.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x529314.1
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b39
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x52a198
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b39
cmp dword [ebp + 0x44], ebx
je 0x52a10a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x52a10a
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b39
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x52ab54
cmp ecx, dword [ebp + 0x78]
je 0x52a170
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x52a148
cmp ecx, edx
jbe 0x52a170
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005391e0
add esp, 0x14
test eax, eax
jne 0x52ab54
jmp 0x52a170
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x52a170
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x52a170
cmp edi, 1
je 0x52ab54
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x52ab54
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b39
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x52a0d5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x5292e1
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x52a25a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x52a1d5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00539090
add esp, 0x14
test eax, eax
jne 0x52ab54
jmp 0x52a1f9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x52a1f9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x52a1f9
cmp edx, 1
je 0x52ab54
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x52ab54
cmp dword [ebp + 0x88], ebx
je case.0x530266.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x530266.14
cmp dword [ebp + 0x18], ebx
jne case.0x530266.14
cmp dword [edi], 2
jne case.0x530266.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x530266.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x530266.14
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edi, 0xfffffff4
jmp 0x532b39
cmp dword [ebp + 0x48], ebx
jne 0x52a0db
cmp dword [ebp + 0x88], ebx
je 0x52ab54
cmp ecx, dword [ebp + 0x84]
jbe 0x52ab54
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x52ab54
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edi, 0xfffffff4
jmp 0x532b39
cmp dword [ebp + 0x48], ebx
jne 0x52a0db
cmp dword [ebp + 0x58], ebx
je case.0x529314.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x52a0db
cmp dword [ebp + 0x88], ebx
je 0x52a198
cmp eax, dword [ebp + 0x84]
jbe 0x52a198
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x52a198
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edi, 0xfffffff4
jmp 0x532b39
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x52a365
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x52a32d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00539090
add esp, 0x14
test eax, eax
jne 0x52a355
jmp 0x52a1f9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x52a1f9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x52a1f9
cmp edx, 1
je 0x52a355
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x52a1f9
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x52a1f9
cmp dword [ebp + 0x88], ebx
je 0x52ab54
cmp ecx, dword [ebp + 0x84]
jbe 0x52ab54
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x52ab54
jmp 0x52a246
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x52a667
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x52a3b5
mov dword [esi + 0x5c], ebx
jmp 0x52a4ee
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x52a3ca
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x52a3c0
cmp edx, dword [ebp + 0x84]
jae 0x52a3d8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x52a48c
test bl, 0x20
jne 0x52a400
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x52a48c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x52a41a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x52a482
and eax, 0x3f
test bl, 8
jne 0x52a435
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x52a482
test bl, 4
jne 0x52a459
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 0x52a482
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 0x52a527
cmp ebx, 0x5f
jne 0x52a4a4
mov dword [esi + 0x5c], 1
jmp 0x52a4ee
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52a4c6
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x52a538
cmp eax, 3
je 0x52a538
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x52a53f
cmp dword [ebp + 0x88], 0
je 0x52a51b
cmp edx, dword [ebp + 0x84]
jbe 0x52a51b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
mov dword [esi + 0x54], 0
jmp 0x52a7a5
cmp ebx, 0x100
jae 0x52a4e9
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x52a4e9
mov eax, 1
jmp 0x52a4eb
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x52a5e9
test bl, 0x20
jne 0x52a55f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x52a5e1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x52a579
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x52a5e1
and eax, 0x3f
test bl, 8
jne 0x52a594
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x52a5e1
test bl, 4
jne 0x52a5b8
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 0x52a5e1
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 0x52a64c
cmp ebx, 0x5f
jne 0x52a600
mov dword [esi + 0x54], 1
jmp 0x52a7a5
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52a622
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x52a65d
cmp eax, 3
je 0x52a65d
xor eax, eax
jmp 0x52a7a2
cmp ebx, 0x100
jae 0x52a645
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x52a645
mov eax, 1
jmp 0x52a7a2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x52a677
mov dword [esi + 0x5c], ebx
jmp 0x52a712
cmp eax, dword [ebp + 0x84]
ja 0x52a686
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x52a6fe
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x52a6a0
mov dword [esi + 0x5c], 1
jmp 0x52a712
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x611960]
shl eax, 7
and ecx, 0x8000007f
jns 0x52a6c2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x52a6f0
cmp eax, 3
je 0x52a6f0
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x52a70f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x52a70f
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 0x52a753
cmp dword [ebp + 0x88], ebx
je 0x52a74e
cmp eax, dword [ebp + 0x84]
jbe 0x52a74e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x52a74e
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edi, 0xfffffff4
jmp 0x532b40
mov dword [esi + 0x54], ebx
jmp 0x52a7a5
cmp dword [ebp + 0x54], ebx
je 0x52a792
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x52a769
mov dword [esi + 0x54], 1
jmp 0x52a7a5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x611960]
shl eax, 7
and ecx, 0x8000007f
jns 0x52a78b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x52a624
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 0x52a7c0
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x52a7c8
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x5292e1
jmp 0x52a0db
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x52a80d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x52a838
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.00539090
add esp, 0x14
test eax, eax
jne 0x52a0db
jmp 0x52a838
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x52a838
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x52a838
cmp edx, 1
je 0x52a0db
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x52a0db
cmp dword [ebp + 0x88], ebx
je case.0x529314.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x529314.13
cmp dword [ebp + 0x18], ebx
jne case.0x529314.13
cmp dword [ebp + 0x1c], 2
jne case.0x529314.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x529314.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x52a896
cmp dword [ebp + 0x88], ebx
je case.0x530266.14
cmp eax, dword [ebp + 0x84]
jbe case.0x530266.14
jmp 0x52a232
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x52a198
cmp eax, dword [ebp + 0x78]
jae 0x52a198
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x52a198
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x52a8b2
inc dword [esi + 0xc]
jmp 0x5292e1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52a879
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x5292e1
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x52a90d
cmp dword [ebp + 0x88], ebx
je case.0x530266.14
cmp edi, dword [ebp + 0x84]
jbe case.0x530266.14
jmp 0x52a232
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52aa09
cmp ebx, 0xc0
jb 0x52aa09
test bl, 0x20
jne 0x52a94a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52aa06
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52a974
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52aa09
mov edx, dword [esi + 8]
test bl, 8
jne 0x52a99a
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 0x52a9fd
test bl, 4
jne 0x52a9c9
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 0x52a9fd
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 0x52ab54
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x52ab54
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b40
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52ab3b
cmp ebx, 0xc0
jb 0x52ab3b
test bl, 0x20
jne 0x52aa7c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52ab38
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52aaa6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52ab3b
mov edx, dword [esi + 8]
test bl, 8
jne 0x52aacc
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 0x52ab2f
test bl, 4
jne 0x52aafb
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 0x52ab2f
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 0x529a9d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x529a9d
inc dword [esi + 0xc]
jmp 0x5292da
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52ac64
cmp ebx, 0xc0
jb 0x52ac64
test bl, 0x20
jne 0x52aba5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52ac61
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52abcf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52ac64
mov edx, dword [esi + 8]
test bl, 8
jne 0x52abf5
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 0x52ac58
test bl, 4
jne 0x52ac24
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 0x52ac58
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 0x52ab54
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x52aa1c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52ad84
cmp ebx, 0xc0
jb 0x52ad84
test bl, 0x20
jne 0x52acc5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52ad81
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52acef
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52ad84
mov edx, dword [esi + 8]
test bl, 8
jne 0x52ad15
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 0x52ad78
test bl, 4
jne 0x52ad44
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 0x52ad78
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 0x529a9d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x529a9d
inc dword [esi + 0xc]
jmp 0x5292da
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52aead
cmp ebx, 0xc0
jb 0x52aead
test bl, 0x20
jne 0x52adee
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52aeaa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52ae18
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52aead
mov edx, dword [esi + 8]
test bl, 8
jne 0x52ae3e
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 0x52aea1
test bl, 4
jne 0x52ae6d
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 0x52aea1
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 0x52ab54
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x52aa1c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52afcd
cmp ebx, 0xc0
jb 0x52afcd
test bl, 0x20
jne 0x52af0e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52afca
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52af38
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52afcd
mov edx, dword [esi + 8]
test bl, 8
jne 0x52af5e
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 0x52afc1
test bl, 4
jne 0x52af8d
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 0x52afc1
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 0x529a9d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x529a9d
inc dword [esi + 0xc]
jmp 0x5292da
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52b0f6
cmp ebx, 0xc0
jb 0x52b0f6
test bl, 0x20
jne 0x52b037
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52b0f3
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52b061
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52b0f6
mov edx, dword [esi + 8]
test bl, 8
jne 0x52b087
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 0x52b0ea
test bl, 4
jne 0x52b0b6
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 0x52b0ea
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 0x52b16f
je 0x52b111
cmp ebx, 0xa
je 0x52ab54
jbe 0x52aa22
cmp ebx, 0xc
jmp 0x52b189
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x52b15a
cmp dword [ebp + 0x88], 0
je 0x52ab54
cmp eax, dword [ebp + 0x84]
jbe 0x52ab54
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x52ab54
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edi, 0xfffffff4
jmp 0x532b40
cmp byte [eax], 0xa
jne 0x52ab54
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x5292da
cmp ebx, 0x85
je 0x52b18f
cmp ebx, 0x2027
jbe 0x52aa22
cmp ebx, 0x2029
ja 0x52aa22
cmp dword [ebp + 0x68], 0
jmp 0x52aa1c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52b2a0
cmp ebx, 0xc0
jb 0x52b2a0
test bl, 0x20
jne 0x52b1e1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52b29d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52b20b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52b2a0
mov edx, dword [esi + 8]
test bl, 8
jne 0x52b231
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 0x52b294
test bl, 4
jne 0x52b260
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 0x52b294
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 0x52b2d8
je 0x529a9d
cmp ebx, 0xa0
ja 0x52b2cd
je 0x529a9d
cmp ebx, 9
je 0x529a9d
cmp ebx, 0x20
jmp 0x52ab4e
cmp ebx, 0x1680
jmp 0x52ab4e
cmp ebx, 0x205f
ja 0x52b309
je 0x529a9d
cmp ebx, 0x2000
jb 0x52ab54
cmp ebx, 0x200a
jbe 0x529a9d
cmp ebx, 0x202f
jmp 0x52ab4e
cmp ebx, 0x3000
je 0x529a9d
inc dword [esi + 0xc]
jmp 0x5292da
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52b425
cmp ebx, 0xc0
jb 0x52b425
test bl, 0x20
jne 0x52b366
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52b422
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52b390
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52b425
mov edx, dword [esi + 8]
test bl, 8
jne 0x52b3b6
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 0x52b419
test bl, 4
jne 0x52b3e5
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 0x52b419
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 0x52b45d
je 0x52ab54
cmp ebx, 0xa0
ja 0x52b452
je 0x52ab54
cmp ebx, 9
je 0x52ab54
cmp ebx, 0x20
jmp 0x52aa1c
cmp ebx, 0x1680
jmp 0x52aa1c
cmp ebx, 0x205f
ja 0x52b48e
je 0x52ab54
cmp ebx, 0x2000
jb 0x52aa22
cmp ebx, 0x200a
jbe 0x52ab54
cmp ebx, 0x202f
jmp 0x52aa1c
cmp ebx, 0x3000
jmp 0x52aa1c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52b5a1
cmp ebx, 0xc0
jb 0x52b5a1
test bl, 0x20
jne 0x52b4e2
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52b59e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52b50c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52b5a1
mov edx, dword [esi + 8]
test bl, 8
jne 0x52b532
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 0x52b595
test bl, 4
jne 0x52b561
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 0x52b595
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 0x52b5c9
je 0x52aa22
cmp ebx, 0xa
jb 0x52ab54
cmp ebx, 0xd
jbe 0x52aa22
inc dword [esi + 0xc]
jmp 0x5292da
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x52ab54
jmp 0x52aa22
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x52b6e5
cmp ebx, 0xc0
jb 0x52b6e5
test bl, 0x20
jne 0x52b626
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52b6e2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52b650
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x52b6e5
mov edx, dword [esi + 8]
test bl, 8
jne 0x52b676
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 0x52b6d9
test bl, 4
jne 0x52b6a5
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 0x52b6d9
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 0x52b70a
je 0x52ab54
cmp ebx, 0xa
jb 0x529a9d
cmp ebx, 0xd
jbe 0x52ab54
jmp 0x529a9d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x529a9d
inc dword [esi + 0xc]
jmp 0x5292da
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x52b81d
cmp ebx, 0xc0
jb 0x52b81d
test bl, 0x20
jne 0x52b769
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52b81a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52b791
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x52b81d
mov edx, dword [esi + 8]
test bl, 8
jne 0x52b7b7
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 0x52b81a
test bl, 4
jne 0x52b7e6
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 0x52b81a
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 + 0x611960]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x52b840
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 + 0x613b60]
cmp eax, 0xa
ja case.default.0x52b85a
jmp dword [eax*4 + 0x53721c]
cmp dword [esi + 0x9c], 0xf
jne 0x5292d6
jmp 0x52a0db
mov al, byte [edx*8 + 0x6102e1]
cmp al, 9
je 0x52b88a
cmp al, 5
je 0x52b88a
cmp al, 8
je 0x52b88a
xor ecx, ecx
jmp 0x52b88f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x5292d6
jmp 0x52a0db
movzx ecx, byte [edx*8 + 0x6102e1]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x6100f0]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x5292d6
jmp 0x52a0db
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x6102e1]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x5292d6
jmp 0x52a0db
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x6102e0]
jmp 0x52b8eb
movzx eax, byte [edx*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x52b88a
cmp eax, 3
je 0x52b88a
xor ecx, ecx
jmp 0x52b88f
cmp ebx, 0x180e
ja 0x52b983
je case.0x52b85a.0
cmp ebx, 0x85
ja 0x52b96f
je case.0x52b85a.0
cmp ebx, 9
jb case.0x52b9a3.8203
cmp ebx, 0xd
jbe case.0x52b85a.0
cmp ebx, 0x20
jmp 0x52b9bc
cmp ebx, 0xa0
je case.0x52b85a.0
cmp ebx, 0x1680
jmp 0x52b9bc
cmp ebx, 0x202f
ja 0x52b9aa
je case.0x52b85a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x52b9a3.8203
movzx eax, byte [ebx + 0x537250]
jmp dword [eax*4 + 0x537248]
cmp ebx, 0x205f
je case.0x52b85a.0
cmp ebx, 0x3000
je case.0x52b85a.0
movzx eax, byte [edx*8 + 0x6102e1]
xor ecx, ecx
cmp dword [eax*4 + 0x6100f0], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x52b8f7
movzx eax, byte [edx*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x52b88a
cmp eax, 3
je 0x52b88a
cmp ebx, 0x5f
je 0x52b88a
xor ecx, ecx
jmp 0x52b88f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x6101a0]
lea eax, [eax*4 + 0x6101a0]
cmp ebx, ecx
jb 0x52ba3d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x52ba4f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x52ba30
cmp dword [esi + 0x9c], 0x10
jne 0x5292d6
jmp 0x52a0db
cmp dword [esi + 0x9c], 0x10
je 0x5292d6
jmp 0x52a0db
cmp ebx, 0x24
je 0x52b88a
cmp ebx, 0x40
je 0x52b88a
cmp ebx, 0x60
je 0x52b88a
cmp ebx, 0xa0
jb 0x52ba90
cmp ebx, 0xd7ff
jbe 0x52b88a
cmp ebx, 0xe000
jae 0x52b88a
xor ecx, ecx
jmp 0x52b88f
mov esi, dword [esi]
test esi, esi
je case.default.0x532b54
mov edi, 0xfffffff2
jmp 0x532b39
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x52bbc2
cmp ebx, 0xc0
jb 0x52bbc2
test bl, 0x20
jne 0x52bb00
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x52bbbf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52bb2f
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 0x52bbc2
mov edx, dword [esi + 8]
test bl, 8
jne 0x52bb55
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 0x52bbb8
test bl, 4
jne 0x52bb84
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 0x52bbb8
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52bbe4
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52bd76
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x52bd0e
cmp ebx, 0xc0
jb 0x52bd0e
test bl, 0x20
jne 0x52bc45
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x52bd06
test bl, 0x10
jne 0x52bc6a
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 0x52bd06
test bl, 8
jne 0x52bc98
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 0x52bd06
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x52bcd2
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 0x52bd06
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52bd30
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx ecx, byte [eax*8 + 0x6102e2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x610168], eax
je 0x52bd76
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 0x52bc10
cmp dword [ebp + 0x88], 0
je 0x52ab54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x52ab54
cmp eax, dword [ebp + 0x84]
jbe 0x52ab54
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x52ab54
jmp 0x52a246
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 0x52bea4
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 0x52be34
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x52be3d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x52be10
jmp 0x52bea4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x52bea4
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 0x52be94
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x52be94
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x52be9e
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.0x52bebf
movzx eax, byte [eax + 0x537284]
jmp dword [eax*4 + 0x53727c]
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 + 0x60f630]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x60f63c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x52bf4d
mov dword [esi + 0x8c], SysStringLen
jmp 0x52bf4d
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 0x52bf49
mov dword [esi + 0x8c], SysStringLen
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x5292e1
jns 0x52bf71
cmp dword [esi + 0x90], 0
je 0x5292e1
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x52bfaf
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.00537780
add esp, 0x14
test eax, eax
js 0x52bfe1
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x52bf80
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x5292e1
cmp dword [esp + 0x80], 0
je 0x52c00a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x5333f2
cmp eax, 0xfffffffe
jne 0x52bfec
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x530266.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x530266.14
jmp 0x52a885
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x52c020
cmp edi, dword [esi + 0x8c]
jge 0x533441
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00537780
add esp, 0x14
test eax, eax
js 0x52c055
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x52c020
cmp eax, 0xfffffffe
jne 0x533441
cmp dword [ebp + 0x88], 0
je 0x533441
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x533441
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x533441
jmp 0x52a246
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.00537780
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x52c119
cmp eax, 0xfffffffe
jne 0x52c0c5
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x533a1d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x533a1d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x533a1d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x533a1d.14
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x532b44
add dword [esi + 8], eax
jmp 0x5292da
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.0x52c147
movzx eax, byte [eax + 0x537294]
jmp dword [eax*4 + 0x53728c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x52c16a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x52c175
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x60f630]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x60f63c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x52c20c
mov dword [esi + 0x8c], SysStringLen
jmp 0x52c20c
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 0x52c1f2
mov dword [esi + 0x8c], SysStringLen
add dword [esi + 0xc], 5
jmp 0x52c20c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x52c36c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x52c3c1
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x52c31c
test bl, 0x20
jne 0x52c26a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52c319
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52c291
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x52c317
test bl, 8
jne 0x52c2b4
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 0x52c317
test bl, 4
jne 0x52c2e3
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 0x52c317
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 0x52c32d
cmp dword [esi + 0x9c], 0x6e
jmp 0x52c342
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.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52c230
jmp 0x52c3b3
cmp dword [ebp + 0x88], 0
je case.0x530266.14
mov eax, dword [esi + 8]
jmp 0x52a885
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x52c3ba
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52c357
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.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52c380
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5292da
test ebx, ebx
je 0x52c3ea
test edx, edx
jne 0x536657
mov dword [esi + 0x84], eax
jmp 0x5334db
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x52c5a2
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x52c58f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x52c567
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x52c516
test bl, 0x20
jne 0x52c45b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x52c516
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x52c483
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x52c50c
and eax, 0x3f
test bl, 8
jne 0x52c4a9
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 0x52c50c
test bl, 4
jne 0x52c4d8
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 0x52c50c
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 0x52c527
cmp dword [esi + 0x9c], 0x6e
jmp 0x52c53c
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 0x52c58f
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 0x52c411
jmp 0x52c58f
cmp dword [ebp + 0x88], 0
je 0x52c58f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x52c58f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
je 0x53449c
jmp 0x5292da
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x52c61a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x52c5f2
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 0x52c61a
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 0x52c5b1
jmp 0x52c61a
cmp dword [ebp + 0x88], 0
je 0x52c61a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x52c61a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
je 0x53351b
jmp 0x5292da
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.0x52c665
movzx eax, byte [eax + 0x5372a8]
jmp dword [eax*4 + 0x5372a0]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x52c688
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x52c693
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x60f630]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x60f63c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x52c72a
mov dword [esi + 0x8c], SysStringLen
jmp 0x52c72a
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 0x52c710
mov dword [esi + 0x8c], SysStringLen
add dword [esi + 0xc], 5
jmp 0x52c72a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x52c865
jmp 0x52c740
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x52c83a
cmp edx, 0xc0
jb 0x52c83a
test dl, 0x20
jne 0x52c788
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52c837
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52c7af
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52c835
test dl, 8
jne 0x52c7d2
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 0x52c835
test dl, 4
jne 0x52c801
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 0x52c835
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.00538a20
add esp, 0xc
test eax, eax
je case.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52c740
jmp 0x52c86c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5292e1
cmp dword [esp + 0x84], 0
jne 0x536668
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 0x52c9fd
jmp 0x52c8b0
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x52c9d3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x52c99b
cmp edx, 0xc0
jb 0x52c99b
test dl, 0x20
jne 0x52c8fc
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x52c99b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52c91b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x52c991
and eax, 0x3f
test dl, 8
jne 0x52c93b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x52c991
test dl, 4
jne 0x52c964
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 0x52c991
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.00538a20
add esp, 0xc
test eax, eax
je 0x52c9fd
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x52c8b0
jmp 0x52c9fd
cmp dword [ebp + 0x88], 0
je 0x52c9f6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x52c9f6
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x52a246
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x5292e1
jmp 0x5342b1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x52cbe9
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 0x52cb70
test al, 0x20
jne 0x52ca70
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 0x52cb70
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x52caaa
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 0x52cb70
test al, 8
jne 0x52cae6
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 0x52cb70
test al, 4
mov eax, dword [esi + 0x80]
jne 0x52cb2b
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 0x52cb70
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 0x52cba9
cmp dword [ebp + 0x88], ebx
je case.0x530266.14
cmp edx, edi
jb case.0x530266.14
cmp edx, dword [ebp + 0x84]
jbe case.0x530266.14
jmp 0x52a232
test ecx, ecx
jle 0x52cbde
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.0x530266.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x52cbb0
dec dword [esi + 0x88]
jmp 0x5292da
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x52cc36
cmp dword [ebp + 0x88], ebx
je 0x529a9d
cmp edi, dword [ebp + 0x84]
jbe 0x529a9d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x529a9d
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edi, 0xfffffff4
jmp 0x532b40
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 0x52cf4b
jmp 0x52a0db
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52a8f0
cmp dword [esp + 0x8c], ebx
je 0x52cf2c
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 0x52cdbb
test al, 0x20
jne 0x52ccbb
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 0x52cdbb
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x52ccf5
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 0x52cdbb
test al, 8
jne 0x52cd31
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 0x52cdbb
test al, 4
mov eax, dword [esi + 0x80]
jne 0x52cd76
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 0x52cdbb
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 0x52cde9
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x52a0db
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x5292da
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x52cecb
test bl, 0x20
jne 0x52ce19
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52cec8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52ce40
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x52cec6
test bl, 8
jne 0x52ce63
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 0x52cec6
test bl, 4
jne 0x52ce92
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 0x52cec6
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 0x5292da
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x611960]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x52cf05
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x613b60]
mov eax, dword [eax*8 + 0x6102e4]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x5292e1
jmp 0x52a0db
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 0x52a0db
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x5292da
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 0x52d07d
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 0x52cfb4
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x52cfbf
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x52d07d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], SysStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x52d084
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], SysStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x52d084
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x52d084
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 + 0x60f630]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x60f63c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x52d07d
mov dword [esi + 0x8c], SysStringLen
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x52d4f8
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 0x52d1cb
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x52d0e1
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 0x52d1cb
test bl, 0x10
jne 0x52d116
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 0x52d1cb
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 0x52d154
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 0x52d1cb
test bl, 4
jne 0x52d18d
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 0x52d1cb
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 0x52d507
cmp dword [esi + 0x9c], 0x2e
jb 0x52d23c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x611960]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x52d213
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x613b60]
mov ecx, dword [eax*8 + 0x6102e4]
add ecx, edi
cmp ecx, edi
je 0x52d23c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.005389c0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x52d243
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x52d376
jmp 0x52d260
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 0x52d2e4
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x52d298
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52d2a1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52d287
cmp edi, 0xfffffffc
je 0x52d358
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52d2da
cmp edi, 0xfffffffd
je 0x52d358
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52d2da
cmp edi, 0xfffffffe
je 0x52d358
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52d2da
cmp edi, 0xffffffff
je 0x52d358
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x52d358
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x52bfec
sub ecx, ebx
cmp edi, ecx
ja 0x52bfec
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x52d316
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52d31b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52d305
cmp edi, 0xfffffffc
je 0x52d358
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52bfec
cmp edi, 0xfffffffd
je 0x52d358
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52bfec
cmp edi, 0xfffffffe
je 0x52d358
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52bfec
cmp edi, 0xffffffff
je 0x52d358
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52bfec
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x52d260
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x5292e1
cmp dword [esp + 0x84], 0
jne 0x536679
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 0x52d4e5
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 0x52d43c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x52d3f8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52d401
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52d3e7
cmp edi, 0xfffffffc
je 0x52d498
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52d432
cmp edi, 0xfffffffd
je 0x52d498
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52d432
cmp edi, 0xfffffffe
je 0x52d498
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52d432
cmp edi, 0xffffffff
je 0x52d498
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x52d498
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x52d4b8
sub ecx, ebx
cmp edi, ecx
ja 0x52d4b8
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x52d466
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52d46b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52d455
cmp edi, 0xfffffffc
je 0x52d498
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52d4b8
cmp edi, 0xfffffffd
je 0x52d498
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52d4b8
cmp edi, 0xfffffffe
je 0x52d498
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52d4b8
cmp edi, 0xffffffff
je 0x52d498
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52d4b8
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x52d3c0
jmp 0x52d4e5
cmp dword [ebp + 0x88], 0
je 0x52d4e5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x52d4e5
cmp eax, dword [ebp + 0x84]
jbe 0x52d4e5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
je 0x53465c
jmp 0x5292da
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x52d5ff
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 0x52d564
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52c357
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x52d557
cmp dword [esi + 0x94], ecx
jne case.0x530266.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x52d534
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5292da
cmp dword [esp + 0x84], 0
je 0x52d58b
mov dword [esi + 0x84], eax
jmp 0x5335bb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x52d5f2
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52d5ca
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x52d5bb
cmp dword [esi + 0x94], ecx
jne 0x52d5f2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x52d5a0
jmp 0x52d5f2
cmp dword [ebp + 0x88], 0
je 0x52d5f2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x52d5f2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
test edi, edi
je 0x5335fb
jmp 0x5292da
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x52d63a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52d610
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x5292e1
cmp dword [esp + 0x84], 0
je 0x52d668
mov dword [esi + 0x84], eax
jmp 0x533688
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x52d6cc
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x52d6a4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x52d6cc
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x52d680
jmp 0x52d6cc
cmp dword [ebp + 0x88], 0
je 0x52d6cc
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x52d6cc
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
je 0x5336c8
jmp 0x5292e1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x52d704
cmp dword [ebp + 0x88], ebx
je case.0x530266.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x530266.14
jmp 0x52a232
test edi, edi
je 0x52d97c
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 0x52d805
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x52d742
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52d802
test bl, 0x10
jne 0x52d763
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 0x52d802
test bl, 8
jne 0x52d78e
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 0x52d805
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x52d7c7
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 0x52d802
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 0x52d8f8
test dl, 0x20
jne 0x52d83f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52d8ee
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52d866
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52d8ec
test dl, 8
jne 0x52d889
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 0x52d8ec
test dl, 4
jne 0x52d8b8
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 0x52d8ec
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 0x52d915
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x5292e1
jmp 0x52a0db
cmp ebx, 0x7f
jbe 0x52d952
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x611960]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x52d93d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x613b60]
mov ecx, dword [eax*8 + 0x6102e4]
add ecx, ebx
jmp 0x52d959
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x52a0db
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x5292e1
jmp 0x52a0db
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.0x530266.14
cmp dword [esi + 0x9c], 0x20
jne 0x52cf4b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x530266.14
add dword [esi + 0xc], 2
jmp 0x5292da
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 0x52db16
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 0x52da1b
cmp al, 0x4f
je 0x52da1b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x52db16
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x52db16
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], SysStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x52db16
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], SysStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x52db16
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x52db16
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 0x52db16
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 + 0x60f630]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x60f63c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x52db16
mov dword [esi + 0x8c], SysStringLen
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 0x52dc71
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x52dc71
test al, 0x20
jne 0x52db68
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 0x52dc71
test al, 0x10
jne 0x52db9b
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 0x52dc71
test al, 8
jne 0x52dbdd
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 0x52dc71
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x52dc28
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 0x52dc6a
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 0x52e095
test edx, edx
je 0x52dccc
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x52dccc
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x611960]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x52dcb0
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x613b60]
mov eax, dword [eax*8 + 0x6102e4]
add eax, edi
jmp 0x52dcd9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x52de20
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x52de6b
jmp 0x52dd00
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x52ddf9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x52dd3a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x52ddf6
test cl, 0x10
jne 0x52dd5b
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 0x52ddf6
test cl, 8
jne 0x52dd85
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 0x52ddf6
test cl, 4
jne 0x52ddbb
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 0x52ddf6
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.0x530266.14
cmp dword [esi + 0x94], ecx
je case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52dd00
jmp 0x52de64
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x52de64
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52c357
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x530266.14
cmp dword [esi + 0x94], ecx
je case.0x530266.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x52de30
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5292da
test ebx, ebx
je 0x52de94
test edx, edx
jne 0x53668a
mov dword [esi + 0x84], eax
jmp 0x53375f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x52e01d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x52e00a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x52dfe2
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x52dfbe
test dl, 0x20
jne 0x52def2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52dfbe
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x52df1c
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 0x52dfbc
test dl, 8
jne 0x52df48
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 0x52dfbc
test dl, 4
jne 0x52df80
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 0x52dfbc
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 0x52e00a
cmp dword [esi + 0x94], edx
je 0x52e00a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x52deb4
jmp 0x52e00a
cmp dword [ebp + 0x88], 0
je 0x52e00a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x52e00a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
je 0x53483c
jmp 0x5292da
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x52e082
jmp 0x52e030
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52e05a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x52e082
cmp dword [esi + 0x94], ecx
je 0x52e082
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x52e030
jmp 0x52e082
cmp dword [ebp + 0x88], 0
je 0x52e082
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x52e082
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
je 0x53379f
jmp 0x5292da
test edx, edx
je 0x52e1b7
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x52e1f5
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x52e19c
test dl, 0x20
jne 0x52e0ea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52e199
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52e111
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52e197
test dl, 8
jne 0x52e134
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 0x52e197
test dl, 4
jne 0x52e163
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 0x52e197
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.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52e0b0
jmp 0x52e1ee
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x52e1f5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52e1c4
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x5292da
cmp dword [esp + 0x84], 0
je 0x52e224
test edx, edx
jne 0x53669f
mov dword [esi + 0x84], eax
jmp 0x53382c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x52e3a8
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x52e395
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x52e36d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x52e351
test dl, 0x20
jne 0x52e282
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52e351
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x52e2ac
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 0x52e34f
test dl, 8
jne 0x52e2db
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 0x52e34f
test dl, 4
jne 0x52e313
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 0x52e34f
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 0x52e395
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x52e244
jmp 0x52e395
cmp dword [ebp + 0x88], 0
je 0x52e395
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x52e395
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
je 0x534a00
jmp 0x5292da
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x52e402
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x52e3da
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x52e402
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x52e3b6
jmp 0x52e402
cmp dword [ebp + 0x88], 0
je 0x52e402
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x52e402
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
je 0x53386c
jmp 0x5292da
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 0x52e554
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 0x52e554
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], SysStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x52e554
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], SysStringLen
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x52e554
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x52e554
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 0x52e554
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x60f5db]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x60f5e7]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x52e554
mov dword [esi + 0x8c], SysStringLen
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 0x52e576
cmp ecx, 0xf
je 0x52e576
mov dword [esi + 0x60], 0xffffffff
jmp 0x52e599
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 0x53053b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x52f348
cmp eax, 0xa
ja case.default.0x52b85a
jmp dword [eax*4 + 0x5372b4]
cmp dword [esi + 0x68], ebx
jne 0x52a0db
mov edx, 1
cmp ecx, edx
jl 0x53053b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x52e61f
cmp ecx, 0xc0
jb 0x52e61f
test cl, 0x20
jne 0x52e5fb
inc eax
jmp 0x52e61c
test cl, 0x10
jne 0x52e605
add eax, 2
jmp 0x52e61c
test cl, 8
jne 0x52e60f
add eax, 3
jmp 0x52e61c
test cl, 4
jne 0x52e619
add eax, 4
jmp 0x52e61c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x52e5d8
jmp 0x53053b
cmp dword [ebp + 0x88], ebx
je case.0x530266.14
mov eax, dword [esi + 8]
jmp 0x52a885
mov edi, 1
cmp ecx, edi
jl 0x53053b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x52e74a
cmp ebx, 0xc0
jb 0x52e74a
test bl, 0x20
jne 0x52e698
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52e747
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52e6bf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x52e745
test bl, 8
jne 0x52e6e2
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 0x52e745
test bl, 4
jne 0x52e711
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 0x52e745
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52e76c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
cmp eax, 9
je 0x52e791
cmp eax, 5
je 0x52e791
cmp eax, 8
je 0x52e791
xor eax, eax
jmp 0x52e796
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52e650
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x53053b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x52e8b8
cmp ebx, 0xc0
jb 0x52e8b8
test bl, 0x20
jne 0x52e808
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52e8b5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52e82f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x52e8b5
test bl, 8
jne 0x52e852
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 0x52e8b5
test bl, 4
jne 0x52e881
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 0x52e8b5
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52e8da
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52e7c0
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x53053b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x52ea1b
cmp ebx, 0xc0
jb 0x52ea1b
test bl, 0x20
jne 0x52e96b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52ea18
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52e992
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x52ea18
test bl, 8
jne 0x52e9b5
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 0x52ea18
test bl, 4
jne 0x52e9e4
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 0x52ea18
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52ea3d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52e923
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x53053b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x52eb78
cmp ebx, 0xc0
jb 0x52eb78
test bl, 0x20
jne 0x52eac8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52eb75
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52eaef
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x52eb75
test bl, 8
jne 0x52eb12
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 0x52eb75
test bl, 4
jne 0x52eb41
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 0x52eb75
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52eb9a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52ea80
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x53053b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x52ecda
cmp ebx, 0xc0
jb 0x52ecda
test bl, 0x20
jne 0x52ec28
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52ecd7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52ec4f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x52ecd5
test bl, 8
jne 0x52ec72
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 0x52ecd5
test bl, 4
jne 0x52eca1
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 0x52ecd5
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52ecfc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x52ed23
cmp eax, 3
je 0x52ed23
xor eax, eax
jmp 0x52ed28
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52ebe0
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x53053b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x52ee4a
cmp ebx, 0xc0
jb 0x52ee4a
test bl, 0x20
jne 0x52ed98
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52ee47
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52edbf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x52ee45
test bl, 8
jne 0x52ede2
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 0x52ee45
test bl, 4
jne 0x52ee11
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 0x52ee45
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 0x52ee8d
je case.0x52eea9.8192
cmp ebx, 0x85
ja 0x52ee79
je case.0x52eea9.8192
cmp ebx, 9
jb case.0x52eea9.8203
cmp ebx, 0xd
jbe case.0x52eea9.8192
cmp ebx, 0x20
jmp 0x52eebe
cmp ebx, 0xa0
je case.0x52eea9.8192
cmp ebx, 0x1680
jmp 0x52eebe
cmp ebx, 0x202f
ja 0x52eeb0
je case.0x52eea9.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x52eea9.8203
movzx eax, byte [eax + 0x5372e8]
jmp dword [eax*4 + 0x5372e0]
cmp ebx, 0x205f
je case.0x52eea9.8192
cmp ebx, 0x3000
je case.0x52eea9.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52eee2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
cmp dword [eax*4 + 0x6100f0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x530266.14
jmp 0x52ef16
cmp dword [esi + 0x68], 0
jne case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52ed50
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x53053b
jmp 0x52ef40
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x52f038
cmp ebx, 0xc0
jb 0x52f038
test bl, 0x20
jne 0x52ef88
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52f035
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52efaf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x52f035
test bl, 8
jne 0x52efd2
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 0x52f035
test bl, 4
jne 0x52f001
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 0x52f035
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 + 0x611960]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x52f05b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x52f087
cmp eax, 3
je 0x52f087
cmp ebx, 0x5f
je 0x52f087
xor eax, eax
jmp 0x52f08c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x530266.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52ef40
jmp 0x53053b
mov ebx, 1
cmp ecx, ebx
jl 0x53053b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x52f1ac
cmp edx, 0xc0
jb 0x52f1ac
test dl, 0x20
jne 0x52f0fc
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52f1a9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52f123
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x52f1a9
test dl, 8
jne 0x52f146
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 0x52f1a9
test dl, 4
jne 0x52f175
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 0x52f1a9
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 + 0x6101a0]
lea eax, [eax*4 + 0x6101a0]
cmp edx, ecx
jb 0x52f1ce
lea eax, [eax + 4]
cmp edx, ecx
je 0x52f1ea
mov ecx, dword [eax]
cmp edx, ecx
jae 0x52f1c1
cmp dword [esi + 0x68], 0
je case.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52f0b4
jmp 0x53053b
cmp dword [esi + 0x68], 0
jne case.0x530266.14
jmp 0x52f1d8
mov ebx, 1
cmp ecx, ebx
jl 0x53053b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x52f2fd
cmp edx, 0xc0
jb 0x52f2fd
test dl, 0x20
jne 0x52f24b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52f2fa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52f272
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52f2f8
test dl, 8
jne 0x52f295
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 0x52f2f8
test dl, 4
jne 0x52f2c4
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 0x52f2f8
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 0x52f328
cmp edx, 0x40
je 0x52f328
cmp edx, 0x60
je 0x52f328
cmp edx, 0xa0
jb 0x52f31c
cmp edx, 0xd7ff
jbe 0x52f328
cmp edx, 0xe000
jae 0x52f328
xor eax, eax
jmp 0x52f32d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52f203
jmp 0x53053b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x52f673
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x53053b
jmp 0x52f370
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52c357
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x52f470
cmp ebx, 0xc0
jb 0x52f470
test bl, 0x20
jne 0x52f3b9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x52f46d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x52f3e0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x52f466
test bl, 8
jne 0x52f403
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 0x52f466
test bl, 4
jne 0x52f432
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 0x52f466
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52f492
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e2]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52f62d
jmp 0x52f4c0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x52f5be
cmp ebx, 0xc0
jb 0x52f5be
test bl, 0x20
jne 0x52f4f5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x52f5b6
test bl, 0x10
jne 0x52f51a
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 0x52f5b6
test bl, 8
jne 0x52f548
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 0x52f5b6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x52f582
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 0x52f5b6
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x52f5e0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx ecx, byte [eax*8 + 0x6102e2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x610168], eax
je 0x52f626
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 0x52f4c0
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x52f65a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x52f65a
cmp eax, dword [ebp + 0x84]
jbe 0x52f65a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x52f370
jmp 0x53053b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x53013f
cmp eax, 0xf
ja case.0x532687.9
jmp dword [eax*4 + 0x537314]
mov ebx, 1
cmp ecx, ebx
jl 0x530542
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x52c357
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x52f6d7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00539090
add esp, 0x14
test eax, eax
jne case.0x530266.14
jmp 0x52f6fb
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x52f6fb
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x52f6fb
cmp edx, 1
je case.0x530266.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x530266.14
cmp dword [ebp + 0x88], 0
je 0x52f736
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x52f736
cmp dword [ebp + 0x18], 0
jne 0x52f736
cmp dword [edi], 2
jne 0x52f736
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x52f736
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x52f752
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x52f752
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x52f741
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52f6a2
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x52e62d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x52f7a8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x52f7a8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x52f790
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52f774
jmp 0x53053b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x52a0db
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x53053b
mov ebx, 1
cmp ecx, ebx
jl 0x530542
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x52f8cc
test dl, 0x20
jne 0x52f81a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52f8c9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52f841
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52f8c7
test dl, 8
jne 0x52f864
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 0x52f8c7
test dl, 4
jne 0x52f893
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 0x52f8c7
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 0x52f8f0
je 0x52f8dd
cmp edx, 0xa
je 0x52f911
lea eax, [edx - 0xb]
jmp 0x52f8fe
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52f911
cmp byte [eax], 0xa
jne 0x52f911
inc eax
mov dword [esi + 8], eax
jmp 0x52f911
cmp edx, 0x85
je 0x52f907
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x530266.14
cmp dword [ebp + 0x68], 0
jne case.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52f7e0
jmp 0x53053b
mov ebx, 1
cmp ecx, ebx
jl 0x530542
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x52fa1c
test dl, 0x20
jne 0x52f96a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52fa19
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52f991
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52fa17
test dl, 8
jne 0x52f9b4
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 0x52fa17
test dl, 4
jne 0x52f9e3
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 0x52fa17
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 0x52fa4e
je case.0x530266.14
cmp edx, 0xa0
ja 0x52fa46
je case.0x530266.14
cmp edx, 9
je case.0x530266.14
cmp edx, 0x20
jmp 0x52fa7e
cmp edx, 0x1680
jmp 0x52fa7e
cmp edx, 0x205f
ja 0x52fa78
je case.0x530266.14
cmp edx, 0x2000
jb 0x52fa84
cmp edx, 0x200a
jbe case.0x530266.14
cmp edx, 0x202f
jmp 0x52fa7e
cmp edx, 0x3000
je case.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52f930
jmp 0x53053b
mov ebx, 1
cmp ecx, ebx
jl 0x530542
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x52fb8f
test dl, 0x20
jne 0x52fadd
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52fb8c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52fb04
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52fb8a
test dl, 8
jne 0x52fb27
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 0x52fb8a
test dl, 4
jne 0x52fb56
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 0x52fb8a
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 0x52fbb5
je 0x52fbe7
cmp edx, 0xa0
ja 0x52fbad
je 0x52fbe7
cmp edx, 9
je 0x52fbe7
cmp edx, 0x20
jmp 0x52fbe1
cmp edx, 0x1680
jmp 0x52fbe1
cmp edx, 0x205f
ja 0x52fbdb
je 0x52fbe7
cmp edx, 0x2000
jb case.0x530266.14
cmp edx, 0x200a
jbe 0x52fbe7
cmp edx, 0x202f
jmp 0x52fbe1
cmp edx, 0x3000
jne case.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52faa3
jmp 0x53053b
mov ebx, 1
cmp ecx, ebx
jl 0x530542
jmp 0x52fc10
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x52fcfc
test dl, 0x20
jne 0x52fc4a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52fcf9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52fc71
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52fcf7
test dl, 8
jne 0x52fc94
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 0x52fcf7
test dl, 4
jne 0x52fcc3
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 0x52fcf7
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 0x52fd14
je case.0x530266.14
cmp edx, 0xa
jb 0x52fd28
cmp edx, 0xd
jmp 0x52fd22
cmp edx, 0x2028
jb 0x52fd28
cmp edx, 0x2029
jbe case.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52fc10
jmp 0x53053b
mov ebx, 1
cmp ecx, ebx
jl 0x530542
jmp 0x52fd50
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x52fe3c
test dl, 0x20
jne 0x52fd8a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52fe39
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52fdb1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52fe37
test dl, 8
jne 0x52fdd4
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 0x52fe37
test dl, 4
jne 0x52fe03
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 0x52fe37
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 0x52fe4e
je 0x52fe5d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x52fe57
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52fd50
jmp 0x53053b
mov ebx, 1
cmp ecx, ebx
jl 0x530542
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x52c357
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x52ff6c
test dl, 0x20
jne 0x52feba
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x52ff69
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52fee1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x52ff67
test dl, 8
jne 0x52ff04
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 0x52ff67
test dl, 4
jne 0x52ff33
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 0x52ff67
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 0x52ff81
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x530266.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x52fe80
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x52e62d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x530266.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x530266.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x52ffa0
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x52e62d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x530013
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x530266.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x530038
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x530038
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x530020
inc edi
cmp edi, dword [esi + 0x90]
jle 0x52fff0
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x52e62d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x530266.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x530266.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x530053
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x52e62d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x5300c3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x530266.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x5300e8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x5300e8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x5300d0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x5300a0
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x52e62d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x530266.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x530266.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x530103
jmp 0x53053b
cmp eax, 0xf
ja case.0x532687.9
jmp dword [eax*4 + 0x537354]
mov ebx, 1
cmp ecx, ebx
jl 0x530542
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x52c357
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x530190
push 0
push edi
push eax
push edx
push ecx
call fcn.00539090
add esp, 0x14
test eax, eax
jne case.0x530266.14
jmp 0x5301b4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x5301b4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x5301b4
cmp edx, 1
je case.0x530266.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x530266.14
cmp dword [ebp + 0x88], 0
je 0x5301ef
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x5301ef
cmp dword [ebp + 0x18], 0
jne 0x5301ef
cmp dword [edi], 2
jne 0x5301ef
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x5301ef
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x530160
jmp 0x53053b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x52f7c6
cmp dword [ebp + 0x88], ebx
je case.0x530266.14
cmp edx, dword [ebp + 0x84]
jbe case.0x530266.14
jmp 0x52a232
mov edx, 1
cmp ecx, edx
jl 0x53053b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x52e62d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x530266.14
movzx eax, byte [eax + 0x5373a4]
jmp dword [eax*4 + 0x537394]
cmp ecx, dword [ebp + 0x78]
jae case.0x530266.10
cmp byte [ecx], 0xa
jne case.0x530266.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x530266.10
cmp dword [ebp + 0x68], ebx
jne case.0x530266.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x530240
jmp 0x53053b
mov edx, 1
cmp ecx, edx
jl 0x53053b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x530266.14
cmp ecx, 0x20
je case.0x530266.14
cmp ecx, 0xa0
je case.0x530266.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x5302a3
jmp 0x53053b
mov edx, 1
cmp ecx, edx
jl 0x53053b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x530319
cmp ecx, 0x20
je 0x530319
cmp ecx, 0xa0
jne case.0x530266.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x5302f0
jmp 0x53053b
mov edx, 1
cmp ecx, edx
jl 0x53053b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x530361
cmp ecx, 0xd
jle case.0x530266.14
cmp ecx, 0x85
je case.0x530266.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x530334
jmp 0x53053b
mov edx, 1
cmp ecx, edx
jl 0x53053b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x530266.14
cmp ecx, 0xd
jle 0x5303ad
cmp ecx, 0x85
jne case.0x530266.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x530380
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
jmp 0x5303d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x530266.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x5303d0
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x530266.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x530410
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x530266.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x530450
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x530266.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x530490
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
jmp 0x5304d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x530266.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x5304d0
jmp 0x53053b
mov edi, 1
cmp ecx, edi
jl 0x530542
jmp 0x530510
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x52e62d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x530266.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x530510
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x5292da
cmp dword [esp + 0x84], 0
je 0x5305a2
mov eax, dword [esi + 0x60]
test eax, eax
js 0x530585
cmp eax, 0xa
ja case.0x532687.9
jmp dword [eax*4 + 0x537420]
mov esi, dword [esi]
test esi, esi
je case.default.0x532b54
mov edi, 0xfffffff2
jmp 0x532b40
cmp dword [esi + 0x7c], 0x16
je 0x536773
test edx, edx
jne 0x53675e
mov dword [esi + 0x84], ecx
jmp 0x5339d5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x5315db
cmp eax, 0xa
ja case.0x532687.9
jmp dword [eax*4 + 0x53744c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x5315c8
mov ebx, dword [esp + 0x8c]
jmp 0x5305e0
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x53064b
movzx ecx, byte [edx]
test ebx, ebx
je 0x53062e
cmp ecx, 0xc0
jb 0x53062e
test cl, 0x20
jne 0x530608
mov eax, 2
jmp 0x53062e
test cl, 0x10
jne 0x530614
mov eax, 3
jmp 0x53062e
test cl, 8
jne 0x530620
mov eax, 4
jmp 0x53062e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x5315c8
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x5305e0
jmp 0x5315c8
cmp dword [ebp + 0x88], 0
je 0x5315c8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x5315c8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x5315c8
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x532b40
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x5315c8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53080e
movzx ebx, byte [edi]
test edx, edx
je 0x53078c
cmp ebx, 0xc0
jb 0x53078c
test bl, 0x20
jne 0x5306ee
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x530784
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53070d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x530784
and eax, 0x3f
test bl, 8
jne 0x53072d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x530784
test bl, 4
jne 0x530756
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 0x530784
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x5307ae
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
cmp eax, 9
je 0x5307d3
cmp eax, 5
je 0x5307d3
cmp eax, 8
je 0x5307d3
xor eax, eax
jmp 0x5307d8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x5315c8
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 0x5306b0
jmp 0x5315c8
cmp dword [ebp + 0x88], 0
je 0x5315c8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x5315c8
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x5315c8
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edi, 0xfffffff4
jmp 0x532b40
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x5315c8
jmp 0x530870
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x5309f2
movzx ebx, byte [edi]
test edx, edx
je 0x530973
cmp ebx, 0xc0
jb 0x530973
test bl, 0x20
jne 0x5308ba
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x53096b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x5308e2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x53096b
and eax, 0x3f
test bl, 8
jne 0x530908
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 0x53096b
test bl, 4
jne 0x530937
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 0x53096b
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x530995
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5315c8
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 0x530870
jmp 0x5315c8
cmp dword [ebp + 0x88], 0
je 0x5315c8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x5315c8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x530833
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x5315c8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x5309f2
movzx ebx, byte [edi]
test edx, edx
je 0x530b3f
cmp ebx, 0xc0
jb 0x530b3f
test bl, 0x20
jne 0x530a86
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x530b37
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x530aae
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x530b37
and eax, 0x3f
test bl, 8
jne 0x530ad4
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 0x530b37
test bl, 4
jne 0x530b03
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 0x530b37
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x530b61
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5315c8
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 0x530a40
jmp 0x5315c8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x5315c8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x5309f2
movzx ebx, byte [edi]
test edx, edx
je 0x530cd3
cmp ebx, 0xc0
jb 0x530cd3
test bl, 0x20
jne 0x530c1a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x530ccb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x530c42
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x530ccb
and eax, 0x3f
test bl, 8
jne 0x530c68
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 0x530ccb
test bl, 4
jne 0x530c97
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 0x530ccb
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x530cf5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5315c8
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 0x530bd0
jmp 0x5315c8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x5315c8
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x53080e
movzx ebx, byte [edi]
test edx, edx
je 0x530e43
cmp ebx, 0xc0
jb 0x530e43
test bl, 0x20
jne 0x530da2
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x530e3b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x530dc4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x530e3b
and eax, 0x3f
test bl, 8
jne 0x530de4
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x530e3b
test bl, 4
jne 0x530e0d
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 0x530e3b
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x530e65
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x530e8c
cmp eax, 3
je 0x530e8c
xor eax, eax
jmp 0x530e91
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x5315c8
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 0x530d64
jmp 0x5315c8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x5315c8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x5309f2
movzx ebx, byte [edi]
test edx, edx
je 0x530fed
cmp ebx, 0xc0
jb 0x530fed
test bl, 0x20
jne 0x530f32
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x530fed
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x530f5a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x530fe3
and eax, 0x3f
test bl, 8
jne 0x530f80
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 0x530fe3
test bl, 4
jne 0x530faf
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 0x530fe3
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 0x531030
je case.0x531050.8192
cmp ebx, 0x85
ja 0x53101c
je case.0x531050.8192
cmp ebx, 9
jb case.0x531050.8203
cmp ebx, 0xd
jbe case.0x531050.8192
cmp ebx, 0x20
jmp 0x531065
cmp ebx, 0xa0
je case.0x531050.8192
cmp ebx, 0x1680
jmp 0x531065
cmp ebx, 0x202f
ja 0x531057
je case.0x531050.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x531050.8203
movzx eax, byte [eax + 0x537480]
jmp dword [eax*4 + 0x537478]
cmp ebx, 0x205f
je case.0x531050.8192
cmp ebx, 0x3000
je case.0x531050.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x531089
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
cmp dword [eax*4 + 0x6100f0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5315c8
mov edx, dword [esp + 0x8c]
jmp 0x5310c4
cmp dword [esi + 0x68], 0
jne 0x5315c8
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 0x530ee0
jmp 0x5315c8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x5315c8
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x5309f2
movzx ebx, byte [edi]
test edx, edx
je 0x531213
cmp ebx, 0xc0
jb 0x531213
test bl, 0x20
jne 0x53115a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x53120b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x531182
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x53120b
and eax, 0x3f
test bl, 8
jne 0x5311a8
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 0x53120b
test bl, 4
jne 0x5311d7
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 0x53120b
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 + 0x611960]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x531236
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x531262
cmp eax, 3
je 0x531262
cmp ebx, 0x5f
je 0x531262
xor eax, eax
jmp 0x531267
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x5315c8
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 0x531110
jmp 0x5315c8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x5315c8
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x5313ff
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x5313a1
cmp edx, 0xc0
jb 0x5313a1
test dl, 0x20
jne 0x531304
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x531399
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x531323
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x531399
and eax, 0x3f
test dl, 8
jne 0x531343
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x531399
test dl, 4
jne 0x53136c
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 0x531399
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 + 0x6101a0]
lea eax, [eax*4 + 0x6101a0]
cmp edx, ecx
jb 0x5313c3
lea eax, [eax + 4]
cmp edx, ecx
je 0x5313f3
mov ecx, dword [eax]
cmp edx, ecx
jae 0x5313b6
cmp dword [esi + 0x68], 0
je 0x5315c8
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 0x5312c0
jmp 0x5315c8
cmp dword [esi + 0x68], 0
jne 0x5315c8
jmp 0x5313cd
cmp dword [ebp + 0x88], 0
je 0x5315c8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x5315c8
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x5315c8
jmp 0x52a246
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x5315c8
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x5315a0
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x531557
cmp edx, 0xc0
jb 0x531557
test dl, 0x20
jne 0x53148d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x531557
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x5314b7
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 0x531557
test dl, 8
jne 0x5314e3
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 0x531557
test dl, 4
jne 0x53151b
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 0x531557
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 0x531582
cmp edx, 0x40
je 0x531582
cmp edx, 0x60
je 0x531582
cmp edx, 0xa0
jb 0x531576
cmp edx, 0xd7ff
jbe 0x531582
cmp edx, 0xe000
jae 0x531582
xor ecx, ecx
jmp 0x531587
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x5315c8
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x531441
jmp 0x5315c8
cmp dword [ebp + 0x88], 0
je 0x5315c8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x5315c8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
je 0x535a7c
jmp 0x5292da
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x531977
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x531928
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x531900
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x531700
cmp ebx, 0xc0
jb 0x531700
test bl, 0x20
jne 0x531649
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x5316fd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x531670
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x5316f6
test bl, 8
jne 0x531693
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 0x5316f6
test bl, 4
jne 0x5316c2
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 0x5316f6
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x531722
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e2]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x5318bd
jmp 0x531750
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x53184e
cmp ebx, 0xc0
jb 0x53184e
test bl, 0x20
jne 0x531785
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x531846
test bl, 0x10
jne 0x5317aa
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 0x531846
test bl, 8
jne 0x5317d8
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 0x531846
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x531812
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 0x531846
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x531870
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx ecx, byte [eax*8 + 0x6102e2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x610168], eax
je 0x5318b6
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 0x531750
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x5318ea
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x5318ea
cmp eax, dword [ebp + 0x84]
jbe 0x5318ea
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x531600
jmp 0x531928
cmp dword [ebp + 0x88], 0
je 0x531928
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x531928
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
cmp dword [esp + 0x80], 0
jne 0x5292da
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536ea5
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536e9b
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
add eax, 0xfffffffa
test edx, edx
je 0x53267e
cmp eax, 0xf
ja case.0x532687.9
jmp dword [eax*4 + 0x5374ac]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x531a66
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x5319d9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00539090
add esp, 0x14
test eax, eax
jne 0x53266b
jmp 0x5319fd
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x5319fd
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x5319fd
cmp edx, 1
je 0x53266b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x53266b
cmp dword [ebp + 0x88], 0
je 0x531a38
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x531a38
cmp dword [ebp + 0x18], 0
jne 0x531a38
cmp dword [edi], 2
jne 0x531a38
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x531a38
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x531a54
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x531a54
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x531a43
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x5319a4
jmp 0x53266b
cmp dword [ebp + 0x88], 0
je 0x53266b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53266b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53266b
jmp 0x52a246
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x531af8
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x53266b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x531a66
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x531aea
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x531aea
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x531ad2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x531ac0
jmp 0x53266b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x53266b
cmp eax, dword [ebp + 0x84]
jbe 0x53266b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53266b
jmp 0x530839
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 0x531b7f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x53266b
cmp edx, dword [ebp + 0x84]
jbe 0x53266b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x53266b
jmp 0x52a246
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x53266b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x531a66
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x531caa
test dl, 0x20
jne 0x531bde
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x531caa
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x531c08
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 0x531ca8
test dl, 8
jne 0x531c34
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 0x531ca8
test dl, 4
jne 0x531c6c
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 0x531ca8
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 0x531cc6
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x53266b
cmp byte [eax], 0xa
jne 0x531d00
inc eax
jmp 0x531cfd
cmp edx, 0xa
je 0x531cfb
cmp dword [ebp + 0x68], 0
jne 0x53266b
cmp edx, 0xb
je 0x531cfb
cmp edx, 0xc
je 0x531cfb
cmp edx, 0x85
je 0x531cfb
cmp edx, 0x2028
je 0x531cfb
cmp edx, 0x2029
jne 0x53266b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x531ba0
jmp 0x53266b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x531e7a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x531df8
test dl, 0x20
jne 0x531d5a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x531df0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x531d79
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x531df0
and eax, 0x3f
test dl, 8
jne 0x531d99
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x531df0
test dl, 4
jne 0x531dc2
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 0x531df0
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 0x531e1e
je 0x531e4c
cmp edx, 0xa0
ja 0x531e16
je 0x531e4c
cmp edx, 9
je 0x531e4c
cmp edx, 0x20
jmp 0x531e46
cmp edx, 0x1680
jmp 0x531e46
cmp edx, 0x205f
ja 0x531e40
je 0x531e4c
cmp edx, 0x2000
jb 0x531e48
cmp edx, 0x200a
jbe 0x531e4c
cmp edx, 0x202f
jmp 0x531e46
cmp edx, 0x3000
je 0x531e4c
xor edx, edx
jmp 0x531e51
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x53266b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x531d24
jmp 0x53266b
cmp dword [ebp + 0x88], 0
je 0x53266b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x53266b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x53266b
jmp 0x52a246
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x531e7a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x531f90
test dl, 0x20
jne 0x531ef2
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x531f88
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x531f11
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x531f88
and eax, 0x3f
test dl, 8
jne 0x531f31
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x531f88
test dl, 4
jne 0x531f5a
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 0x531f88
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 0x531fcf
je 0x531fda
cmp edx, 0xa
jb 0x531fa4
cmp edx, 0xd
jbe 0x531fda
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x53266b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x531ec0
jmp 0x53266b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x531fa4
mov edx, 1
jmp 0x531fa6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x531e7a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x5320c7
test dl, 0x20
jne 0x532029
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x5320bf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x532048
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5320bf
and eax, 0x3f
test dl, 8
jne 0x532068
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5320bf
test dl, 4
jne 0x532091
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 0x5320bf
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 0x5320dc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x53266b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x531ff3
jmp 0x53266b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
jmp 0x532110
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x531e7a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x5321e4
test dl, 0x20
jne 0x532146
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x5321dc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x532165
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5321dc
and eax, 0x3f
test dl, 8
jne 0x532185
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5321dc
test dl, 4
jne 0x5321ae
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 0x5321dc
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 0x53266b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x53266b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x532110
jmp 0x53266b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
jmp 0x532230
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x531e7a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x532304
test dl, 0x20
jne 0x532266
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x5322fc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x532285
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5322fc
and eax, 0x3f
test dl, 8
jne 0x5322a5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5322fc
test dl, 4
jne 0x5322ce
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 0x5322fc
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 0x532319
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x53266b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x532230
jmp 0x53266b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x531e7a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x532417
test dl, 0x20
jne 0x532379
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53240f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x532398
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53240f
and eax, 0x3f
test dl, 8
jne 0x5323b8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53240f
test dl, 4
jne 0x5323e1
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 0x53240f
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 0x53266b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x53266b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x532343
jmp 0x53266b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x531e7a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x532534
test dl, 0x20
jne 0x532496
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53252c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5324b5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53252c
and eax, 0x3f
test dl, 8
jne 0x5324d5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53252c
test dl, 4
jne 0x5324fe
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 0x53252c
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 0x532549
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x53266b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x532460
jmp 0x53266b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x53266b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x531e7a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x532647
test dl, 0x20
jne 0x5325a9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x53263f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5325c8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x53263f
and eax, 0x3f
test dl, 8
jne 0x5325e8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x53263f
test dl, 4
jne 0x532611
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 0x53263f
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 0x53266b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x53266b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x532573
cmp dword [esp + 0x80], 0
je 0x534f38
jmp 0x5292da
cmp eax, 0xf
ja case.0x532687.9
jmp dword [eax*4 + 0x5374ec]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x532b17
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x532744
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x5326d0
push 0
push edi
push eax
push edx
push ecx
call fcn.00539090
add esp, 0x14
test eax, eax
jne 0x532b17
jmp 0x5326f4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x5326f4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x5326f4
cmp edx, 1
je 0x532b17
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x532b17
cmp dword [ebp + 0x88], 0
je 0x53272f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x53272f
cmp dword [ebp + 0x18], 0
jne 0x53272f
cmp dword [edi], 2
jne 0x53272f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x53272f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x5326a0
jmp 0x532b17
cmp dword [ebp + 0x88], 0
je 0x532b17
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x532b17
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x532b17
jmp 0x52a246
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 0x5327c8
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x532b17
cmp edx, dword [ebp + 0x84]
jbe 0x532b17
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x532b17
jmp 0x52a246
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x532b17
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x532b17
jmp 0x5327f0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x532744
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x53281b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x532b17
cmp byte [eax], 0xa
jne 0x532845
inc eax
jmp 0x532842
cmp eax, 0xa
je 0x53283f
cmp dword [ebp + 0x68], 0
jne 0x532b17
cmp eax, 0xb
je 0x53283f
cmp eax, 0xc
je 0x53283f
cmp eax, 0x85
jne 0x532b17
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x5327f0
jmp 0x532b17
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x532b17
jmp 0x532870
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x532744
mov al, byte [ecx]
cmp al, 9
je 0x532b17
cmp al, 0x20
je 0x532b17
cmp al, 0xa0
je 0x532b17
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x532870
jmp 0x532b17
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x532b17
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x532744
mov al, byte [ecx]
cmp al, 9
je 0x5328de
cmp al, 0x20
je 0x5328de
cmp al, 0xa0
jne 0x532b17
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x5328c0
jmp 0x532b17
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x532b17
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x532744
mov al, byte [ecx]
cmp al, 0xa
jb 0x532926
cmp al, 0xd
jbe 0x532b17
cmp al, 0x85
je 0x532b17
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x532904
jmp 0x532b17
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x532b17
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x532744
mov al, byte [ecx]
cmp al, 0xa
jb 0x532b17
cmp al, 0xd
jbe 0x532972
cmp al, 0x85
jne 0x532b17
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x532950
jmp 0x532b17
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x532b17
jmp 0x5329a0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x532744
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x532b17
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x5329a0
jmp 0x532b17
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x532b17
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x532744
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x532b17
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x5329e2
jmp 0x532b17
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x532b17
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x532744
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x532b17
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x532a24
jmp 0x532b17
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x532b17
jmp 0x532a70
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x532744
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x532b17
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x532a70
jmp 0x532b17
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x532b17
jmp 0x532ab0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x532744
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x532b17
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x532ab0
jmp 0x532b17
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x532b17
jmp 0x532af0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x532744
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x532b17
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x532af0
cmp dword [esp + 0x80], 0
je 0x533b7a
jmp 0x5292da
mov esi, dword [esi]
test esi, esi
je 0x536ff1
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.0x532b54
jmp dword [eax*4 + 0x53752c]
cmp edi, 0xfffffc1b
je 0x532c26
cmp edi, 0xfffffc20
jne 0x532ba3
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.0x532b54.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x532b9f
cmp byte [ecx], 0x77
jne case.0x532b54.49
xor edi, edi
jmp 0x532bab
test edi, edi
jne case.0x532b54.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 0x532c26
cmp dword [esi + 0x9c], 0x88
jb 0x532bf1
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x53697a
push 0x134
call dword [0x75b1b8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x536970
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x53301c
mov edx, dword [esp + 0x8c]
jmp 0x532b44
cmp edi, 0xfffffc20
jne 0x532ce3
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 0x532d31
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x532cae
cmp byte [ecx], 0x77
jne 0x532d31
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 0x532d47
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b44
test edi, edi
je 0x532cae
cmp edi, 0xfffffc1b
jne 0x532d31
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x532d23
cmp al, 0x77
jne 0x532d14
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 0x532d00
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 0x53301c
mov edx, dword [esp + 0x8c]
jmp 0x532b44
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x532d99
cmp eax, 0x81
je 0x532d99
cmp dword [ebp + 0x6c], 0
jne 0x532da3
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 0x532da3
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x60ffd8]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x529260
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 0x53699c
push 0x134
call dword [0x75b1b8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x536992
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
cmp edi, 1
jne 0x532e63
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x532e00
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x532e13
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 0x532e49
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 0x532e30
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x60ffd8]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x52970e.145
test edi, edi
je 0x532e73
cmp edi, 0xfffffc20
jne case.0x532b54.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x532e89
movzx eax, byte [edx + 0x60ffd8]
jmp 0x532e8c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x532ea9
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x5292e1
cmp dword [esi + 0x9c], 0x8c
jne 0x529260
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5369be
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5369b4
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
cmp edi, 1
je 0x532fa2
cmp edi, 0xfffffc19
je 0x532fa2
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x532f4a
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.0x532b54.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x532f52
cmp byte [ecx], 0x77
jmp 0x532f4c
test edi, edi
jne case.0x532b54.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 0x532fa8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5369d7
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5369cd
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x532fc1
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b44
cmp dword [esi + 0x58], 0
je 0x5365fe
mov esi, dword [esi]
test esi, esi
je 0x536f96
mov edi, 1
jmp 0x532b44
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x53308d
je 0x533026
cmp edi, 0xfffffc19
je 0x5338c3
cmp edi, 0xfffffc1b
jle case.0x532b54.49
cmp edi, 0xfffffc1f
jle 0x53304e
mov esi, dword [esi]
test esi, esi
jne 0x532b44
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 0x53304e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x5330a0
cmp byte [ecx], 0x77
je 0x5330a0
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 0x533051
cmp dword [esi + 0x58], 0
je 0x5332d7
mov esi, dword [esi]
test esi, esi
je 0x536f96
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x532b44
mov eax, edi
sub eax, 0
je 0x5330a0
dec eax
je 0x5338c3
jmp case.0x532b54.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 0x533068
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5369ed
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x5369e3
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
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 0x53662c
cmp edi, 0xfffffc19
je 0x53662c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x533159
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x52a0db
push ecx
call dword [0x75b1b4]
add esp, 4
jmp 0x52a0db
test edi, edi
je 0x533183
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x533174
push ecx
call dword [0x75b1b4]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x53301c
jmp 0x532b39
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 0x5331e9
cmp dword [esi + 0x58], 0
je 0x5331b4
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x536a33
push 0x134
call dword [0x75b1b8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x536a29
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x533139
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x533243
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536a81
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536a77
mov esi, dword [esi]
test esi, esi
je 0x536f4b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x532b44
cmp al, 0x88
jb 0x536784
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536aa3
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536a99
mov esi, dword [esi]
test esi, esi
je 0x536f4b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x532b44
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x536fa3
mov edi, 0xfffffc1b
jmp 0x532b44
test edi, edi
jne case.0x532b54.49
mov edx, dword [esi + 0x2c]
jmp 0x5332c0
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 0x5332c0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x5292da
test edi, edi
je 0x52ab54
jmp case.0x532b54.49
test edi, edi
je 0x53328f
jmp case.0x532b54.49
cmp edi, 0xfffffc1b
jne 0x53330b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x53330d
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x5340fb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536ac5
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536abb
mov esi, dword [esi]
test esi, esi
je 0x536f4b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x532b44
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x533380
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.00537780
add esp, 0x14
test eax, eax
jns 0x5333e7
cmp eax, 0xfffffffe
jne 0x5333a9
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x534ec1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x534ec1
cmp eax, dword [ebp + 0x84]
jbe 0x534ec1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52c0fe
jmp 0x534ec1
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536aea
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536ae0
mov esi, dword [esi]
test esi, esi
je 0x536f4b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x532b44
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x530266.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536b03
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536af9
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5334a7
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x534fa6
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 0x534ec1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536b1c
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536b12
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x52a0db
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536b35
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536b2b
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x533581
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x534fa6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x5335b1
cmp dword [esi + 0x94], ecx
je 0x5335b1
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b44
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536b4e
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536b44
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
dec dword [esi + 8]
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536b67
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536b5d
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x533661
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x534fa6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x534ec1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536b80
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536b76
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
dec dword [esi + 8]
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536b99
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536b8f
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53372e
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x534fa6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x5338c3
cmp dword [esi + 0x94], ecx
je 0x5338c3
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536bb2
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536ba8
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536bcb
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536bc1
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x533805
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x534fa6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x534ec1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536be1
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536bd7
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536bf7
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536bed
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5338d4
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b44
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x53391b
cmp dword [ebp + 0x88], 0
je 0x533903
cmp ecx, dword [ebp + 0x84]
jbe 0x533903
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52c0fe
mov esi, dword [esi]
test esi, esi
je 0x536f58
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x532b44
cmp dword [esi + 0x7c], 0xc
jne 0x533942
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x533964
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00539090
add esp, 0x14
test eax, eax
jne 0x533981
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.0x53395d.15
jmp dword [eax*4 + 0x537638]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x533942
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x533942
cmp edi, 1
je 0x533981
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x533942
mov esi, dword [esi]
test esi, esi
je 0x536f58
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x532b44
cmp dword [ebp + 0x88], 0
je case.0x53395d.13
cmp edx, dword [ebp + 0x78]
jb case.0x53395d.13
cmp dword [ebp + 0x18], 0
jne case.0x53395d.13
cmp dword [ebp + 0x1c], 2
jne case.0x53395d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x53395d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52c0fe
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536c0d
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536c03
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x533a1d.14
movzx eax, byte [ecx + 0x537688]
jmp dword [eax*4 + 0x537678]
cmp edx, dword [ebp + 0x78]
jae case.0x53395d.13
cmp byte [edx], 0xa
jne case.0x53395d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x53395d.13
cmp dword [ebp + 0x68], 0
je case.0x53395d.13
jmp case.0x533a1d.14
cmp ecx, 9
je case.0x533a1d.14
cmp ecx, 0x20
je case.0x533a1d.14
cmp ecx, 0xa0
jmp 0x533b1a
cmp ecx, 9
je case.0x53395d.13
cmp ecx, 0x20
je case.0x53395d.13
cmp ecx, 0xa0
je case.0x53395d.13
jmp case.0x533a1d.14
cmp ecx, 0xa
jb case.0x53395d.13
cmp ecx, 0xd
jbe case.0x533a1d.14
cmp ecx, 0x85
jmp 0x533b1a
cmp ecx, 0xa
jb case.0x533a1d.14
cmp ecx, 0xd
jbe case.0x53395d.13
cmp ecx, 0x85
je case.0x53395d.13
jmp case.0x533a1d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x53395d.13
jmp case.0x533a1d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x533b1a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x53395d.13
jmp case.0x533a1d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x533b1a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x53395d.13
mov esi, dword [esi]
test esi, esi
je 0x536f58
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x532b44
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x53395d.13
mov esi, dword [esi]
test esi, esi
je 0x536f58
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x532b44
mov esi, dword [esi]
test esi, esi
je case.default.0x532b54
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x532b44
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x533b7a
cmp eax, dword [esi + 0x30]
jbe 0x533b7a
cmp byte [eax], 0xa
jne 0x533b7a
cmp byte [eax - 1], 0xd
jne 0x533b7a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536c23
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536c19
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
cmp edi, 0xfffffc1a
jne 0x533c11
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 0x533c09
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 0x533bf0
jmp 0x533c68
mov dword [esi + 8], eax
jmp 0x533c8d
cmp edi, 0xfffffc20
jne 0x533c45
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.0x532b54.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x533c4d
cmp byte [ecx], 0x77
jmp 0x533c47
test edi, edi
jne case.0x532b54.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 0x533c81
cmp dword [esi + 0x5c], 0
jne 0x5332d7
cmp dword [esi + 0x54], 0
jne 0x5332d7
jmp 0x534ec1
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x533ca3
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x536c65
push 0x134
call dword [0x75b1b8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x536c5b
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
mov esi, dword [esi]
test edi, edi
jne 0x533014
test esi, esi
je 0x536fbd
mov edi, 0xfffffc1c
jmp 0x532b44
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x536fd7
mov edi, 0xfffffc1e
jmp 0x532b44
cmp edi, 1
je 0x533d23
cmp edi, 0xfffffc19
jne 0x533d3d
cmp dword [ebp + 0xac], 0
jne 0x533d3d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x532d31
cmp edi, 0xfffffc1f
jne 0x532d31
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x533d72
test dl, dl
je 0x533d6e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x533d72
add eax, 2
add ecx, 2
test dl, dl
jne 0x533d52
xor eax, eax
jmp 0x533d77
sbb eax, eax
or eax, 1
test eax, eax
jne 0x532d31
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x536fd7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x532b44
cmp edi, 1
je 0x533dad
cmp edi, 0xfffffc19
jne case.0x532b54.51
cmp dword [ebp + 0xac], 0
jne case.0x532b54.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x533014
test esi, esi
je 0x536fb0
mov edi, 0xfffffc1d
jmp 0x532b44
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x536fe4
mov edi, 0xfffffc1f
jmp 0x532b44
cmp edi, 1
je 0x533e10
cmp edi, 0xfffffc19
jne case.0x532b54.54
cmp dword [ebp + 0xac], 0
jne case.0x532b54.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x536fca
mov edi, 0xfffffc20
jmp 0x532b44
cmp edi, 0xfffffc1a
jne 0x533eb1
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 0x533ea9
mov edx, dword [esi + 0xc]
jmp 0x533e90
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 0x533e90
jmp 0x533f18
mov dword [esi + 8], eax
jmp 0x529e12
cmp edi, 0xfffffc20
jne 0x533ee5
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.0x532b54.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x533eed
cmp byte [ecx], 0x77
jmp 0x533ee7
test edi, edi
jne case.0x532b54.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 0x529e12
cmp dword [esi + 0x5c], 0
jne 0x533f58
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 0x5292d6
cmp dword [esi + 0x5c], 0
jne 0x5292d6
jmp 0x534ec1
cmp edi, 1
jne 0x534014
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x533f91
cmp al, 0x77
jne 0x534ec1
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 0x533f91
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 0x5292d6
cmp ecx, dword [esi + 0x38]
je 0x5292d6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x5340ad
test ecx, ecx
jne 0x536cce
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536cc4
mov esi, dword [esi]
test esi, esi
je 0x536f4b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x532b44
cmp edi, 0xfffffc20
jne 0x534048
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.0x532b54.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x534050
cmp byte [ecx], 0x77
jmp 0x53404a
test edi, edi
jne case.0x532b54.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 0x533f80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536ca9
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536c9f
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test ecx, ecx
jne 0x536cf3
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536ce9
mov esi, dword [esi]
test esi, esi
je 0x536f4b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x532b44
test edi, edi
je 0x536784
jmp case.0x532b54.49
test edi, edi
jne case.0x532b54.49
add dword [esi + 0xc], 3
jmp 0x529260
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x534129
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x53422a
cmp ebx, 0xc0
jb 0x53422a
test bl, 0x20
jne 0x53416b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x534227
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x534195
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x53422a
mov edx, dword [esi + 8]
test bl, 8
jne 0x5341bb
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 0x53421e
test bl, 4
jne 0x5341ea
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 0x53421e
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.00538a20
add esp, 0xc
test eax, eax
je 0x52a0db
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536d15
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536d0b
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x534ec1
cmp dword [esp + 0x8c], edi
je 0x5342b1
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x5342b1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x5342a5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536d2e
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536d24
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53430b
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x534400
test bl, 0x20
jne 0x534345
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5343fd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53436f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x534400
mov edx, dword [esi + 8]
test bl, 8
jne 0x534398
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 0x5343fb
test bl, 4
jne 0x5343c7
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 0x5343fb
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 0x534416
cmp dword [esi + 0x9c], 0x6e
jne 0x534433
jmp 0x52a0db
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 0x52a0db
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536d47
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536d3d
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x52a0db
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x53449c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x534490
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536d60
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536d56
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5344f6
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
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 0x534565
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x534525
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x53452a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x534514
cmp edi, 0xfffffffc
je 0x534557
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x534562
cmp edi, 0xfffffffd
je 0x534557
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x534562
cmp edi, 0xfffffffe
je 0x534557
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x534562
cmp edi, 0xffffffff
je 0x534557
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x534562
mov eax, dword [esi + 0x88]
jmp 0x5345d0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x534610
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x534610
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x534597
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x53459c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x534586
cmp edi, 0xfffffffc
je 0x5345cd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x534610
cmp edi, 0xfffffffd
je 0x5345cd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x534610
cmp edi, 0xfffffffe
je 0x5345cd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x534610
cmp edi, 0xffffffff
je 0x5345cd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x534610
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 0x536d79
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536d6f
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
cmp dword [ebp + 0x88], 0
je case.0x530266.14
cmp ebx, dword [ebp + 0x78]
jb case.0x530266.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x530266.14
jmp 0x52a232
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53465c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x534650
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536d92
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536d88
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5346c2
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x5347c2
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x5346fc
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x5347bf
test dl, 0x10
jne 0x53471e
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 0x5347c2
mov ecx, dword [esi + 8]
test dl, 8
jne 0x53474e
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 0x5347bf
test dl, 4
jne 0x534784
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 0x5347bf
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 0x533981
cmp dword [esi + 0x94], edx
je 0x533981
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x534809
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x533415
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x536c2d
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x53483c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x534830
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536dab
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536da1
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5348a2
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x534997
test bl, 0x20
jne 0x5348dc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x534994
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x534906
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x534997
mov edx, dword [esi + 8]
test bl, 8
jne 0x53492f
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 0x534992
test bl, 4
jne 0x53495e
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 0x534992
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 0x52a0db
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536dc4
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536dba
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x534a00
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x5349f4
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536ddd
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536dd3
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x534a66
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x534aa2
cmp dword [ebp + 0x88], 0
je 0x534ec1
cmp ecx, dword [ebp + 0x84]
jbe 0x534ec1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52c0fe
jmp 0x534ec1
cmp dword [esi + 0x7c], 0xc
jne 0x534af4
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x534acf
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00539090
add esp, 0x14
test eax, eax
jne 0x534ec1
jmp 0x534af4
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x534af4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x534af4
cmp edi, 1
je 0x534ec1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x534ec1
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x534bdc
test dl, 0x20
jne 0x534b27
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x534bd9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x534b4e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x534bd7
test dl, 8
jne 0x534b74
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 0x534bd7
test dl, 4
jne 0x534ba3
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 0x534bd7
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.0x534beb.15
jmp dword [eax*4 + 0x537704]
cmp dword [ebp + 0x88], 0
je case.0x534beb.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x534beb.13
cmp dword [ebp + 0x18], 0
jne case.0x534beb.13
cmp dword [ebp + 0x1c], 2
jne case.0x534beb.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x534beb.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x534beb.13
jmp 0x52c0fe
cmp edx, 0xd
ja 0x534c6e
je 0x534c5b
cmp edx, 0xa
je case.0x534beb.13
jbe 0x534ec1
cmp edx, 0xc
jmp 0x534c88
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x534beb.13
cmp byte [eax], 0xa
jne case.0x534beb.13
inc eax
mov dword [esi + 8], eax
jmp case.0x534beb.13
cmp edx, 0x85
je 0x534c8e
cmp edx, 0x2027
jbe 0x534ec1
cmp edx, 0x2029
ja 0x534ec1
cmp dword [ebp + 0x68], 0
je case.0x534beb.13
jmp 0x534ec1
cmp edx, 0x180e
ja 0x534d0d
je 0x534ec1
cmp edx, 0xa0
ja 0x534d05
je 0x534ec1
cmp edx, 9
je 0x534ec1
cmp edx, 0x20
je 0x534ec1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x534cf6
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x533415
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x536c2d
cmp edx, 0x1680
jmp 0x534cc1
cmp edx, 0x205f
ja 0x534d37
je 0x534ec1
cmp edx, 0x2000
jb case.0x534beb.13
cmp edx, 0x200a
jbe 0x534ec1
cmp edx, 0x202f
jmp 0x534cc1
cmp edx, 0x3000
jmp 0x534ebb
cmp edx, 0x180e
ja 0x534d74
je case.0x534beb.13
cmp edx, 0xa0
ja 0x534d6c
je case.0x534beb.13
cmp edx, 9
je case.0x534beb.13
cmp edx, 0x20
jmp 0x534da8
cmp edx, 0x1680
jmp 0x534da8
cmp edx, 0x205f
ja 0x534da2
je case.0x534beb.13
cmp edx, 0x2000
jb 0x534ec1
cmp edx, 0x200a
jbe case.0x534beb.13
cmp edx, 0x202f
jmp 0x534da8
cmp edx, 0x3000
je case.0x534beb.13
jmp 0x534ec1
cmp edx, 0x85
ja 0x534dd8
je 0x534ec1
cmp edx, 0xa
jb case.0x534beb.13
cmp edx, 0xd
jbe 0x534ec1
jmp case.0x534beb.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x534beb.13
jmp 0x534ec1
cmp edx, 0x85
ja 0x534e08
je case.0x534beb.13
cmp edx, 0xa
jb 0x534ec1
cmp edx, 0xd
jmp 0x534e11
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x534beb.13
jmp 0x534ec1
cmp edx, 0x100
jae case.0x534beb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x534beb.13
jmp 0x534ec1
cmp edx, 0x100
jae 0x534ec1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x534ebb
cmp edx, 0x100
jae case.0x534beb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x534beb.13
jmp 0x534ec1
cmp edx, 0x100
jae 0x534ec1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x534ebb
cmp edx, 0x100
jae case.0x534beb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x534beb.13
mov esi, dword [esi]
test esi, esi
je 0x536f58
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x532b44
cmp edx, 0x100
jae 0x534ec1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x534beb.13
mov esi, dword [esi]
test esi, esi
je 0x536f58
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x532b44
mov esi, dword [esi]
test esi, esi
je case.default.0x532b54
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x532b44
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x534f1c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x534f10
cmp dword [esi + 0x7c], 0x11
jne 0x534f38
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x534f38
cmp byte [eax], 0xa
jne 0x534f38
dec eax
cmp byte [eax], 0xd
jne 0x534f38
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536df6
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536dec
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x534f9e
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x534fbe
cmp dword [ebp + 0x88], 0
je 0x5338c3
cmp eax, dword [ebp + 0x84]
jmp 0x535719
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x534ffd
cmp ecx, 0xc0
jb 0x534ffd
test cl, 0x20
jne 0x534fd9
inc eax
jmp 0x534ffa
test cl, 0x10
jne 0x534fe3
add eax, 2
jmp 0x534ffa
test cl, 8
jne 0x534fed
add eax, 3
jmp 0x534ffa
test cl, 4
jne 0x534ff7
add eax, 4
jmp 0x534ffa
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x535014
mov esi, dword [esi]
test esi, esi
je 0x536f58
xor edi, edi
jmp 0x532b44
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x535043
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x533415
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x536c2d
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x535077
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x535171
cmp ebx, 0xc0
jb 0x535171
test bl, 0x20
jne 0x5350b9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x53516e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5350e3
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x535171
mov edx, dword [esi + 8]
test bl, 8
jne 0x535109
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 0x53516c
test bl, 4
jne 0x535138
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 0x53516c
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x535193
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
cmp eax, 9
je 0x5351b8
cmp eax, 5
je 0x5351b8
cmp eax, 8
je 0x5351b8
xor eax, eax
jmp 0x5351bd
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x52a0db
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536e0f
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536e05
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x535226
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x53531c
cmp ebx, 0xc0
jb 0x53531c
test bl, 0x20
jne 0x535268
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x535319
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x535290
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x53531c
mov edx, dword [esi + 8]
test bl, 8
jne 0x5352b6
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 0x535319
test bl, 4
jne 0x5352e5
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 0x535319
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x53533e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x52a0db
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536e28
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536e1e
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5353c8
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x5354be
cmp ebx, 0xc0
jb 0x5354be
test bl, 0x20
jne 0x53540a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5354bb
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x535432
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x5354be
mov edx, dword [esi + 8]
test bl, 8
jne 0x535458
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 0x5354bb
test bl, 4
jne 0x535487
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 0x5354bb
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x5354e0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x52a0db
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536e41
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536e37
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x535563
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x535659
cmp ebx, 0xc0
jb 0x535659
test bl, 0x20
jne 0x5355a5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x535656
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5355cd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x535659
mov edx, dword [esi + 8]
test bl, 8
jne 0x5355f3
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 0x535656
test bl, 4
jne 0x535622
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 0x535656
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x53567b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x52a0db
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536e5a
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536e50
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5356fe
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x535747
cmp dword [ebp + 0x88], 0
je 0x5338c3
cmp edi, dword [ebp + 0x84]
jbe 0x5338c3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x5338c3
mov esi, dword [esi]
test esi, esi
je 0x536f7c
mov edi, 0xfffffff4
jmp 0x532b44
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x535835
cmp ebx, 0xc0
jb 0x535835
test bl, 0x20
jne 0x53577d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x535832
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5357a7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x535835
mov edx, dword [esi + 8]
test bl, 8
jne 0x5357cd
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 0x535830
test bl, 4
jne 0x5357fc
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 0x535830
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x535857
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x5359e8
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x535987
cmp ebx, 0xc0
jb 0x535987
test bl, 0x20
jne 0x5358bb
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x53597f
test bl, 0x10
jne 0x5358e0
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 0x53597f
test bl, 8
jne 0x535911
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 0x53597f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x53594b
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 0x53597f
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x5359a9
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx ecx, byte [eax*8 + 0x6102e2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x610168], eax
je 0x5359e8
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x535880
cmp dword [ebp + 0x88], 0
je 0x535a15
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x535a15
cmp eax, dword [ebp + 0x84]
jbe 0x535a15
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x52a246
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536e73
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536e69
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x535a7c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x535a7c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x535a70
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x529260
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536e8c
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536e82
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x535ad7
movzx ebx, byte [ecx]
jmp 0x535bc5
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x535aec
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x535ae0
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x535bc5
test bl, 0x20
jne 0x535b0f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x535bbd
test bl, 0x10
jne 0x535b2f
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 0x535bbd
test bl, 8
jne 0x535b58
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 0x535bbd
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x535b8d
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 0x535bbd
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x535be7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e2]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x529260
dec edi
cmp dword [esp + 0x8c], 0
jne 0x535c1f
movzx ebx, byte [edi]
jmp 0x535cde
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x535c31
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x535c27
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x535cde
test bl, 0x20
jne 0x535c51
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x535cd6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x535c6e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x535cd6
and eax, 0x3f
test bl, 8
jne 0x535c89
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x535cd6
test bl, 4
jne 0x535cad
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 0x535cd6
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x535d00
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx edx, byte [eax*8 + 0x6102e2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x610168], eax
je 0x531936
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x535c00
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x535d61
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x535e5b
cmp ebx, 0xc0
jb 0x535e5b
test bl, 0x20
jne 0x535da3
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x535e58
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x535dcd
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x535e5b
mov edx, dword [esi + 8]
test bl, 8
jne 0x535df3
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 0x535e56
test bl, 4
jne 0x535e22
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 0x535e56
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 + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x535e7d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x535ea4
cmp eax, 3
je 0x535ea4
xor eax, eax
jmp 0x535ea9
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x52a0db
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536ebe
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536eb4
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x535f12
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x536013
cmp ebx, 0xc0
jb 0x536013
test bl, 0x20
jne 0x535f54
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x536010
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x535f7e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x536013
mov edx, dword [esi + 8]
test bl, 8
jne 0x535fa4
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 0x536007
test bl, 4
jne 0x535fd3
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 0x536007
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 0x53603e
cmp ebx, 0x40
je 0x53603e
cmp ebx, 0x60
je 0x53603e
cmp ebx, 0xa0
jb 0x536032
cmp ebx, 0xd7ff
jbe 0x53603e
cmp ebx, 0xe000
jae 0x53603e
xor eax, eax
jmp 0x536043
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x52aa22
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536ed7
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536ecd
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5360ac
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x5361ad
cmp ebx, 0xc0
jb 0x5361ad
test bl, 0x20
jne 0x5360ee
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5361aa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x536118
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5361ad
mov edx, dword [esi + 8]
test bl, 8
jne 0x53613e
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 0x5361a1
test bl, 4
jne 0x53616d
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 0x5361a1
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 0x5361f0
je case.0x536210.8192
cmp ebx, 0x85
ja 0x5361dc
je case.0x536210.8192
cmp ebx, 9
jb case.0x536210.8203
cmp ebx, 0xd
jbe case.0x536210.8192
cmp ebx, 0x20
jmp 0x536225
cmp ebx, 0xa0
je case.0x536210.8192
cmp ebx, 0x1680
jmp 0x536225
cmp ebx, 0x202f
ja 0x536217
je case.0x536210.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x536210.8203
movzx eax, byte [eax + 0x53774c]
jmp dword [eax*4 + 0x537744]
cmp ebx, 0x205f
je case.0x536210.8192
cmp ebx, 0x3000
je case.0x536210.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x611960]
shl eax, 7
and ebx, 0x8000007f
jns 0x536249
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
cmp dword [eax*4 + 0x6100f0], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x53627c
jmp 0x52a0db
cmp dword [esi + 0x68], 0
jne 0x52aa22
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536ef0
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536ee6
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x5362dc
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x5363d2
cmp ebx, 0xc0
jb 0x5363d2
test bl, 0x20
jne 0x53631e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5363cf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x536346
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x5363d2
mov edx, dword [esi + 8]
test bl, 8
jne 0x53636c
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 0x5363cf
test bl, 4
jne 0x53639b
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 0x5363cf
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 + 0x611960]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x5363f5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x613b60]
movzx eax, byte [eax*8 + 0x6102e1]
mov eax, dword [eax*4 + 0x6100f0]
cmp eax, 1
je 0x536421
cmp eax, 3
je 0x536421
cmp ebx, 0x5f
je 0x536421
xor eax, eax
jmp 0x536426
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x52a0db
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536f09
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536eff
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
test edi, edi
jne case.0x532b54.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x53648f
mov esi, dword [esi]
test esi, esi
je 0x536f58
jmp 0x532b44
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x535706
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x53658c
cmp ebx, 0xc0
jb 0x53658c
test bl, 0x20
jne 0x5364d1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x536589
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5364f9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x53658c
mov edx, dword [esi + 8]
test bl, 8
jne 0x53651f
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 0x536582
test bl, 4
jne 0x53654e
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 0x536582
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 + 0x6101a0]
lea eax, [eax*4 + 0x6101a0]
cmp ebx, ecx
jb 0x5365ae
lea eax, [eax + 4]
cmp ebx, ecx
je 0x5365f3
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x5365a1
cmp dword [esi + 0x68], 0
je 0x52aa22
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x536f22
push 0x134
call dword [0x75b1b8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x536f18
mov esi, dword [esi]
test esi, esi
je 0x536f4b
lea edi, [eax - 6]
jmp 0x532b39
cmp dword [esi + 0x68], 0
je 0x5365b8
jmp 0x52aa22
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 0x536601
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x5292da
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x536643
push ecx
call dword [0x75b1b4]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x5292da
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x534439
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x534245
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x5345db
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x5347e0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x5349a9
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x53501a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x5351cc
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x53536e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x535509
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x5356a4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x535eb8
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x536282
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x536435
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x5365be
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x536052
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x534ccd
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x535a1b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x529260
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 + 0x60ffd8]
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 0x529250
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 0x536a46
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 0x536a46
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x53679f
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 0x536a46
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x53679f
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 0x536a46
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x53679f
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 0x529250
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 0x536c36
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 0x536c36
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 0x536c36
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 0x536c36
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 0x536c36
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 0x536a46
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 0x536a46
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x5369f7
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 0x529250
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 + 0x60ffd8]
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 0x529250
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 0x536c36
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 0x536c36
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 0x536c36
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x536c2d
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 0x529250
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 0x536a46
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 0x536a46
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 0x536c36
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 0x536c36
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 0x536c36
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x536c2d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x536c2d
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