Function at 0x5340e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
xor ecx, ecx
sub esp, 0x138
cmp dword [esp + 0x140], ecx
jne 0x534131
cmp dword [esp + 0x154], ecx
lea eax, [esp + 0x154]
jne 0x534117
push 1
push ecx
push ecx
push ecx
push ecx
push ecx
push eax
call fcn.005340e0
add esp, 0x138
ret 0x1c
sub eax, dword [esp + 0x13c]
cmp eax, ecx
jle 0x54153c
neg eax
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x14c]
mov edx, dword [eax + 0x4c]
push ebx
push ebp
mov dword [esp + 0xc], edx
mov edx, dword [eax]
cmp edx, dword [eax + 4]
push esi
push edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], ecx
jae 0x53e1ca
mov esi, dword [esp + 0x14c]
lea ecx, [ecx]
add edx, 1
mov dword [eax], edx
mov edx, dword [esp + 0x164]
cmp edx, dword [eax + 8]
jae 0x53e1df
cmp dword [eax + 0x98], 2
jne 0x5341a0
mov edx, dword [esp + 0x160]
mov dword [esp + 0x60], edx
lea edx, [esp + 0x60]
mov dword [esp + 0x64], esi
mov dword [esp + 0x160], edx
mov dword [eax + 0x98], ecx
mov edi, edi
mov edx, dword [esp + 0x150]
mov al, byte [edx]
movzx ebx, al
xor ecx, ecx
cmp ebx, 0xa1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ebx
ja case.0x5341cd.98
movzx edi, byte [ebx + 0x541694]
jmp dword [edi*4 + 0x541548]
mov edi, dword [esp + 0x15c]
add dword [edi + 0x28], 1
mov eax, dword [edi + 0x28]
cmp eax, dword [edi + 0x2c]
ja 0x53e477
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x568388]
movzx eax, byte [edx + 1]
add eax, edx
add eax, ecx
mov dword [esp + 0x150], eax
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
mov ecx, dword [edi + 0xac]
mov ebx, dword [esp + 0x160]
mov ebp, dword [esp + 0x154]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], ecx
lea ecx, [ecx]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
add edx, 1
push edx
push ebx
push edi
push eax
push ebp
add ecx, 3
push ecx
push esi
call fcn.005340e0
cmp eax, 1
je 0x5342c2
cmp eax, 0xfffffc20
jne 0x53428d
mov edx, dword [esp + 0x150]
xor ecx, ecx
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x541538
cmp byte [edx], 0x77
je 0x53429c
cmp byte [ecx], 0x77
jne 0x541538
jmp 0x53429c
test eax, eax
jne 0x541538
mov edx, dword [esp + 0x150]
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
mov dword [edi + 0xac], ecx
add edx, eax
cmp byte [edx], 0x77
mov dword [esp + 0x150], edx
je 0x534230
jmp 0x5342d3
mov ebp, dword [edi + 0x7c]
mov edx, dword [esp + 0x150]
mov dword [esp + 0x154], ebp
mov al, byte [edx]
cmp al, 0x82
je 0x5342e1
cmp al, 0x77
jne case.0x5413b8.14
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je 0x5342e1
cmp byte [edx], 0x78
mov eax, dword [edi + 0x8c]
mov esi, dword [edi + 0x80]
mov dword [esp + 0x150], edx
mov dword [esp + 0x158], eax
je 0x534319
cmp esi, dword [esp + 0x28]
jne 0x53dc4f
add edx, 3
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov dword [esp + 0x24], ecx
jmp 0x534eba
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x15c]
mov eax, dword [esp + 0x150]
sub eax, dword [edi + 0x70]
mov edx, dword [edi + 0x90]
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x154]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
lea ebx, [ebx]
cmp dword [esp + 0x2c], 0x88
jb 0x534384
mov dword [edi + 0x98], 2
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
add eax, 1
push eax
mov eax, dword [esp + 0x154]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x568388]
push edi
push ebx
push ebp
add ecx, eax
push ecx
push esi
call fcn.005340e0
cmp eax, 0xfffffc1a
jne 0x534fd4
mov eax, dword [edi + 0x70]
add eax, dword [esp + 0x20]
cmp esi, dword [edi + 0x80]
mov ebx, dword [edi + 0x8c]
mov ebp, dword [edi + 0x7c]
mov dword [esp + 0x158], ebx
mov dword [esp + 0x150], eax
mov dword [esp + 0x1c], 1
mov dword [esp + 0x154], ebp
je 0x535040
mov esi, dword [edi + 0x80]
jmp 0x534370
mov ebp, dword [esp + 0x15c]
xor ecx, ecx
mov ch, byte [edx + 1]
add edx, 3
cmp byte [edx], 0x76
mov dword [esp + 0x150], edx
mov cl, byte [edx - 1]
mov dword [esp + 0x20], ecx
jne 0x534514
mov ecx, dword [0x58b56c]
test ecx, ecx
je 0x534500
mov dword [esp + 0x68], 2
movzx eax, byte [edx + 1]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x154]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x7c], eax
mov eax, esi
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x80], eax
xor eax, eax
mov ah, byte [edx + 2]
mov al, byte [edx + 3]
mov dword [esp + 0x90], eax
xor eax, eax
mov ah, byte [edx + 4]
mov al, byte [edx + 5]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x158]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov edx, dword [ebp + 0x90]
and edx, 0xffff
mov dword [esp + 0x88], edx
jne 0x5344ca
mov dword [esp + 0x88], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x8c], eax
mov edx, dword [ebp + 0xb0]
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0x9c], edx
call ecx
test eax, eax
jg case.0x5413b8.14
jl 0x541538
mov edx, dword [esp + 0x150]
movzx eax, byte [0x5683fe]
add edx, eax
sub dword [esp + 0x20], eax
mov dword [esp + 0x150], edx
mov ecx, dword [esp + 0x150]
movzx eax, byte [ecx]
mov dword [esp + 0x38], eax
add eax, 0xffffff73
xor ebx, ebx
cmp eax, 0x10
ja case.0x534539.146
movzx edx, byte [eax + 0x541750]
jmp dword [edx*4 + 0x541738]
cmp dword [ebp + 0xa4], 0
je case.0x534539.145
mov eax, dword [esp + 0x150]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov eax, ecx
cmp eax, 0xffff
je 0x534671
mov edx, dword [ebp + 0xa4]
cmp eax, dword [edx + 4]
je 0x534671
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x150]
add ecx, eax
test ebx, ebx
mov dword [esp + 0x150], ecx
jne 0x534598
cmp byte [ecx - 3], 0x77
jne 0x5341a0
cmp dword [esp + 0x2c], 0x8c
jne 0x53d96f
mov edx, dword [esp + 0x160]
mov dword [ebp + 0x98], 2
mov eax, dword [esp + 0x164]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x15c]
push ebp
push eax
push edx
push ecx
push esi
call fcn.005340e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [ebp + 0xa4], 0
je case.0x534539.145
mov eax, dword [esp + 0x150]
xor edx, edx
mov dh, byte [eax + 1]
xor ecx, ecx
mov ch, byte [eax + 3]
mov dl, byte [eax + 2]
mov cl, byte [eax + 4]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov edi, ecx
test edi, edi
mov eax, edx
jle case.0x534539.145
mov ecx, dword [ebp + 0xa4]
mov ecx, dword [ecx + 4]
movzx edx, byte [eax + 1]
mov dh, byte [eax]
xor ebx, ebx
sub edi, 1
cmp edx, ecx
sete bl
test ebx, ebx
jne 0x534676
add eax, dword [ebp + 0x24]
test edi, edi
jg 0x534624
jmp case.0x534539.145
mov eax, dword [esp + 0x150]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, ecx
mov eax, ecx
cmp eax, dword [esp + 0x158]
jge 0x534574
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jl 0x534574
mov ebx, 1
mov edx, dword [esp + 0x38]
movzx eax, byte [edx + 0x568388]
jmp 0x53457a
mov edi, dword [esp + 0x150]
xor eax, eax
mov ah, byte [edi + 1]
xor edx, edx
mov dh, byte [edi + 3]
mov al, byte [edi + 2]
mov dl, byte [edi + 4]
imul eax, dword [ebp + 0x24]
add eax, dword [ebp + 0x30]
test edx, edx
jle case.0x534539.145
xor ebx, ebx
mov edi, edi
movzx ecx, byte [eax + 1]
mov ch, byte [eax]
sub edx, 1
add ecx, ecx
cmp ecx, dword [esp + 0x158]
jge 0x5346cd
mov edi, dword [ebp + 0xc]
cmp dword [edi + ecx*4], 0
jge 0x534671
add eax, dword [ebp + 0x24]
test edx, edx
jg 0x5346b0
jmp case.0x534539.145
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
mov dword [ebp + 0x98], 1
mov eax, dword [esp + 0x164]
add eax, 1
push eax
push 0
push ebp
push ecx
push edx
push edi
push esi
call fcn.005340e0
cmp eax, 1
jne 0x53477b
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esp + 0x158]
jle 0x53472a
mov dword [esp + 0x158], eax
cmp byte [edi], 0x92
mov ebx, 1
jne 0x534736
add edi, ebx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
jne 0x534754
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add edi, ecx
cmp byte [edi], 0x77
je 0x534745
mov edx, dword [esp + 0x38]
movzx eax, byte [edx + 0x568388]
mov ecx, 3
sub ecx, eax
movzx eax, byte [edx + 0x568388]
add edi, ecx
mov dword [esp + 0x150], edi
jmp 0x53457a
test eax, eax
je case.0x534539.145
cmp eax, 0xfffffc20
jne 0x541538
jmp case.0x534539.145
mov ebx, dword [esp + 0x150]
mov ecx, dword [esp + 0x15c]
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
mov edi, eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff0000
or eax, edi
lea edx, [edi + edi]
mov dword [ecx + 0x90], eax
cmp edx, dword [ecx + 0x14]
jl 0x5347e0
or eax, 0x10000
add ebx, 3
mov dword [ecx + 0x90], eax
mov dword [esp + 0x150], ebx
jmp 0x5341a0
mov ebp, dword [ecx + 0x10]
mov eax, dword [ecx + 0xc]
sub ebp, edi
mov edi, dword [eax + ebp*4]
mov dword [eax + edx*4], edi
mov edi, dword [ecx + 0xc]
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [edi + edx*4 + 4], eax
mov eax, dword [esp + 0x158]
cmp edx, eax
jl 0x53482c
mov ecx, dword [ecx + 0xc]
lea edi, [ecx + eax*4]
lea ecx, [ecx + edx*4]
cmp edi, ecx
jae 0x534822
sub ecx, edi
sub ecx, 1
shr ecx, 2
add ecx, 1
or eax, 0xffffffff
rep stosd dword es:[edi], eax
add edx, 2
mov dword [esp + 0x158], edx
add ebx, 3
mov dword [esp + 0x150], ebx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
mov edx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x1c], edx
jne 0x534865
mov dword [esp + 0x20], eax
mov dword [edi + 0x98], ecx
jmp 0x534869
mov dword [esp + 0x20], ecx
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
jmp 0x534880
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x158]
add eax, 1
push eax
push 0
push edi
push ecx
push ebp
lea edx, [ebx + 3]
push edx
push esi
call fcn.005340e0
cmp eax, 1
je 0x5348f4
cmp eax, 0xfffffc19
je 0x5348f4
cmp eax, 0xfffffc20
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0xac], ecx
jne 0x5348db
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x541538
cmp byte [ebx], 0x77
je 0x5348e3
cmp byte [ecx], 0x77
jmp 0x5348dd
test eax, eax
jne 0x541538
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x77
je 0x534880
jmp 0x5348fe
mov eax, dword [edi + 0x7c]
mov dword [esp + 0x154], eax
cmp byte [ebx], 0x78
je case.0x5413b8.14
cmp dword [esp + 0x20], 0
jne 0x53e7b5
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ebx, ecx
cmp byte [ebx], 0x77
je 0x534912
mov edx, dword [edi + 0x8c]
add ebx, 3
mov dword [esp + 0x150], ebx
mov dword [esp + 0x158], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
mov eax, dword [edi + 0xac]
mov dword [esp + 0x1c], eax
mov eax, 1
cmp dword [edi + 0x98], eax
jne 0x534967
mov dword [esp + 0x20], eax
mov dword [edi + 0x98], ecx
jmp 0x53496b
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x154]
lea esp, [esp]
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x150]
add ecx, 1
push ecx
push 0
push edi
push ebx
push ebp
add edx, 3
push edx
push esi
call fcn.005340e0
cmp eax, 0xfffffc20
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0xac], ecx
jg 0x5349d6
jne 0x534a00
mov ecx, dword [esp + 0x150]
xor eax, eax
mov ah, byte [ecx + 1]
mov al, byte [ecx + 2]
add eax, ecx
cmp dword [edi + 0x7c], eax
jae 0x534a28
cmp byte [ecx], 0x77
je 0x5349e1
cmp byte [eax], 0x77
jne 0x534a21
jmp 0x5349e1
mov ecx, eax
sub ecx, 0
jne 0x53e1b4
mov eax, dword [esp + 0x150]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
mov dword [esp + 0x150], eax
je 0x534980
jmp 0x534a3e
cmp eax, 0xfffffc19
je case.0x5413b8.14
cmp eax, 0xfffffc1b
jle 0x541538
cmp eax, 0xfffffc1f
jg 0x541538
mov ecx, dword [esp + 0x150]
xor eax, eax
mov ah, byte [ecx + 1]
mov al, byte [ecx + 2]
add ecx, eax
cmp byte [ecx], 0x77
je 0x534a28
mov dword [esp + 0x150], ecx
cmp dword [esp + 0x20], 0
jne 0x53e7b5
add dword [esp + 0x150], 3
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
xor eax, eax
cmp dword [esp + 0x14], ecx
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
je 0x534aa4
cmp eax, ecx
jle 0x534aaf
mov ebp, dword [edi + 0x74]
sub esi, 1
sub eax, 1
cmp esi, ebp
jb case.0x5413b8.14
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x534a9e
lea ebx, [ebx]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x534a90
test eax, eax
jg 0x534a72
jmp 0x534aaf
sub esi, eax
cmp esi, dword [edi + 0x74]
jb case.0x5413b8.14
cmp esi, dword [edi + 0x84]
jae 0x534abd
mov dword [edi + 0x84], esi
add edx, 3
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov ebx, dword [0x58b56c]
cmp ebx, ecx
mov edi, dword [esp + 0x150]
je 0x534bbe
mov dword [esp + 0x9c], 2
movzx ecx, byte [edi + 1]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x15c]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0xa4], edx
mov eax, dword [ecx + 0x74]
mov dword [esp + 0xa8], eax
mov edx, dword [ecx + 0x78]
sub edx, dword [ecx + 0x74]
mov eax, dword [esp + 0x154]
mov dword [esp + 0xac], edx
sub eax, dword [ecx + 0x74]
mov edx, esi
mov dword [esp + 0xb0], eax
sub edx, dword [ecx + 0x74]
xor eax, eax
mov dword [esp + 0xb4], edx
mov ah, byte [edi + 2]
xor edx, edx
mov al, byte [edi + 3]
mov dword [esp + 0xc4], eax
mov dh, byte [edi + 4]
mov eax, dword [esp + 0x158]
mov dl, byte [edi + 5]
mov dword [esp + 0xc8], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xb8], eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff
mov dword [esp + 0xbc], eax
jne 0x534b8c
mov dword [esp + 0xbc], 0xffffffff
mov edx, dword [ecx + 0xa8]
mov dword [esp + 0xc0], edx
mov eax, dword [ecx + 0xb0]
lea ecx, [esp + 0x9c]
push ecx
mov dword [esp + 0xd0], eax
call ebx
test eax, eax
jg case.0x5413b8.14
jl 0x541538
add edi, 6
mov dword [esp + 0x150], edi
jmp 0x5341a0
mov edx, dword [esp + 0x150]
mov ebp, dword [esp + 0x15c]
xor ebx, ebx
mov bh, byte [edx + 1]
xor ecx, ecx
mov bl, byte [edx + 2]
add ebx, dword [ebp + 0x70]
cmp ebx, dword [ebp + 0x70]
je 0x534bf3
mov ch, byte [ebx + 3]
mov cl, byte [ebx + 4]
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x534c14
lea ecx, [ecx]
cmp ecx, dword [eax + 4]
jne 0x534c0e
cmp esi, dword [eax + 0x14]
je 0x53e6f7
mov eax, dword [eax]
test eax, eax
jne 0x534c00
mov dword [esp + 0x44], ecx
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
mov ecx, dword [ebp + 0xa4]
mov dword [esp + 0x40], ecx
lea eax, [esp + 0x40]
mov dword [ebp + 0xa4], eax
mov ecx, dword [ebp + 0x10]
add edx, 3
cmp ecx, 0x1e
mov dword [esp + 0x150], edx
mov dword [esp + 0x4c], ecx
jg 0x534c5d
lea eax, [esp + 0xd0]
mov dword [esp + 0x48], eax
jmp 0x534c78
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x58ae04]
test eax, eax
mov dword [esp + 0x48], eax
je 0x53e709
mov ecx, dword [esp + 0x4c]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.00545633
add esp, 0xc
cmp byte [ebx], 0x88
sbb eax, eax
add eax, 1
mov dword [esp + 0x20], eax
lea esp, [esp]
test eax, eax
je 0x534cae
mov dword [ebp + 0x98], 2
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
add edx, 1
push edx
mov edx, dword [esp + 0x158]
push eax
movzx eax, byte [ebx]
push ebp
push ecx
movzx ecx, byte [eax + 0x568388]
push edx
add ecx, ebx
push ecx
push esi
call fcn.005340e0
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edi, eax
lea eax, [edx*4]
mov edx, dword [ebp + 0xc]
push eax
push ecx
push edx
call fcn.00545633
mov eax, dword [esp + 0x5c]
mov dword [ebp + 0x90], eax
mov ecx, dword [esp + 0x4c]
add esp, 0xc
cmp edi, 1
mov dword [ebp + 0xa4], ecx
je 0x534d67
cmp edi, 0xfffffc19
je 0x534d67
cmp edi, 0xfffffc1c
jl 0x534d39
cmp edi, 0xfffffc20
jle 0x53e74a
test edi, edi
jne 0x53e71b
xor eax, eax
lea edx, [esp + 0x40]
mov dword [ebp + 0xa4], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x77
jne 0x53e740
mov eax, dword [esp + 0x20]
jmp 0x534ca0
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd0]
cmp eax, ecx
je 0x534d7d
push eax
call dword [0x58ae08]
mov edx, dword [ebp + 0x7c]
mov esi, dword [ebp + 0x80]
mov dword [esp + 0x154], edx
jmp 0x5341a0
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je case.0x5341cd.119
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
add edi, 1
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
je 0x534df1
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x5341a0
lea edi, [edx + 1]
mov eax, edi
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x77
je 0x534e14
mov edx, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
add edx, 1
push edx
mov edx, dword [esp + 0x160]
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
push ecx
push edx
add eax, 3
push eax
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov dword [esp + 0x150], edi
jmp 0x5341a0
lea eax, [edx + 1]
nop
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x77
je 0x534e70
add eax, 3
mov dword [esp + 0x150], eax
jmp 0x5341a0
movzx eax, byte [edx + 1]
add edx, 1
cmp eax, 0x86
mov dword [esp + 0x150], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], 1
je 0x534eba
cmp eax, 0x8b
jne 0x534335
mov eax, dword [esp + 0x150]
mov edi, dword [esp + 0x15c]
xor edx, edx
mov dh, byte [eax + 3]
mov dl, byte [eax + 4]
lea ecx, [edx + edx]
cmp ecx, dword [edi + 0x14]
mov dword [esp + 0x20], edx
jge 0x53433c
mov ebp, eax
mov eax, dword [edi + 0xc]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
sub ebp, dword [edi + 0x70]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x10]
sub ecx, edx
mov edx, dword [eax + ecx*4]
mov eax, dword [edi + 0x90]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], eax
lea esp, [esp]
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x20]
mov eax, dword [edi + 0xc]
mov ecx, esi
sub ecx, dword [edi + 0x74]
cmp dword [esp + 0x2c], 0x88
mov dword [eax + edx*4], ecx
jb 0x534f46
mov dword [edi + 0x98], 2
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
add ecx, 1
push ecx
push edx
push edi
push eax
mov eax, dword [esp + 0x160]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x568388]
push ebx
add edx, eax
push edx
push esi
call fcn.005340e0
cmp eax, 0xfffffc1a
jne 0x535088
mov eax, dword [edi + 0x8c]
mov ecx, dword [edi + 0x90]
mov ebx, dword [edi + 0x7c]
mov dword [esp + 0x158], eax
mov eax, dword [edi + 0x70]
add eax, ebp
cmp esi, dword [edi + 0x80]
mov dword [esp + 0x150], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x154], ebx
je 0x535140
mov esi, dword [edi + 0x80]
jmp 0x534f20
cmp eax, 0xfffffc20
jne 0x535005
mov edx, dword [esp + 0x150]
xor ecx, ecx
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x541538
cmp byte [edx], 0x77
je 0x535014
cmp byte [ecx], 0x77
jne 0x541538
jmp 0x535014
test eax, eax
jne 0x541538
mov edx, dword [esp + 0x150]
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
mov dword [esp + 0x150], edx
jne 0x535067
mov ecx, dword [esp + 0x28]
mov dword [edi + 0x90], ecx
jmp 0x534370
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x535040
mov edx, eax
add edx, 3
mov dword [esp + 0x150], eax
mov dword [esp + 0x150], edx
jmp 0x5341a0
cmp dword [esp + 0x1c], 0
jne 0x535079
cmp dword [esp + 0x24], 0
je case.0x5413b8.14
add edx, 3
mov dword [esp + 0x150], edx
jmp 0x5341a0
cmp eax, 0xfffffc20
jne 0x5350b9
mov edx, dword [esp + 0x150]
xor ecx, ecx
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x541538
cmp byte [edx], 0x77
je 0x5350c8
cmp byte [ecx], 0x77
jne 0x541538
jmp 0x5350c8
test eax, eax
jne 0x541538
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov dword [edi + 0x90], eax
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add edx, ecx
cmp byte [edx], 0x77
mov dword [esp + 0x150], edx
je 0x534f20
cmp dword [esp + 0x1c], 0
jne 0x53511e
mov ebx, dword [edi + 0xc]
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x3c]
lea eax, [ecx + ecx]
mov dword [ebx + eax*4], ebp
mov ebx, dword [edi + 0xc]
mov ebp, dword [esp + 0x18]
mov dword [ebx + eax*4 + 4], ebp
mov eax, dword [edi + 0x10]
sub eax, ecx
mov ecx, dword [edi + 0xc]
mov edi, dword [esp + 0x10]
mov dword [ecx + eax*4], edi
cmp dword [esp + 0x24], 0
jne 0x535130
cmp dword [esp + 0x1c], 0
je case.0x5413b8.14
add edx, 3
mov dword [esp + 0x150], edx
jmp 0x5341a0
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x535140
mov dword [esp + 0x150], eax
mov edx, eax
jmp 0x53511e
mov ecx, dword [esp + 0x150]
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
sub ecx, edx
mov al, byte [ecx]
cmp al, 0x88
mov dword [esp + 0x2c], ecx
jae 0x535183
cmp al, 0x81
je 0x535183
mov dword [esp + 0x28], 0
jmp 0x53519a
mov edx, dword [esp + 0x160]
mov edi, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x28], edi
mov dword [esp + 0x160], edx
cmp al, 0x7d
jb 0x5351a6
cmp al, 0x80
jbe 0x53e76f
cmp al, 0x82
je 0x53e76f
cmp al, 0x85
je 0x5351c2
cmp al, 0x8a
je 0x5351c2
cmp al, 0x86
je 0x5351c2
cmp al, 0x8b
jne 0x53526b
mov ebp, dword [esp + 0x15c]
xor eax, eax
cmp dword [ebp + 0xa4], 0
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov ecx, eax
mov dword [esp + 0x20], ecx
lea edx, [ecx + ecx]
je 0x5351f2
mov eax, dword [ebp + 0xa4]
cmp dword [eax + 4], ecx
je 0x53e7a5
mov eax, dword [ebp + 0x90]
mov ebx, dword [esp + 0x158]
and eax, 0xffff0000
or eax, ecx
mov dword [ebp + 0x90], eax
cmp edx, dword [ebp + 0x14]
jl 0x53521e
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x535279
cmp edx, ebx
jle 0x53523f
mov eax, dword [ebp + 0xc]
lea edi, [eax + ebx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x53523f
sub ecx, edi
sub ecx, 1
shr ecx, 2
add ecx, 1
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
sub ecx, dword [esp + 0x20]
mov ecx, dword [eax + ecx*4]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp + 0xc]
mov eax, esi
sub eax, dword [ebp + 0x74]
cmp ebx, edx
mov dword [ecx + edx*4 + 4], eax
jg 0x535279
lea ebx, [edx + 2]
mov dword [esp + 0x158], ebx
jmp 0x535279
mov ebp, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
mov al, byte [ecx]
cmp al, 0x7b
je 0x53e7c7
cmp al, 0x78
je 0x535298
cmp esi, dword [esp + 0x28]
jne 0x53dea6
mov edi, dword [esp + 0x2c]
add ecx, 3
cmp byte [edi], 0x81
je 0x53e8ad
mov dword [esp + 0x150], ecx
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x44], ecx
je 0x5352d2
cmp esi, dword [eax + 0x74]
je case.0x5413b8.14
jmp 0x5352d2
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x74]
jne case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x44], ecx
je 0x5352ff
cmp esi, dword [eax + 0x74]
je case.0x5413b8.14
mov edx, dword [eax + 0x74]
cmp esi, edx
je 0x535378
cmp esi, dword [eax + 0x78]
je case.0x5413b8.14
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x535347
cmp esi, edx
jbe case.0x5413b8.14
mov edx, dword [esp + 0x14]
push edx
lea edx, [eax + 0x1c]
mov eax, dword [eax + 0x74]
push edx
push eax
push ecx
push esi
call fcn.00542f20
test eax, eax
je case.0x5413b8.14
add dword [esp + 0x150], 1
jmp 0x5341a0
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x74]
add ecx, edx
cmp esi, ecx
jb case.0x5413b8.14
mov ecx, esi
sub ecx, edx
mov dl, byte [ecx]
cmp dl, byte [eax + 0x34]
jne case.0x5413b8.14
cmp dword [eax + 0x1c], 1
je 0x535378
mov cl, byte [ecx + 1]
cmp cl, byte [eax + 0x35]
jne case.0x5413b8.14
add dword [esp + 0x150], 1
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x94]
add ecx, dword [eax + 0x74]
cmp esi, ecx
jne case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
add edx, 1
mov dword [esp + 0x154], esi
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x535475
mov eax, dword [edi + 0x18]
cmp eax, ecx
je 0x535407
mov edx, dword [esp + 0x14]
push edx
mov edx, dword [edi + 0x78]
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.00542d60
test eax, eax
je 0x53542a
mov edx, dword [esp + 0x150]
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x53542a
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x53542a
cmp dword [edi + 0x1c], 1
je 0x5354a2
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je 0x5354a2
cmp dword [edi + 0x88], 0
je case.0x5413b8.14
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb case.0x5413b8.14
cmp dword [edi + 0x18], 0
jne case.0x5413b8.14
cmp dword [edi + 0x1c], 2
jne case.0x5413b8.14
mov dl, byte [esi]
cmp dl, byte [edi + 0x34]
jne case.0x5413b8.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x541509
cmp dword [edi + 0x48], ecx
jne case.0x5413b8.14
cmp dword [edi + 0x88], ecx
je 0x5354a2
cmp esi, dword [edi + 0x84]
jbe 0x5354a2
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x54150f
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
cmp dword [edi + 0x48], ecx
jne case.0x5413b8.14
cmp dword [edi + 0x58], ecx
je 0x5354e1
jmp 0x5354cf
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jb case.0x5413b8.14
jmp 0x53547e
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x53554b
mov eax, dword [edi + 0x18]
cmp eax, ecx
lea ebp, [edi + 0x1c]
je 0x535512
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0x78]
push ecx
push ebp
push edx
push eax
push esi
call fcn.00542d60
test eax, eax
je 0x53e8f1
mov edx, dword [esp + 0x150]
jmp 0x53553d
mov eax, dword [edi + 0x78]
sub eax, dword [ebp]
cmp esi, eax
ja 0x53e8f1
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x53e8f1
cmp dword [ebp], 1
je 0x53553d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x53e8f1
mov ecx, dword [edi + 0x78]
sub ecx, dword [ebp]
cmp esi, ecx
jne 0x53e8f1
cmp dword [edi + 0x88], 0
jmp 0x535484
cmp dword [esp + 0x14], ecx
je 0x535833
mov ebp, dword [esp + 0x15c]
cmp esi, dword [ebp + 0x74]
je 0x5356bd
mov dl, byte [esi - 1]
lea eax, [esi - 1]
and dl, 0xc0
cmp dl, 0x80
jne 0x53558e
nop
mov cl, byte [eax - 1]
sub eax, 1
and cl, 0xc0
cmp cl, 0x80
je 0x535580
cmp eax, dword [ebp + 0x84]
jae 0x53559c
mov dword [ebp + 0x84], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x535649
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x20
jne 0x5355c4
and ecx, 0x1f
shl ecx, 6
or ecx, edx
jmp 0x535649
test cl, 0x10
jne 0x5355d5
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x53563d
test cl, 8
jne 0x5355ec
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x535637
test cl, 4
jne 0x53560f
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
jmp 0x535637
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl edx, 6
and ecx, 0x3f
or edx, ecx
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, edx
cmp dword [ebp + 0x54], 0
je 0x5356a5
cmp ecx, 0x5f
jne 0x535659
lea edi, [ecx - 0x5e]
jmp 0x5356bf
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53567b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
mov eax, dword [ecx*4 + 0x568560]
cmp eax, 1
je 0x53569e
cmp eax, 3
jne 0x5356bd
mov edi, 1
jmp 0x5356bf
cmp ecx, 0x100
jae 0x5356bd
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x5356bd
mov edi, 1
jmp 0x5356bf
xor edi, edi
cmp esi, dword [ebp + 0x78]
jb 0x5356f0
cmp dword [ebp + 0x88], 0
je 0x5356e9
cmp esi, dword [ebp + 0x84]
jbe 0x5356e9
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x54150f
xor eax, eax
jmp 0x535969
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x5357b1
test cl, 0x20
jne 0x535718
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x5357b1
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53573c
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x5357b1
test cl, 8
jne 0x53574f
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x5357a1
and eax, 0x3f
test cl, 4
jne 0x535780
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x5357b1
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp dword [ebp + 0x54], 0
je 0x535810
cmp ecx, 0x5f
jne 0x5357c4
lea eax, [ecx - 0x5e]
jmp 0x535969
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x5357e6
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
mov eax, dword [ecx*4 + 0x568560]
cmp eax, 1
je 0x535829
cmp eax, 3
je 0x535829
xor eax, eax
jmp 0x535969
cmp ecx, 0x100
jae 0x5358f1
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x5358f1
mov eax, 1
jmp 0x535969
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x74]
jne 0x535846
xor edi, edi
jmp 0x5358c7
cmp esi, dword [ecx + 0x84]
ja 0x535857
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
cmp dword [ecx + 0x54], 0
je 0x5358b6
movzx edi, byte [esi - 1]
cmp edi, 0x5f
jne 0x53586d
mov edi, 1
jmp 0x5358c7
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and edi, 0x8000007f
jns 0x53588f
dec edi
or edi, 0xffffff80
inc edi
add edx, edi
movzx eax, word [edx*2 + 0x56c8a0]
movzx edx, byte [eax*8 + 0x569021]
mov eax, dword [edx*4 + 0x568560]
cmp eax, 1
je 0x535866
cmp eax, 3
je 0x535866
xor edi, edi
jmp 0x5358c7
movzx edx, byte [esi - 1]
mov eax, dword [ecx + 0x40]
movzx edi, byte [edx + eax]
shr edi, 4
and edi, 1
cmp esi, dword [ecx + 0x78]
jb 0x5358f5
cmp dword [ecx + 0x88], 0
je 0x5358f1
cmp esi, dword [ecx + 0x84]
jbe 0x5358f1
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x54150f
xor eax, eax
jmp 0x535969
cmp dword [ecx + 0x54], 0
je 0x535959
movzx ecx, byte [esi]
cmp ecx, 0x5f
jne 0x535908
lea eax, [ecx - 0x5e]
jmp 0x535969
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x56a6a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x53592a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x56c8a0]
movzx edx, byte [ecx*8 + 0x569021]
mov eax, dword [edx*4 + 0x568560]
cmp eax, 1
je 0x535829
cmp eax, 3
je 0x535829
xor eax, eax
jmp 0x535969
mov eax, dword [ecx + 0x40]
movzx ecx, byte [esi]
movzx eax, byte [ecx + eax]
shr eax, 4
and eax, 1
mov ecx, dword [esp + 0x150]
mov dl, byte [ecx]
add ecx, 1
cmp dl, 5
mov dword [esp + 0x150], ecx
jne 0x53598c
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
jmp 0x535995
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
test eax, eax
je 0x5341a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x138
ret 0x1c
mov edi, dword [esp + 0x15c]
mov eax, dword [edi + 0x18]
cmp eax, ecx
je 0x5359e4
cmp esi, dword [edi + 0x78]
jae 0x535a0b
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, dword [edi + 0x78]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00542d60
test eax, eax
jne case.0x5413b8.14
mov edx, dword [esp + 0x150]
jmp 0x535a0b
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x535a0b
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x535a0b
cmp dword [edi + 0x1c], 1
je case.0x5413b8.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x5413b8.14
xor ecx, ecx
cmp dword [edi + 0x88], ecx
je 0x535a4c
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb 0x535a4c
cmp dword [edi + 0x18], ecx
jne 0x535a4c
cmp dword [edi + 0x1c], 2
jne 0x535a4c
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x535a4c
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x54150f
jmp 0x535a4c
mov edi, dword [esp + 0x15c]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x53f26e
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x5354a2
cmp esi, eax
jae 0x5354a2
lea esp, [esp]
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x5354a2
add esi, 1
cmp esi, eax
jb 0x535a70
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53e93c
add esi, 1
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x53f26e
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x535bb4
cmp eax, 0xc0
jb 0x535bb4
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x535afb
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x535bb4
test al, 0x10
jne 0x535b1b
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x535bb4
test al, 8
jne 0x535b44
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x535bb4
test al, 4
jne 0x535b79
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x535bb4
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x100
jae 0x5354a2
mov ecx, dword [edi + 0x40]
test byte [eax + ecx], 4
jne case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x53f26e
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x535cd9
cmp eax, 0xc0
jb 0x535cd9
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x535c20
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x535cd9
test al, 0x10
jne 0x535c40
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x535cd9
test al, 8
jne 0x535c69
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x535cd9
test al, 4
jne 0x535c9e
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x535cd9
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0xff
ja case.0x5413b8.14
mov ecx, dword [edi + 0x40]
test byte [eax + ecx], 4
je case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x53f26e
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x535dfe
cmp eax, 0xc0
jb 0x535dfe
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x535d45
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x535dfe
test al, 0x10
jne 0x535d65
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x535dfe
test al, 8
jne 0x535d8e
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x535dfe
test al, 4
jne 0x535dc3
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x535dfe
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x100
jae 0x5354a2
mov ecx, dword [edi + 0x40]
test byte [eax + ecx], 1
jne case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x53f26e
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x535f23
cmp eax, 0xc0
jb 0x535f23
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x535e6a
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x535f23
test al, 0x10
jne 0x535e8a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x535f23
test al, 8
jne 0x535eb3
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x535f23
test al, 4
jne 0x535ee8
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x535f23
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0xff
ja case.0x5413b8.14
mov ecx, dword [edi + 0x40]
test byte [eax + ecx], 1
je case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x53f26e
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x536048
cmp eax, 0xc0
jb 0x536048
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x535f8f
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x536048
test al, 0x10
jne 0x535faf
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x536048
test al, 8
jne 0x535fd8
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x536048
test al, 4
jne 0x53600d
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x536048
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x100
jae 0x5354a2
mov ecx, dword [edi + 0x40]
test byte [eax + ecx], 0x10
jne case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x53f26e
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x53616d
cmp eax, 0xc0
jb 0x53616d
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x5360b4
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53616d
test al, 0x10
jne 0x5360d4
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x53616d
test al, 8
jne 0x5360fd
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x53616d
test al, 4
jne 0x536132
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x53616d
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0xff
ja case.0x5413b8.14
mov ecx, dword [edi + 0x40]
test byte [eax + ecx], 0x10
je case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
mov ebp, dword [edi + 0x78]
cmp esi, ebp
jae 0x53f26e
movzx eax, byte [esi]
mov ecx, 1
add esi, ecx
cmp dword [esp + 0x14], 0
je 0x536297
cmp eax, 0xc0
jb 0x536297
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x5361df
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, ecx
jmp 0x536297
test al, 0x10
jne 0x5361ff
and eax, 0xf
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add esi, 2
jmp 0x536297
test al, 8
jne 0x536228
and eax, 7
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add esi, 3
jmp 0x536297
test al, 4
jne 0x53625d
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add esi, 4
jmp 0x536297
and eax, ecx
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0xd
ja 0x5362f5
je 0x5362ae
cmp eax, 0xa
je 0x53631c
jbe case.0x5413b8.14
cmp eax, 0xc
jmp 0x53630c
cmp esi, ebp
jb 0x5362e0
cmp dword [edi + 0x88], 0
je 0x53631c
cmp esi, dword [edi + 0x84]
jbe 0x53631c
mov dword [edi + 0x64], ecx
cmp dword [edi + 0x88], ecx
jg 0x54150f
add edx, ecx
mov dword [esp + 0x150], edx
jmp 0x5341a0
cmp byte [esi], 0xa
jne 0x53631c
add esi, ecx
add edx, ecx
mov dword [esp + 0x150], edx
jmp 0x5341a0
cmp eax, 0x85
je 0x536312
cmp eax, 0x2027
jbe case.0x5413b8.14
cmp eax, 0x2029
ja case.0x5413b8.14
cmp dword [edi + 0x68], 0
jne case.0x5413b8.14
add edx, ecx
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53e93c
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x536428
cmp eax, 0xc0
jb 0x536428
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53636f
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x536428
test al, 0x10
jne 0x53638f
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x536428
test al, 8
jne 0x5363b8
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x536428
test al, 4
jne 0x5363ed
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x536428
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x180e
ja 0x536457
je case.0x5413b8.14
cmp eax, 0xa0
ja 0x536450
je case.0x5413b8.14
cmp eax, 9
je case.0x5413b8.14
cmp eax, 0x20
jmp 0x536486
cmp eax, 0x1680
jmp 0x536486
cmp eax, 0x205f
ja 0x536481
je case.0x5413b8.14
cmp eax, 0x2000
jb 0x5354a2
cmp eax, 0x200a
jbe case.0x5413b8.14
cmp eax, 0x202f
jmp 0x536486
cmp eax, 0x3000
je case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53e93c
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x536599
cmp eax, 0xc0
jb 0x536599
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x5364e0
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x536599
test al, 0x10
jne 0x536500
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x536599
test al, 8
jne 0x536529
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x536599
test al, 4
jne 0x53655e
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x536599
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x180e
ja 0x5365c8
je 0x5354a2
cmp eax, 0xa0
ja 0x5365c1
je 0x5354a2
cmp eax, 9
je 0x5354a2
cmp eax, 0x20
jmp 0x5365f7
cmp eax, 0x1680
jmp 0x5365f7
cmp eax, 0x205f
ja 0x5365f2
je 0x5354a2
cmp eax, 0x2000
jb case.0x5413b8.14
cmp eax, 0x200a
jbe 0x5354a2
cmp eax, 0x202f
jmp 0x5365f7
cmp eax, 0x3000
jne case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53e93c
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x53670a
cmp eax, 0xc0
jb 0x53670a
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x536651
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53670a
test al, 0x10
jne 0x536671
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x53670a
test al, 8
jne 0x53669a
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x53670a
test al, 4
jne 0x5366cf
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x53670a
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x85
ja 0x536725
je case.0x5413b8.14
cmp eax, 0xa
jb 0x5354a2
cmp eax, 0xd
jmp 0x536735
cmp eax, 0x2028
jb 0x5354a2
cmp eax, 0x2029
jbe case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53e93c
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], ecx
je 0x536848
cmp eax, 0xc0
jb 0x536848
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53678f
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x536848
test al, 0x10
jne 0x5367af
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x536848
test al, 8
jne 0x5367d8
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x536848
test al, 4
jne 0x53680d
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x536848
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x85
ja 0x536863
je 0x5354a2
cmp eax, 0xa
jb case.0x5413b8.14
cmp eax, 0xd
jmp 0x536873
cmp eax, 0x2028
jb case.0x5413b8.14
cmp eax, 0x2029
ja case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53e93c
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x53698c
cmp ecx, 0xc0
jb 0x53698c
test cl, 0x20
jne 0x5368d0
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x53698c
test cl, 0x10
jne 0x5368f7
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x53698c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x536927
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53698c
test cl, 4
jne 0x536958
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x53698c
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
mov eax, ecx
shl edx, 7
and eax, 0x8000007f
jns 0x5369af
dec eax
or eax, 0xffffff80
inc eax
mov edi, dword [esp + 0x150]
add edx, eax
movzx eax, word [edx*2 + 0x56c8a0]
movzx edx, byte [edi + 1]
cmp edx, 0xa
lea eax, [eax*8 + 0x569020]
ja case.default.0x5369d4
jmp dword [edx*4 + 0x541764]
cmp ebx, 0xf
jmp 0x536be4
mov al, byte [eax + 1]
cmp al, 9
je 0x536a03
cmp al, 5
je 0x536a03
cmp al, 8
je 0x536a03
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x536be4
xor ecx, ecx
cmp ebx, 0xf
sete cl
mov eax, 1
cmp eax, ecx
jmp 0x536be4
movzx edx, byte [eax + 1]
movzx eax, byte [edi + 2]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x568560]
setne cl
xor edx, edx
cmp ebx, 0x10
sete dl
cmp ecx, edx
jmp 0x536be4
mov cl, byte [edi + 2]
xor edx, edx
cmp cl, byte [eax + 1]
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jmp 0x536be4
mov cl, byte [edi + 2]
xor edx, edx
cmp cl, byte [eax]
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jmp 0x536be4
movzx ecx, byte [eax + 1]
mov eax, dword [ecx*4 + 0x568560]
cmp eax, 1
je 0x536bd5
cmp eax, 3
je 0x536bd5
xor eax, eax
jmp 0x536bda
cmp ecx, 0x180e
ja 0x536ad4
je case.0x5369d4.0
cmp ecx, 0x85
ja 0x536ac0
je case.0x5369d4.0
cmp ecx, 9
jb case.0x536af4.8203
cmp ecx, 0xd
jbe case.0x5369d4.0
cmp ecx, 0x20
jmp 0x536b0d
cmp ecx, 0xa0
je case.0x5369d4.0
cmp ecx, 0x1680
jmp 0x536b0d
cmp ecx, 0x202f
ja 0x536afb
je case.0x5369d4.0
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x536af4.8203
movzx ecx, byte [ecx + 0x541798]
jmp dword [ecx*4 + 0x541790]
cmp ecx, 0x205f
je case.0x5369d4.0
cmp ecx, 0x3000
je case.0x5369d4.0
movzx edx, byte [eax + 1]
xor eax, eax
cmp dword [edx*4 + 0x568560], 6
sete al
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x536be4
movzx edx, byte [eax + 1]
mov eax, dword [edx*4 + 0x568560]
cmp eax, 1
je 0x536a03
cmp eax, 3
je 0x536a03
cmp ecx, 0x5f
je 0x536a03
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x536be4
movzx edx, byte [edi + 2]
mov eax, dword [edx*4 + 0x568ee0]
cmp ecx, eax
lea edx, [edx*4 + 0x568ee0]
jb 0x536b8d
add edx, 4
cmp ecx, eax
je 0x536b92
mov eax, dword [edx]
cmp ecx, eax
jae 0x536b80
cmp ebx, 0x10
jmp 0x536be4
cmp ebx, 0x10
jne case.0x5413b8.14
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x5341a0
cmp ecx, 0x24
je 0x536bd5
cmp ecx, 0x40
je 0x536bd5
cmp ecx, 0x60
je 0x536bd5
cmp ecx, 0xa0
jb 0x536bc9
cmp ecx, 0xd7ff
jbe 0x536bd5
cmp ecx, 0xe000
jae 0x536bd5
xor eax, eax
jmp 0x536bda
mov eax, 1
xor edx, edx
cmp ebx, 0xf
sete dl
cmp eax, edx
je case.0x5413b8.14
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x5341a0
mov ecx, dword [esp + 0x15c]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x53f2a0
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x536cf4
cmp ecx, 0xc0
jb 0x536cf4
test cl, 0x20
jne 0x536c43
movzx eax, byte [esi]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x536cf4
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 0x10
jne 0x536c6c
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov ecx, edx
add esi, 2
jmp 0x536cf4
test cl, 8
jne 0x536c8f
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x536cf4
test cl, 4
jne 0x536cc0
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x536cf4
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x536d16
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebp
movzx eax, word [edx*2 + 0x56c8a0]
movzx ebx, byte [eax*8 + 0x569022]
jae 0x536e73
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x536e23
cmp ecx, 0xc0
jb 0x536e23
test cl, 0x20
jne 0x536d6b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x536e21
test cl, 0x10
jne 0x536d95
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x536e23
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x536db8
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x536e13
and eax, 0x3f
test cl, 4
jne 0x536dee
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x536e23
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x536e45
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569022]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x5684ec], edx
je 0x536e73
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x536d30
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x536eaf
cmp esi, ebp
jb 0x536eaf
cmp esi, dword [eax + 0x84]
jbe 0x536eaf
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x54150f
add dword [esp + 0x150], ecx
jmp 0x5341a0
mov ecx, 1
add dword [esp + 0x150], ecx
jmp 0x5341a0
mov edx, dword [esp + 0x150]
xor eax, eax
cmp dword [esp + 0x2c], 0x74
mov ebp, dword [esp + 0x15c]
sete al
mov edi, dword [ebp + 0x50]
xor ecx, ecx
mov ch, byte [edx + 3]
add edx, 5
mov dword [esp + 0x150], edx
mov dword [esp + 0x20], eax
xor eax, eax
mov ah, byte [edx - 4]
mov cl, byte [edx - 1]
mov al, byte [edx - 3]
imul eax, dword [ebp + 0x24]
add eax, dword [ebp + 0x30]
neg edi
sbb edi, edi
neg edi
sub edi, 1
xor ebx, ebx
test ecx, ecx
jle 0x536fa0
movzx ebx, byte [eax + 1]
mov bh, byte [eax]
sub ecx, 1
add ebx, ebx
cmp ebx, dword [esp + 0x158]
jge 0x536f30
mov edx, dword [ebp + 0xc]
cmp dword [edx + ebx*4], 0
jge 0x536f39
add eax, dword [ebp + 0x24]
test ecx, ecx
jg 0x536f13
jmp 0x536fa0
mov eax, edx
mov edi, dword [eax + ebx*4 + 4]
sub edi, dword [eax + ebx*4]
lea eax, [eax + ebx*4]
jmp 0x536fa0
mov eax, dword [esp + 0x150]
mov ebp, dword [esp + 0x15c]
xor ecx, ecx
cmp dword [esp + 0x2c], 0x72
sete cl
xor ebx, ebx
mov bh, byte [eax + 1]
add eax, 3
mov dword [esp + 0x150], eax
mov dword [esp + 0x20], ecx
mov bl, byte [eax - 1]
add ebx, ebx
cmp ebx, dword [esp + 0x158]
jge 0x536f94
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + ebx*4]
test ecx, ecx
lea eax, [edx + ebx*4]
jl 0x536f94
mov edi, dword [eax + 4]
sub edi, ecx
jmp 0x536fa0
mov edi, dword [ebp + 0x50]
neg edi
sbb edi, edi
neg edi
sub edi, 1
mov eax, dword [esp + 0x150]
mov cl, byte [eax]
movzx eax, cl
lea edx, [eax - 0x62]
cmp edx, 7
ja case.default.0x536fbf
movzx edx, byte [edx + 0x5417cc]
jmp dword [edx*4 + 0x5417c4]
movsx ebp, byte [eax + 0x56830e]
add dword [esp + 0x150], 1
add eax, 0xffffff9e
mov ecx, eax
movsx eax, byte [eax + 0x56837c]
and ecx, 1
test eax, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
jne 0x537039
mov dword [esp + 0x10], getpeername
jmp 0x537039
xor eax, eax
cmp cl, 0x69
sete al
xor ecx, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x150]
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov ebp, ecx
xor ecx, ecx
mov ch, byte [eax + 3]
mov cl, byte [eax + 4]
test ecx, ecx
mov dword [esp + 0x10], ecx
jne 0x53702f
mov dword [esp + 0x10], getpeername
add eax, 5
mov dword [esp + 0x150], eax
test edi, edi
je 0x5341a0
jge 0x53704b
test ebp, ebp
je 0x5341a0
cmp ebp, 1
mov dword [esp + 0x1c], 1
jl 0x537091
jmp 0x537060
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x15c]
push edx
push eax
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00533da0
test eax, eax
jl 0x53e947
add esi, eax
mov eax, dword [esp + 0x1c]
add eax, 1
cmp eax, ebp
mov dword [esp + 0x1c], eax
jle 0x537060
mov eax, dword [esp + 0x10]
cmp ebp, eax
je 0x5341a0
cmp dword [esp + 0x24], 0
je 0x53e95f
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
mov eax, dword [esp + 0x15c]
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push esi
mov dword [esp + 0x38], ebp
call fcn.005340e0
test eax, eax
jne 0x541538
mov ebp, dword [esp + 0x15c]
jmp 0x537100
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x20]
push eax
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00533da0
test eax, eax
jl 0x53ea2b
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
add dword [esp + 0x1c], 1
add ecx, 1
push ecx
mov ecx, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x158]
push ebp
add esi, eax
mov eax, dword [esp + 0x164]
push eax
push ecx
push edx
push esi
call fcn.005340e0
test eax, eax
je 0x537100
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov ecx, dword [esp + 0x20]
push ecx
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00533da0
test eax, eax
jl 0x53ea2b
add esi, eax
jmp 0x5341a0
mov edi, dword [esp + 0x150]
mov al, byte [edi + 0x21]
lea edx, [edi + 1]
add edi, 0x21
movzx ecx, al
mov dword [esp + 0x1c], edx
lea edx, [ecx - 0x62]
cmp edx, 0xb
mov dword [esp + 0x150], edi
ja case.default.0x5371c2
movzx edx, byte [edx + 0x5417dc]
jmp dword [edx*4 + 0x5417d4]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x150], edi
jae 0x5371e6
mov ecx, eax
and ecx, 1
mov dword [esp + 0x24], ecx
jmp 0x5371ee
mov dword [esp + 0x28], 1
movsx edx, byte [eax + 0x568370]
movsx eax, byte [eax + 0x56837c]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x537259
mov dword [esp + 0x10], getpeername
jmp 0x537259
xor ecx, ecx
cmp al, 0x69
sete cl
xor edx, edx
cmp al, 0x6d
sete dl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
xor edx, edx
mov al, byte [edi + 4]
mov dh, byte [edi + 1]
test eax, eax
mov dl, byte [edi + 2]
mov dword [esp + 0x10], eax
jne 0x537244
mov dword [esp + 0x10], getpeername
add edi, 5
mov dword [esp + 0x150], edi
jmp 0x537259
mov edx, 1
mov dword [esp + 0x10], edx
cmp dword [esp + 0x14], 0
mov edi, 1
je 0x5373a7
cmp edx, edi
jl 0x5373e9
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
jmp 0x537284
mov ebx, dword [esp + 0x2c]
cmp esi, ebp
jae 0x53f299
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x537370
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x5372b7
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x537370
test al, 0x10
jne 0x5372d7
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x537370
test al, 8
jne 0x537300
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x537370
test al, 4
jne 0x537335
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x537370
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0xff
jbe 0x53737c
cmp ebx, 0x6e
jmp 0x537394
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je case.0x5413b8.14
add edi, 1
cmp edi, edx
jle 0x537280
jmp 0x5373e9
cmp edx, 1
jl 0x5373e9
mov ecx, dword [esp + 0x15c]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x53f770
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
add esi, 1
test al, bl
je case.0x5413b8.14
add edi, 1
cmp edi, edx
jle 0x5373b6
mov eax, dword [esp + 0x10]
cmp edx, eax
mov ecx, dword [esp + 0x15c]
je 0x5341a0
cmp dword [esp + 0x24], 0
jne 0x53ea68
cmp dword [esp + 0x14], 0
mov ebx, esi
mov dword [esp + 0x24], ebx
je 0x53761a
cmp edx, eax
mov ebp, edx
jge 0x537573
mov edx, dword [ecx + 0x78]
jmp 0x537430
cmp esi, edx
mov edi, 1
jae 0x537551
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53750f
movzx ebx, byte [esi + 1]
and ebx, 0x3f
test al, 0x20
jne 0x537466
and eax, 0x1f
shl eax, 6
mov edi, 2
jmp 0x53750d
test al, 0x10
jne 0x537480
and eax, 0xf
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
mov edi, 3
jmp 0x537507
test al, 8
jne 0x5374a3
and eax, 7
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x537507
test al, 4
jne 0x5374d2
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
mov edi, 5
jmp 0x537507
and eax, 1
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 5]
mov edi, 6
shl ebx, 6
and eax, 0x3f
or eax, ebx
cmp eax, 0xff
jbe 0x53751f
cmp dword [esp + 0x2c], 0x6e
je 0x537573
jmp 0x537540
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x537573
mov ecx, dword [esp + 0x15c]
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x10]
jl 0x537430
jmp 0x537573
cmp dword [ecx + 0x88], 0
je 0x537573
cmp esi, dword [ecx + 0x84]
jbe 0x537573
mov eax, edi
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
mov edx, dword [esp + 0x164]
mov ebp, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
add edx, 1
push edx
push ebp
push eax
push ebx
push edi
push ecx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
nop
mov edx, esi
sub esi, 1
cmp edx, dword [esp + 0x24]
je case.0x5413b8.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5375e5
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x5375d7
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
add edx, 1
push edx
push ebp
push eax
push ebx
push edi
push ecx
push esi
call fcn.005340e0
test eax, eax
je 0x5375c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp edx, eax
mov edi, edx
jge 0x537680
mov ebp, dword [ecx + 0x78]
jmp 0x53762c
mov ecx, dword [esp + 0x15c]
cmp esi, ebp
jae 0x53765b
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x537680
add edi, 1
add esi, 1
cmp edi, dword [esp + 0x10]
jl 0x537625
jmp 0x537680
cmp dword [ecx + 0x88], 0
je 0x537680
cmp esi, dword [ecx + 0x84]
jbe 0x537680
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, ebx
jb case.0x5413b8.14
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
jmp 0x5376b0
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
push eax
push ecx
push ebp
push ebx
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
sub esi, 1
cmp esi, dword [esp + 0x24]
jae 0x5376b0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x138
ret 0x1c
mov edi, dword [esp + 0x150]
xor edx, edx
mov dh, byte [edi + 1]
lea ecx, [edi + 3]
mov dword [esp + 0x1c], ecx
mov dl, byte [edi + 2]
mov al, byte [edi + edx]
movzx ecx, al
add edi, edx
lea edx, [ecx - 0x62]
cmp edx, 0xb
mov dword [esp + 0x150], edi
ja case.default.0x53772c
movzx edx, byte [edx + 0x5417f0]
jmp dword [edx*4 + 0x5417e8]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x150], edi
jae 0x537750
mov ecx, eax
and ecx, 1
mov dword [esp + 0x24], ecx
jmp 0x537758
mov dword [esp + 0x28], 1
movsx ebx, byte [eax + 0x568370]
movsx eax, byte [eax + 0x56837c]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5377c3
mov dword [esp + 0x10], getpeername
jmp 0x5377c3
xor ecx, ecx
cmp al, 0x69
sete cl
xor edx, edx
cmp al, 0x6d
sete dl
xor eax, eax
mov ah, byte [edi + 3]
xor ebx, ebx
mov bh, byte [edi + 1]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov al, byte [edi + 4]
mov bl, byte [edi + 2]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5377ae
mov dword [esp + 0x10], getpeername
add edi, 5
mov dword [esp + 0x150], edi
jmp 0x5377c3
mov ebx, 1
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x14]
mov edi, 1
cmp ebx, edi
jl 0x5378fb
jmp 0x5377e0
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x5378dc
cmp eax, 0xc0
jb 0x5378dc
test al, 0x20
jne 0x537823
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x5378dc
test al, 0x10
jne 0x537849
movzx edx, byte [esi]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x5378dc
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 8
jne 0x537878
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x5378dc
test al, 4
jne 0x5378a8
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
add esi, 4
jmp 0x5378dc
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
mov ecx, dword [esp + 0x1c]
push ebp
push ecx
push eax
call fcn.005434e0
test eax, eax
je case.0x5413b8.14
add edi, 1
cmp edi, ebx
jle 0x5377e0
cmp ebx, dword [esp + 0x10]
je 0x5341a0
cmp dword [esp + 0x24], 0
jne 0x53eccd
cmp ebx, dword [esp + 0x10]
mov dword [esp + 0x24], esi
jge 0x537a55
mov edi, edi
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
mov edi, 1
jae 0x537a35
test ebp, ebp
movzx eax, byte [esi]
je 0x537a14
cmp eax, 0xc0
jb 0x537a14
test al, 0x20
jne 0x537968
movzx edx, byte [esi + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
mov edi, 2
jmp 0x537a14
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
test al, 0x10
jne 0x537993
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
mov edi, 3
jmp 0x537a14
test al, 8
jne 0x5379aa
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x537a04
and edx, 0x3f
test al, 4
jne 0x5379df
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
mov edi, 5
jmp 0x537a14
and eax, edi
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov edi, 6
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, dword [esp + 0x1c]
push ebp
push ecx
push eax
call fcn.005434e0
test eax, eax
je 0x537a55
add ebx, 1
add esi, edi
cmp ebx, dword [esp + 0x10]
jl 0x537920
jmp 0x537a55
cmp dword [eax + 0x88], 0
je 0x537a55
cmp esi, dword [eax + 0x84]
jbe 0x537a55
mov dword [eax + 0x64], edi
cmp dword [eax + 0x88], edi
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov ecx, esi
sub esi, 1
cmp ecx, dword [esp + 0x24]
je case.0x5413b8.14
cmp dword [esp + 0x14], 0
je 0x537acd
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x537acd
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
je 0x537ac1
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.005340e0
test eax, eax
je 0x537aa1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [esp + 0x14], ecx
je 0x537ba5
mov eax, dword [esp + 0x150]
mov ecx, 1
add eax, ecx
mov dword [esp + 0x150], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x537b59
test al, 0x20
jne 0x537b36
mov ecx, 2
jmp 0x537b59
test al, 0x10
jne 0x537b41
mov ecx, 3
jmp 0x537b59
test al, 8
jne 0x537b4c
mov ecx, 4
jmp 0x537b59
and al, 4
neg al
sbb eax, eax
neg eax
add eax, 5
mov ecx, eax
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
sub edx, esi
cmp ecx, edx
jg 0x53ee74
test ecx, ecx
jle 0x5341a0
mov edi, dword [esp + 0x150]
lea esp, [esp]
mov al, byte [edi]
mov dl, byte [esi]
add edi, 1
sub ecx, 1
add esi, 1
cmp al, dl
mov dword [esp + 0x150], edi
jne case.0x5413b8.14
test ecx, ecx
jg 0x537b80
jmp 0x5341a0
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
sub edi, esi
cmp edi, 1
jl 0x53ee8c
mov al, byte [esi]
add esi, 1
cmp byte [edx + 1], al
jne case.0x5413b8.14
add edx, 2
mov dword [esp + 0x150], edx
jmp 0x5341a0
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x53f26e
cmp dword [esp + 0x14], ecx
je 0x537e6a
mov edx, dword [esp + 0x150]
mov eax, 1
movzx ecx, byte [edx + eax]
add edx, eax
cmp ecx, 0xc0
mov dword [esp + 0x150], edx
jb 0x537cf8
movzx eax, byte [edx + 1]
and eax, 0x3f
test cl, 0x20
jne 0x537c34
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x537cf8
test cl, 0x10
jne 0x537c57
and ecx, 0xf
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 3
jmp 0x537cf8
test cl, 8
jne 0x537c83
and ecx, 7
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 4
jmp 0x537cf8
test cl, 4
jne 0x537cbb
and ecx, 3
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 4]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 5
jmp 0x537cf8
and ecx, 1
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 5]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 6
cmp ecx, 0x80
jae 0x537d24
mov eax, dword [edi + 0x38]
movzx edi, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edi + eax]
jne case.0x5413b8.14
add edx, 1
mov dword [esp + 0x150], edx
add esi, 1
jmp 0x5341a0
movzx ebx, byte [esi]
add esi, 1
cmp ebx, 0xc0
jb 0x537e0d
movzx edx, byte [esi]
and edx, 0x3f
test bl, 0x20
jne 0x537d51
and ebx, 0x1f
shl ebx, 6
or ebx, edx
add esi, 1
jmp 0x537e0d
test bl, 0x10
jne 0x537d72
and ebx, 0xf
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
jmp 0x537e0d
test bl, 8
jne 0x537d9c
and ebx, 7
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
jmp 0x537e0d
test bl, 4
jne 0x537dd2
and ebx, 3
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
jmp 0x537e0d
and ebx, 1
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 4]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 5
add dword [esp + 0x150], eax
cmp ecx, ebx
je 0x5341a0
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x56a6a0]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x537e40
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x56c8a0]
mov edx, dword [eax*8 + 0x569024]
add edx, ecx
cmp ebx, edx
je 0x5341a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [edi + 0x38]
movzx ecx, byte [edx + 1]
movzx edi, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edi + eax]
jne case.0x5413b8.14
add esi, 1
add edx, 2
mov dword [esp + 0x150], edx
jmp 0x5341a0
xor eax, eax
mov ah, byte [edx + 1]
add edx, 3
mov dword [esp + 0x150], edx
mov al, byte [edx - 1]
mov ebp, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ebp
jmp 0x537f86
mov dword [esp + 0x28], 1
xor ebx, ebx
cmp al, 0x28
mov bh, byte [edx + 1]
mov dword [esp + 0x18], ecx
mov bl, byte [edx + 2]
mov dword [esp + 0x10], ebx
je 0x537ed7
cmp al, 0x35
mov dword [esp + 0x24], ecx
jne 0x537edf
mov dword [esp + 0x24], 1
mov ebp, dword [esp + 0x18]
add edx, 3
mov dword [esp + 0x150], edx
jmp 0x537f86
xor ebp, ebp
add edx, 1
mov dword [esp + 0x28], 1
mov dword [esp + 0x18], ebp
mov dword [esp + 0x150], edx
jmp 0x537f7e
mov ebp, 1
add edx, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x150], edx
jmp 0x537f7e
mov eax, 1
xor ebp, ebp
add edx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x150], edx
jmp 0x537f86
cmp ebx, 0x2e
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x2e
mov eax, ebx
sub eax, ecx
movsx ebp, byte [eax + 0x568370]
mov ecx, eax
movsx eax, byte [eax + 0x56837c]
add edx, 1
and ecx, 1
test eax, eax
mov dword [esp + 0x150], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], eax
jne 0x537f86
mov dword [esp + 0x10], getpeername
cmp dword [esp + 0x14], 0
mov eax, dword [esp + 0x150]
movzx ebx, byte [eax]
je 0x5384c9
cmp ebx, 0xc0
mov edi, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x38], eax
jb 0x538078
test bl, 0x20
jne 0x537fd2
movzx edx, byte [eax + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edi, 2
jmp 0x538074
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x537ff4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
mov edi, 3
jmp 0x53806a
and edx, 0x3f
test bl, 8
jne 0x538014
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
mov edi, 4
jmp 0x53806a
test bl, 4
jne 0x53803d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 4]
mov edi, 5
jmp 0x53806a
and ebx, edi
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 4]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 5]
mov edi, 6
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov ebx, ecx
mov dword [esp + 0x20], edi
add eax, edi
cmp edi, 1
mov dword [esp + 0x150], eax
jle 0x5384d3
cmp dword [esp + 0x2c], 0x2e
jb 0x5380dd
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x56a6a0]
mov ecx, ebx
shl eax, 7
and ecx, 0x8000007f
jns 0x5380b5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x56c8a0]
mov eax, dword [edx*8 + 0x569024]
add eax, ebx
cmp eax, ebx
je 0x5380dd
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.00543110
mov dword [esp + 0x2c], eax
jmp 0x5380e5
mov dword [esp + 0x2c], 0
cmp ebp, 1
mov dword [esp + 0x1c], 1
jl 0x53827a
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0x78]
mov dword [esp + 0x3c], eax
sub eax, edi
mov dword [esp + 0x18], eax
jmp 0x538114
mov eax, dword [esp + 0x18]
cmp esi, eax
ja 0x5381b4
cmp edi, 4
mov ecx, dword [esp + 0x38]
mov eax, edi
mov edx, esi
jb 0x538144
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x538148
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x538130
test eax, eax
je 0x5381a5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x538197
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5381a5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x538197
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5381a5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x538197
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5381a5
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x5381a5
test edi, edi
mov eax, 1
jg 0x5381a7
or eax, 0xffffffff
jmp 0x5381a7
xor eax, eax
test eax, eax
jne 0x5381b4
add esi, dword [esp + 0x20]
jmp 0x538263
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x53f0b0
mov ecx, dword [esp + 0x3c]
sub ecx, eax
cmp esi, ecx
ja 0x53f0b0
cmp eax, 4
lea ecx, [esp + 0x58]
mov edx, esi
jb 0x5381f4
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5381f8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5381e0
test eax, eax
je 0x538255
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x538247
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x538255
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x538247
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x538255
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x538247
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x538255
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x538255
test edi, edi
mov eax, 1
jg 0x538257
or eax, 0xffffffff
jmp 0x538257
xor eax, eax
test eax, eax
jne 0x53f0b0
add esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
add eax, 1
cmp eax, ebp
mov dword [esp + 0x1c], eax
jle 0x538110
mov eax, dword [esp + 0x10]
cmp ebp, eax
je 0x5341a0
cmp dword [esp + 0x24], 0
jne 0x53eeb7
cmp ebp, eax
mov dword [esp + 0x24], esi
jge 0x53843f
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x3c], eax
sub eax, edi
mov dword [esp + 0x18], eax
jmp 0x5382b7
mov eax, dword [esp + 0x18]
cmp esi, eax
ja 0x538354
mov eax, dword [esp + 0x20]
cmp eax, 4
mov ecx, dword [esp + 0x38]
mov edx, esi
jb 0x5382e4
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5382e8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5382d0
test eax, eax
je 0x538345
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x538337
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x538345
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x538337
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x538345
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x538337
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x538345
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x538345
test edi, edi
mov eax, 1
jg 0x538347
or eax, 0xffffffff
jmp 0x538347
xor eax, eax
test eax, eax
jne 0x538354
add esi, dword [esp + 0x20]
jmp 0x5383ff
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x53840e
mov edx, dword [esp + 0x3c]
sub edx, eax
cmp esi, edx
ja 0x53840e
cmp eax, 4
lea ecx, [esp + 0x58]
mov edx, esi
jb 0x538394
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x538398
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x538380
test eax, eax
je 0x5383f5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x5383e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5383f5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x5383e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5383f5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x5383e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5383f5
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x5383f5
test edi, edi
mov eax, 1
jg 0x5383f7
or eax, 0xffffffff
jmp 0x5383f7
xor eax, eax
test eax, eax
jne 0x53840e
add esi, dword [esp + 0x2c]
add ebp, 1
cmp ebp, dword [esp + 0x10]
jl 0x5382b3
jmp 0x53843f
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x53843f
cmp esi, dword [eax + 0x78]
jb 0x53843f
cmp esi, dword [eax + 0x84]
jbe 0x53843f
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, dword [esp + 0x24]
jbe 0x53d96f
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
lea esp, [esp]
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
jne 0x5384be
lea ebx, [ebx]
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x5384b0
cmp esi, dword [esp + 0x24]
ja 0x538470
jmp 0x53d96f
add eax, 1
mov dword [esp + 0x150], eax
cmp dword [esp + 0x2c], 0x2e
jb 0x5385fa
mov edi, dword [esp + 0x15c]
mov ecx, dword [edi + 0x3c]
movzx ebp, byte [ecx + ebx]
mov ecx, 1
cmp dword [esp + 0x18], ecx
mov dword [esp + 0x20], ebp
jl 0x538523
mov edx, dword [edi + 0x78]
mov edi, edi
cmp esi, edx
jae 0x53f0ec
movzx eax, byte [esi]
cmp ebx, eax
je 0x538517
cmp ebp, eax
jne case.0x5413b8.14
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x18]
jle 0x538500
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x18], edx
je 0x5341a0
cmp dword [esp + 0x24], 0
jne 0x53f0f8
mov ecx, dword [esp + 0x18]
cmp ecx, edx
mov dword [esp + 0x24], esi
jge 0x538592
mov edx, dword [edi + 0x78]
jmp 0x538550
cmp esi, edx
jae 0x53856d
movzx eax, byte [esi]
cmp ebx, eax
je 0x53855f
cmp ebp, eax
jne 0x538592
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x10]
jl 0x538550
jmp 0x538592
cmp dword [edi + 0x88], 0
je 0x538592
cmp esi, dword [edi + 0x84]
jbe 0x538592
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, dword [esp + 0x24]
je 0x53d96f
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
lea esp, [esp]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.005340e0
sub esi, 1
test eax, eax
jne 0x541538
cmp esi, dword [esp + 0x24]
jne 0x5385c0
jmp 0x53d96f
mov edx, dword [esp + 0x15c]
mov eax, 1
cmp ebp, eax
jl 0x53862d
mov ecx, dword [edx + 0x78]
lea ecx, [ecx]
cmp esi, ecx
jae 0x5414e2
movzx edi, byte [esi]
add esi, 1
cmp ebx, edi
jne case.0x5413b8.14
add eax, 1
cmp eax, ebp
jle 0x538610
cmp ebp, dword [esp + 0x10]
je 0x5341a0
cmp dword [esp + 0x24], 0
jne 0x53f1b4
cmp ebp, dword [esp + 0x10]
mov edi, esi
mov dword [esp + 0x24], edi
mov eax, ebp
jge 0x538691
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x53866c
movzx ebp, byte [esi]
cmp ebx, ebp
jne 0x538691
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x10]
jl 0x538653
jmp 0x538691
cmp dword [edx + 0x88], 0
je 0x538691
cmp esi, dword [edx + 0x84]
jbe 0x538691
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, edi
je 0x53d96f
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
lea esp, [esp]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.005340e0
sub esi, 1
test eax, eax
jne 0x541538
cmp esi, dword [esp + 0x24]
jne 0x5386c0
jmp 0x53d96f
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x53f26e
cmp dword [esp + 0x14], ecx
je 0x53898b
mov eax, dword [esp + 0x150]
movzx ebx, byte [eax + 1]
add eax, 1
add eax, 1
cmp ebx, 0xc0
mov dword [esp + 0x150], eax
jb 0x538821
test bl, 0x20
jne 0x538753
movzx ecx, byte [eax]
and ebx, 0x1f
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 1
jmp 0x53881a
test bl, 0x10
jne 0x53877a
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 2
jmp 0x53881a
test bl, 8
jne 0x5387aa
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [eax + 2]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
shl ebx, 6
and edx, 0x3f
or ebx, edx
add eax, 3
jmp 0x53881a
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
and ecx, 0x3f
and edx, 0x3f
test bl, 4
jne 0x5387e6
and ebx, 3
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 2]
shl ebx, 6
or ebx, edx
movzx edx, byte [eax + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
shl ebx, 6
and edx, 0x3f
or ebx, edx
add eax, 4
jmp 0x53881a
and ebx, 1
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 2]
shl ebx, 6
or ebx, edx
movzx edx, byte [eax + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 4]
shl ebx, 6
and edx, 0x3f
or ebx, edx
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 5
mov dword [esp + 0x150], eax
movzx ecx, byte [esi]
add esi, 1
cmp ecx, 0xc0
jb 0x53890a
test cl, 0x20
jne 0x53884e
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x53890a
test cl, 0x10
jne 0x538875
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x53890a
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x5388a5
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53890a
test cl, 4
jne 0x5388d6
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x53890a
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
cmp dword [esp + 0x2c], 0x1f
jne 0x538928
cmp ebx, ecx
jne 0x5341a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x138
ret 0x1c
cmp ebx, 0x7f
jbe 0x538965
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
mov eax, ebx
shl edx, 7
and eax, 0x8000007f
jns 0x538950
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x56c8a0]
mov eax, dword [edx*8 + 0x569024]
add eax, ebx
jmp 0x53896c
mov eax, dword [edi + 0x3c]
movzx eax, byte [eax + ebx]
cmp ebx, ecx
je case.0x5413b8.14
cmp eax, ecx
jne 0x5341a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x138
ret 0x1c
mov ecx, dword [esp + 0x150]
movzx eax, byte [ecx + 1]
movzx ecx, byte [esi]
add esi, 1
cmp eax, ecx
je case.0x5413b8.14
cmp ebx, 0x20
jne 0x5389b8
mov edx, dword [edi + 0x3c]
movzx eax, byte [edx + eax]
cmp eax, ecx
je case.0x5413b8.14
add dword [esp + 0x150], 2
jmp 0x5341a0
xor eax, eax
mov ah, byte [edx + 1]
add edx, 3
mov al, byte [edx - 1]
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x538a88
xor ebx, ebx
mov bh, byte [edx + 1]
xor edi, edi
cmp al, 0x42
mov bl, byte [edx + 2]
mov dword [esp + 0x10], ebx
je 0x5389f5
cmp al, 0x4f
mov dword [esp + 0x24], ecx
jne 0x5389fd
mov dword [esp + 0x24], 1
add edx, 3
jmp 0x538a88
xor edi, edi
mov dword [esp + 0x28], 1
add edx, 1
jmp 0x538a80
mov edi, 1
mov dword [esp + 0x28], edi
add edx, edi
jmp 0x538a80
mov eax, 1
xor edi, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], eax
add edx, eax
jmp 0x538a88
xor ecx, ecx
mov ch, byte [edx + 1]
xor edi, edi
mov dword [esp + 0x28], 1
add edx, 3
mov cl, byte [edx - 1]
mov dword [esp + 0x10], ecx
jmp 0x538a88
cmp ebx, 0x48
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x48
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x568370]
mov ecx, eax
movsx eax, byte [eax + 0x56837c]
and ecx, 1
add edx, 1
test eax, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
jne 0x538a88
mov dword [esp + 0x10], getpeername
movzx ebx, byte [edx]
mov ebp, dword [esp + 0x14]
add edx, 1
test ebp, ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x150], edx
je 0x538b8c
cmp ebx, 0xc0
jb 0x538b8c
test bl, 0x20
jne 0x538ad0
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esp + 0x1c], eax
add edx, 1
jmp 0x538b81
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x538af7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add edx, 2
jmp 0x538b7d
test bl, 8
jne 0x538b1a
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 3
jmp 0x538b7d
test bl, 4
jne 0x538b49
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 4
jmp 0x538b7d
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 5
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x150], edx
cmp dword [esp + 0x2c], 0x48
jb 0x53902a
test ebp, ebp
je 0x538bd9
cmp ebx, 0x7f
jbe 0x538bd9
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x56a6a0]
mov edx, ebx
shl ecx, 7
and edx, 0x8000007f
jns 0x538bc4
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x56c8a0]
mov eax, dword [eax*8 + 0x569024]
add eax, ebx
jmp 0x538be7
mov ecx, dword [esp + 0x15c]
mov edx, dword [ecx + 0x3c]
movzx eax, byte [edx + ebx]
test ebp, ebp
mov dword [esp + 0x20], eax
je 0x538d1b
mov ecx, 1
cmp edi, ecx
jl 0x538d57
mov edx, dword [esp + 0x15c]
mov ebp, dword [edx + 0x78]
lea ebx, [ebx]
cmp esi, ebp
jae 0x53f770
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x538cfc
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x538c43
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x538cfc
test al, 0x10
jne 0x538c63
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x538cfc
test al, 8
jne 0x538c8c
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x538cfc
test al, 4
jne 0x538cc1
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x538cfc
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp ebx, eax
je case.0x5413b8.14
cmp dword [esp + 0x20], eax
je case.0x5413b8.14
add ecx, 1
cmp ecx, edi
jle 0x538c10
jmp 0x538d57
mov edx, 1
cmp edi, edx
jl 0x538d57
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
mov edi, edi
cmp esi, ebp
jae 0x53f299
movzx eax, byte [esi]
cmp ebx, eax
je case.0x5413b8.14
cmp dword [esp + 0x20], eax
je case.0x5413b8.14
add edx, 1
add esi, 1
cmp edx, edi
jle 0x538d30
mov edx, dword [esp + 0x10]
cmp edi, edx
je 0x5341a0
cmp dword [esp + 0x24], 0
jne 0x53f2cc
cmp dword [esp + 0x14], 0
mov dword [esp + 0x24], esi
je 0x538f69
cmp edi, edx
jge 0x538ed9
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x20]
jmp 0x538da7
mov eax, dword [esp + 0x15c]
cmp esi, ebp
mov ecx, 1
jae 0x538eb9
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x538ea0
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x538ddf
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x538ea0
test al, 0x10
jne 0x538e01
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x538ea0
test al, 8
jne 0x538e2c
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x538ea0
test al, 4
jne 0x538e63
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x538ea0
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp ebx, eax
je 0x538ed9
cmp edx, eax
je 0x538ed9
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x10]
jl 0x538da0
jmp 0x538ed9
cmp dword [eax + 0x88], 0
je 0x538ed9
cmp esi, dword [eax + 0x84]
jbe 0x538ed9
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, dword [esp + 0x24]
jbe 0x53d96f
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
jmp 0x538f10
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x538f5e
jmp 0x538f50
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x538f50
cmp esi, dword [esp + 0x24]
ja 0x538f10
jmp 0x53d96f
cmp edi, edx
mov ecx, edi
jge 0x538fc2
mov ebp, dword [esp + 0x15c]
mov edi, dword [ebp + 0x78]
lea esp, [esp]
cmp esi, edi
jae 0x538f9d
movzx eax, byte [esi]
cmp ebx, eax
je 0x538fc2
cmp dword [esp + 0x20], eax
je 0x538fc2
add ecx, 1
add esi, 1
cmp ecx, edx
jl 0x538f80
jmp 0x538fc2
cmp dword [ebp + 0x88], 0
je 0x538fc2
cmp esi, dword [ebp + 0x84]
jbe 0x538fc2
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, dword [esp + 0x24]
je 0x53d96f
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
lea esp, [esp]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
push eax
push ecx
push ebp
push ebx
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
sub esi, 1
cmp esi, dword [esp + 0x24]
jne 0x538ff0
jmp 0x53d96f
test ebp, ebp
je 0x539153
mov ecx, 1
cmp edi, ecx
jl 0x539187
mov ebx, dword [esp + 0x15c]
mov ebp, dword [ebx + 0x78]
lea esp, [esp]
cmp esi, ebp
jae 0x53f503
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53913c
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x539083
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53913c
test al, 0x10
jne 0x5390a3
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x53913c
test al, 8
jne 0x5390cc
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x53913c
test al, 4
jne 0x539101
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x53913c
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp dword [esp + 0x1c], eax
je case.0x5413b8.14
add ecx, 1
cmp ecx, edi
jle 0x539050
jmp 0x53918e
mov eax, 1
cmp edi, eax
jl 0x539187
mov ebx, dword [esp + 0x15c]
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x53f503
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x1c], ecx
je case.0x5413b8.14
add eax, 1
cmp eax, edi
jle 0x539166
jmp 0x53918e
mov ebx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x10]
cmp edi, ecx
je 0x5341a0
cmp dword [esp + 0x24], 0
jne 0x53f52f
cmp dword [esp + 0x14], 0
mov edx, esi
mov dword [esp + 0x24], edx
je 0x539387
cmp edi, ecx
jge 0x539307
mov ebp, dword [ebx + 0x78]
jmp 0x5391d7
mov ebx, dword [esp + 0x15c]
cmp esi, ebp
mov ecx, 1
jae 0x5392e7
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5392d0
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53920f
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5392d0
test al, 0x10
jne 0x539231
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x5392d0
test al, 8
jne 0x53925c
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x5392d0
test al, 4
jne 0x539293
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x5392d0
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp dword [esp + 0x1c], eax
je 0x539307
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x10]
jl 0x5391d0
jmp 0x539307
cmp dword [ebx + 0x88], 0
je 0x539307
cmp esi, dword [ebx + 0x84]
jbe 0x539307
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, edx
jbe 0x53d96f
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
nop
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
push eax
push ecx
push ebp
push ebx
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
jne 0x53937c
lea ebx, [ebx]
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
je 0x539370
cmp esi, dword [esp + 0x24]
ja 0x539330
jmp 0x53d96f
cmp edi, ecx
mov eax, edi
jge 0x5393d9
mov ecx, dword [ebx + 0x78]
jmp 0x539399
mov ebx, dword [esp + 0x15c]
cmp esi, ecx
jae 0x5393b4
movzx edi, byte [esi]
cmp dword [esp + 0x1c], edi
je 0x5393d9
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x10]
jl 0x539392
jmp 0x5393d9
cmp dword [ebx + 0x88], 0
je 0x5393d9
cmp esi, dword [ebx + 0x84]
jbe 0x5393d9
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, edx
je 0x53d96f
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
sub esi, 1
cmp esi, dword [esp + 0x24]
jne 0x539401
jmp 0x53d96f
xor eax, eax
mov ah, byte [edx + 1]
mov dword [esp + 0x24], 1
add edx, 3
mov al, byte [edx - 1]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov ebx, eax
mov edi, eax
jmp 0x539537
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov ch, byte [edx + 1]
mov ebx, dword [esp + 0x18]
mov cl, byte [edx + 2]
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x10]
xor ecx, ecx
cmp al, 0x5c
sete cl
add edx, 3
mov dword [esp + 0x24], ecx
jmp 0x539537
mov dword [esp + 0x10], getpeername
mov edi, dword [esp + 0x10]
mov dword [esp + 0x28], 1
mov dword [esp + 0x18], ecx
add edx, 1
mov ebx, ecx
jmp 0x539537
mov eax, 1
mov dword [esp + 0x10], getpeername
mov edi, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
add edx, eax
mov ebx, eax
jmp 0x539537
mov eax, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
add edx, eax
mov ebx, ecx
mov edi, eax
jmp 0x539537
xor eax, eax
mov ah, byte [edx + 1]
mov dword [esp + 0x28], 1
mov dword [esp + 0x18], ecx
add edx, 3
mov ebx, ecx
mov al, byte [edx - 1]
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x539537
lea eax, [ebx - 0x55]
movsx edi, byte [eax + 0x56837c]
movsx ebx, byte [eax + 0x568370]
mov ecx, eax
and ecx, 1
add edx, 1
test edi, edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], edi
jne 0x539537
mov edi, accept
mov dword [esp + 0x10], edi
movzx eax, byte [edx]
add edx, 1
cmp eax, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x150], edx
je 0x53955f
cmp eax, 0xf
je 0x53955f
mov ebp, dword [esp + 0x30]
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x53958b
movzx eax, byte [edx]
xor ecx, ecx
cmp dword [esp + 0x20], 0xf
mov dword [esp + 0x2c], eax
sete cl
add edx, 1
add edx, 1
mov dword [esp + 0x150], edx
mov ebp, ecx
movzx ecx, byte [edx - 1]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ecx
test ebx, ebx
jle 0x53b5eb
test eax, eax
jl 0x53a3ad
cmp eax, 0xa
ja case.default.0x5369d4
jmp dword [eax*4 + 0x5417fc]
test ebp, ebp
jne case.0x5413b8.14
lea ecx, [ebp + 1]
cmp ebx, ecx
jl 0x53b5eb
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
cmp esi, edx
jae 0x53f7ca
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x53960b
cmp eax, 0xc0
jb 0x53960b
test al, 0x20
jne 0x5395ed
add esi, 1
jmp 0x53960b
test al, 0x10
jne 0x5395f6
add esi, 2
jmp 0x53960b
test al, 8
jne 0x5395ff
add esi, 3
jmp 0x53960b
test al, 4
jne 0x539608
add esi, 4
jmp 0x53960b
add esi, 5
add ecx, 1
cmp ecx, ebx
jle 0x5395c8
jmp 0x539792
mov edi, 1
cmp ebx, edi
jl 0x53b5e7
mov edx, dword [esp + 0x15c]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x14]
cmp esi, ebp
jae 0x53f770
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x539720
cmp ecx, 0xc0
jb 0x539720
test cl, 0x20
jne 0x53966f
movzx eax, byte [esi]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x539720
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 0x10
jne 0x539698
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov ecx, edx
add esi, 2
jmp 0x539720
test cl, 8
jne 0x5396bb
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x539720
test cl, 4
jne 0x5396ec
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x539720
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x539742
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx eax, byte [eax*8 + 0x569021]
cmp eax, 9
je 0x539767
cmp eax, 5
je 0x539767
cmp eax, 8
je 0x539767
xor eax, eax
jmp 0x53976c
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x5413b8.14
add edi, 1
cmp edi, dword [esp + 0x18]
jle 0x539632
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x15c]
mov edi, dword [esp + 0x10]
cmp ebx, edi
je 0x5341a0
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x2c]
jne 0x53f822
test eax, eax
mov dword [esp + 0x24], esi
jl 0x53c57a
cmp eax, 0xa
ja case.default.0x5369d4
jmp dword [eax*4 + 0x541828]
mov edi, 1
cmp ebx, edi
jl 0x53b5e7
mov ecx, dword [esp + 0x15c]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x14]
cmp esi, ebp
jae 0x53f770
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x5398d9
cmp ecx, 0xc0
jb 0x5398d9
test cl, 0x20
jne 0x53981d
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x5398d9
test cl, 0x10
jne 0x539844
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x5398d9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x539874
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x5398d9
test cl, 4
jne 0x5398a5
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x5398d9
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x5398fb
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
mov eax, dword [esp + 0x34]
xor edx, edx
cmp dword [ecx*4 + 0x568560], eax
sete dl
cmp edx, dword [esp + 0x30]
je case.0x5413b8.14
add edi, 1
cmp edi, dword [esp + 0x18]
jle 0x5397e0
jmp 0x539783
mov edi, 1
cmp ebx, edi
jl 0x53b5e7
mov ecx, dword [esp + 0x15c]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x14]
cmp esi, ebp
jae 0x53f770
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x539a4d
cmp ecx, 0xc0
jb 0x539a4d
test cl, 0x20
jne 0x539991
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x539a4d
test cl, 0x10
jne 0x5399b8
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x539a4d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x5399e8
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x539a4d
test cl, 4
jne 0x539a19
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x539a4d
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x539a6f
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
xor edx, edx
cmp ecx, dword [esp + 0x34]
sete dl
cmp edx, dword [esp + 0x30]
je case.0x5413b8.14
add edi, 1
cmp edi, dword [esp + 0x18]
jle 0x539954
jmp 0x539783
mov edi, 1
cmp ebx, edi
jl 0x53b5e7
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x14]
cmp esi, ebp
jae 0x53f770
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x539bba
cmp ecx, 0xc0
jb 0x539bba
test cl, 0x20
jne 0x539afe
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x539bba
test cl, 0x10
jne 0x539b25
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x539bba
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x539b55
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x539bba
test cl, 4
jne 0x539b86
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x539bba
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x539bdc
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569020]
xor edx, edx
cmp ecx, dword [esp + 0x34]
sete dl
cmp edx, dword [esp + 0x30]
je case.0x5413b8.14
add edi, 1
cmp edi, dword [esp + 0x18]
jle 0x539ac1
jmp 0x539783
mov edi, 1
cmp ebx, edi
jl 0x53b5e7
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x14]
mov edi, edi
cmp esi, ebp
jae 0x53f770
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x539d29
cmp ecx, 0xc0
jb 0x539d29
test cl, 0x20
jne 0x539c6d
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x539d29
test cl, 0x10
jne 0x539c94
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x539d29
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x539cc4
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x539d29
test cl, 4
jne 0x539cf5
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x539d29
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x539d4b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
mov eax, dword [ecx*4 + 0x568560]
cmp eax, 1
je 0x539d72
cmp eax, 3
je 0x539d72
xor eax, eax
jmp 0x539d77
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x5413b8.14
add edi, 1
cmp edi, dword [esp + 0x18]
jle 0x539c30
jmp 0x539783
mov edi, 1
cmp ebx, edi
jl 0x53b5e7
mov edx, dword [esp + 0x15c]
mov ebx, dword [edx + 0x78]
lea ebp, [edi + 5]
lea ecx, [ecx]
cmp esi, ebx
jae 0x53f770
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x539ea1
cmp ecx, 0xc0
jb 0x539ea1
test cl, 0x20
jne 0x539df0
movzx eax, byte [esi]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x539ea1
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 0x10
jne 0x539e19
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov ecx, edx
add esi, 2
jmp 0x539ea1
test cl, 8
jne 0x539e3c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x539ea1
test cl, 4
jne 0x539e6d
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x539ea1
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
cmp ecx, 0x180e
ja 0x539ee4
je case.0x539f00.8192
cmp ecx, 0x85
ja 0x539ed0
je case.0x539f00.8192
cmp ecx, 9
jb case.0x539f00.8203
cmp ecx, 0xd
jbe case.0x539f00.8192
cmp ecx, 0x20
jmp 0x539f15
cmp ecx, 0xa0
je case.0x539f00.8192
cmp ecx, 0x1680
jmp 0x539f15
cmp ecx, 0x202f
ja 0x539f07
je case.0x539f00.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x539f00.8203
movzx edx, byte [eax + 0x54185c]
jmp dword [edx*4 + 0x541854]
cmp ecx, 0x205f
je case.0x539f00.8192
cmp ecx, 0x3000
je case.0x539f00.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x56a6a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x539f39
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x56c8a0]
movzx edx, byte [ecx*8 + 0x569021]
xor eax, eax
cmp dword [edx*4 + 0x568560], ebp
sete al
cmp eax, dword [esp + 0x30]
je case.0x5413b8.14
jmp 0x539f6e
cmp dword [esp + 0x30], 0
jne case.0x5413b8.14
add edi, 1
cmp edi, dword [esp + 0x18]
jle 0x539db0
jmp 0x539783
mov edi, 1
cmp ebx, edi
jl 0x53b5e7
mov ecx, dword [esp + 0x15c]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x14]
jmp 0x539fa0
cmp esi, ebp
jae 0x53f770
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53a099
cmp ecx, 0xc0
jb 0x53a099
test cl, 0x20
jne 0x539fdd
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x53a099
test cl, 0x10
jne 0x53a004
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x53a099
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x53a034
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53a099
test cl, 4
jne 0x53a065
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x53a099
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
mov eax, ecx
shl edx, 7
and eax, 0x8000007f
jns 0x53a0bc
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x56c8a0]
movzx eax, byte [edx*8 + 0x569021]
mov eax, dword [eax*4 + 0x568560]
cmp eax, 1
je 0x53a0e8
cmp eax, 3
je 0x53a0e8
cmp ecx, 0x5f
je 0x53a0e8
xor eax, eax
jmp 0x53a0ed
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x5413b8.14
add edi, 1
cmp edi, dword [esp + 0x18]
jle 0x539fa0
jmp 0x539783
mov edi, 1
cmp ebx, edi
jl 0x53b5e7
mov ecx, dword [esp + 0x15c]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x14]
cmp esi, ebp
jae 0x53f770
movzx eax, byte [esi]
add esi, 1
test ebx, ebx
je 0x53a20d
cmp eax, 0xc0
jb 0x53a20d
test al, 0x20
jne 0x53a15f
movzx edx, byte [esi]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53a20d
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 0x10
jne 0x53a187
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
or ecx, edx
mov eax, ecx
add esi, 2
jmp 0x53a20d
test al, 8
jne 0x53a1a9
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x53a20d
test al, 4
jne 0x53a1d9
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
add esi, 4
jmp 0x53a20d
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [esp + 0x34]
mov ecx, dword [edx*4 + 0x568ee0]
cmp eax, ecx
lea edx, [edx*4 + 0x568ee0]
jb 0x53a230
add edx, 4
cmp eax, ecx
je 0x53a23d
mov ecx, dword [edx]
cmp eax, ecx
jae 0x53a223
cmp dword [esp + 0x30], 0
je case.0x5413b8.14
jmp 0x53a248
cmp dword [esp + 0x30], 0
jne case.0x5413b8.14
add edi, 1
cmp edi, dword [esp + 0x18]
jle 0x53a124
jmp 0x539783
mov ecx, 1
cmp ebx, ecx
jl 0x53b5eb
mov edx, dword [esp + 0x15c]
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x53f770
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x53a368
cmp eax, 0xc0
jb 0x53a368
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53a2af
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53a368
test al, 0x10
jne 0x53a2cf
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x53a368
test al, 8
jne 0x53a2f8
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 3
jmp 0x53a368
test al, 4
jne 0x53a32d
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 4
jmp 0x53a368
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x24
je 0x53a390
cmp eax, 0x40
je 0x53a390
cmp eax, 0x60
je 0x53a390
cmp eax, 0xa0
jb 0x53a385
cmp eax, 0xd7ff
jbe 0x53a390
cmp eax, 0xe000
jae 0x53a390
xor eax, eax
jmp 0x53a395
mov eax, 1
cmp eax, ebp
je case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53a271
jmp 0x539787
cmp dword [esp + 0x20], 0x16
jne 0x53a6ae
cmp ebx, 1
mov dword [esp + 0x1c], 1
jl 0x53b5eb
lea esp, [esp]
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov dword [esp + 0x38], edi
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x53a4da
cmp ecx, 0xc0
jb 0x53a4da
test cl, 0x20
jne 0x53a41e
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x53a4da
test cl, 0x10
jne 0x53a445
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x53a4da
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x53a475
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53a4da
test cl, 4
jne 0x53a4a6
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x53a4da
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53a4fc
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, edi
movzx eax, word [edx*2 + 0x56c8a0]
movzx ebp, byte [eax*8 + 0x569022]
jae 0x53a662
mov ebx, dword [esp + 0x14]
lea ebx, [ebx]
test ebx, ebx
movzx ecx, byte [esi]
mov edi, 1
je 0x53a610
cmp ecx, 0xc0
jb 0x53a610
test cl, 0x20
jne 0x53a558
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53a60e
test cl, 0x10
jne 0x53a582
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53a610
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53a5a5
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53a600
and eax, 0x3f
test cl, 4
jne 0x53a5db
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53a610
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53a632
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569022]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x5684ec], edx
je 0x53a662
add esi, edi
cmp esi, dword [esp + 0x38]
mov ebp, ecx
jb 0x53a520
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x53a694
cmp esi, dword [esp + 0x38]
jb 0x53a694
cmp esi, dword [eax + 0x84]
jbe 0x53a694
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x54150f
mov eax, dword [esp + 0x1c]
add eax, 1
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jle 0x53a3d0
jmp 0x539783
mov eax, dword [esp + 0x20]
add eax, 0xfffffffa
cmp dword [esp + 0x14], 0
je 0x53b1c2
cmp eax, 0xf
ja case.default.0x5369d4
jmp dword [eax*4 + 0x541888]
mov ebp, 1
cmp dword [esp + 0x18], ebp
jl 0x539783
mov ebx, dword [esp + 0x15c]
mov ecx, ebp
jmp 0x53a6f0
cmp esi, dword [ebx + 0x78]
jae 0x53f749
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x53a721
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00542d60
test eax, eax
jne case.0x5413b8.14
lea ecx, [eax + 1]
jmp 0x53a745
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x53a745
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x53a745
cmp dword [edi], ecx
je case.0x5413b8.14
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.0x5413b8.14
cmp dword [ebx + 0x88], 0
je 0x53a777
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x53a777
cmp dword [ebx + 0x18], 0
jne 0x53a777
cmp dword [edi], 2
jne 0x53a777
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x53a777
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x54150f
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x53a790
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53a790
add esi, ecx
cmp esi, eax
jb 0x53a780
add ebp, ecx
cmp ebp, dword [esp + 0x18]
jle 0x53a6f0
jmp 0x539783
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov eax, dword [ebp + 0x78]
cmp esi, eax
jae 0x53f7ca
add esi, 1
cmp esi, eax
jae 0x53a7e3
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53a7d8
add esi, 1
cmp esi, eax
jb 0x53a7c7
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x15c]
add ecx, 1
cmp ecx, ebx
jle 0x53a7b8
jmp 0x539792
mov ebp, dword [esp + 0x15c]
mov eax, dword [ebp + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x5413b8.14
add esi, ebx
jmp 0x539792
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov edx, dword [esp + 0x15c]
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x53f770
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53a90d
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53a854
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53a90d
test al, 0x10
jne 0x53a874
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x53a90d
test al, 8
jne 0x53a89d
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 3
jmp 0x53a90d
test al, 4
jne 0x53a8d2
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 4
jmp 0x53a90d
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 5
cmp eax, 0xd
ja 0x53a932
je 0x53a924
cmp eax, 0xa
je 0x53a960
jbe case.0x5413b8.14
cmp eax, 0xc
jmp 0x53a949
cmp esi, edi
jae 0x53a960
cmp byte [esi], 0xa
jne 0x53a960
add esi, 1
jmp 0x53a960
cmp eax, 0x85
je 0x53a94f
cmp eax, 0x2027
jbe case.0x5413b8.14
cmp eax, 0x2029
ja case.0x5413b8.14
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x68], 0
jne case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53a821
jmp 0x539787
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x53f770
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53aa76
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53a9ba
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53aa76
test al, 0x10
jne 0x53a9da
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x53aa76
test al, 8
jne 0x53aa06
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 3
jmp 0x53aa76
test al, 4
jne 0x53aa3b
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 4
jmp 0x53aa76
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x180e
ja 0x53aaa5
je case.0x5413b8.14
cmp eax, 0xa0
ja 0x53aa9e
je case.0x5413b8.14
cmp eax, 9
je case.0x5413b8.14
cmp eax, 0x20
jmp 0x53aad0
cmp eax, 0x1680
jmp 0x53aad0
cmp eax, 0x205f
ja 0x53aacb
je case.0x5413b8.14
cmp eax, 0x2000
jb 0x53aad6
cmp eax, 0x200a
jbe case.0x5413b8.14
cmp eax, 0x202f
jmp 0x53aad0
cmp eax, 0x3000
je case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53a987
jmp 0x539787
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov edx, dword [esp + 0x15c]
mov edi, dword [edx + 0x78]
lea ecx, [ecx]
cmp esi, edi
jae 0x53f770
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53abec
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53ab33
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53abec
test al, 0x10
jne 0x53ab53
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x53abec
test al, 8
jne 0x53ab7c
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 3
jmp 0x53abec
test al, 4
jne 0x53abb1
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 4
jmp 0x53abec
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x180e
ja 0x53ac0f
je 0x53ac3c
cmp eax, 0xa0
ja 0x53ac08
je 0x53ac3c
cmp eax, 9
je 0x53ac3c
cmp eax, 0x20
jmp 0x53ac36
cmp eax, 0x1680
jmp 0x53ac36
cmp eax, 0x205f
ja 0x53ac31
je 0x53ac3c
cmp eax, 0x2000
jb case.0x5413b8.14
cmp eax, 0x200a
jbe 0x53ac3c
cmp eax, 0x202f
jmp 0x53ac36
cmp eax, 0x3000
jne case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53ab00
jmp 0x539787
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov edx, dword [esp + 0x15c]
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x53f770
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ad4f
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53ac96
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53ad4f
test al, 0x10
jne 0x53acb6
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x53ad4f
test al, 8
jne 0x53acdf
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 3
jmp 0x53ad4f
test al, 4
jne 0x53ad14
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 4
jmp 0x53ad4f
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x85
ja 0x53ad66
je case.0x5413b8.14
cmp eax, 0xa
jb 0x53ad78
cmp eax, 0xd
jmp 0x53ad72
cmp eax, 0x2028
jb 0x53ad78
cmp eax, 0x2029
jbe case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53ac63
jmp 0x539787
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov edx, dword [esp + 0x15c]
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x53f770
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ae8c
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53add3
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53ae8c
test al, 0x10
jne 0x53adf3
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x53ae8c
test al, 8
jne 0x53ae1c
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 3
jmp 0x53ae8c
test al, 4
jne 0x53ae51
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 4
jmp 0x53ae8c
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x85
ja 0x53aea3
je 0x53aeb9
cmp eax, 0xa
jb case.0x5413b8.14
cmp eax, 0xd
jmp 0x53aeb3
cmp eax, 0x2028
jb case.0x5413b8.14
cmp eax, 0x2029
ja case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53ada0
jmp 0x539787
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov edx, dword [esp + 0x15c]
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x53f770
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53afcf
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53af13
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53afcf
test al, 0x10
jne 0x53af33
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x53afcf
test al, 8
jne 0x53af5f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 3
jmp 0x53afcf
test al, 4
jne 0x53af94
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 4
jmp 0x53afcf
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x80
jae 0x53afea
mov edx, dword [esp + 0x15c]
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jne case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53aee0
jmp 0x539787
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
cmp esi, edx
jae 0x53f7ca
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x5413b8.14
mov edi, dword [ebp + 0x40]
test byte [eax + edi], 4
je case.0x5413b8.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53b011
jmp 0x53978e
mov edx, 1
cmp ebx, edx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov ecx, dword [ebp + 0x78]
lea ebx, [ebx]
cmp esi, ecx
jae 0x53f7ca
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53b083
mov edi, dword [ebp + 0x40]
test byte [eax + edi], 1
jne case.0x5413b8.14
mov edi, dword [esp + 0x10]
add esi, 1
cmp esi, ecx
jae 0x53b0aa
lea ebx, [ebx]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53b09f
add esi, 1
cmp esi, ecx
jb 0x53b090
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x15c]
add edx, 1
cmp edx, ebx
jle 0x53b060
jmp 0x539792
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edx
jae 0x53f7ca
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x5413b8.14
mov edi, dword [ebp + 0x40]
test byte [eax + edi], 1
je case.0x5413b8.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53b0d0
jmp 0x53978e
mov edx, 1
cmp ebx, edx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov ecx, dword [ebp + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x53f7ca
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53b143
mov edi, dword [ebp + 0x40]
test byte [eax + edi], 0x10
jne case.0x5413b8.14
mov edi, dword [esp + 0x10]
add esi, 1
cmp esi, ecx
jae 0x53b16a
lea ebx, [ebx]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53b15f
add esi, 1
cmp esi, ecx
jb 0x53b150
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x15c]
add edx, 1
cmp edx, ebx
jle 0x53b120
jmp 0x539792
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edx
jae 0x53f7ca
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x5413b8.14
mov edi, dword [ebp + 0x40]
test byte [eax + edi], 0x10
je case.0x5413b8.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53b190
jmp 0x53978e
cmp eax, 0xf
ja case.default.0x5369d4
jmp dword [eax*4 + 0x5418c8]
mov ebp, 1
cmp dword [esp + 0x18], ebp
jl 0x539783
mov ecx, dword [esp + 0x15c]
lea ebx, [esi + 1]
mov edx, ebp
lea ecx, [ecx]
cmp esi, dword [ecx + 0x78]
jae 0x53f7a3
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x53b22c
mov ecx, dword [esp + 0x15c]
push 0
lea edi, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edi
push ecx
push eax
push esi
call fcn.00542d60
test eax, eax
jne case.0x5413b8.14
mov ecx, dword [esp + 0x15c]
lea edx, [eax + 1]
jmp 0x53b253
mov eax, dword [ecx + 0x78]
sub eax, dword [ecx + 0x1c]
lea edi, [ecx + 0x1c]
cmp esi, eax
ja 0x53b253
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53b253
cmp dword [edi], edx
je case.0x5413b8.14
mov al, byte [ebx]
cmp al, byte [ecx + 0x35]
je case.0x5413b8.14
cmp dword [ecx + 0x88], 0
je 0x53b282
cmp ebx, dword [ecx + 0x78]
jb 0x53b282
cmp dword [ecx + 0x18], 0
jne 0x53b282
cmp dword [edi], 2
jne 0x53b282
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53b282
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jg 0x54150f
add ebp, edx
add esi, edx
add ebx, edx
cmp ebp, dword [esp + 0x18]
jle 0x53b1f0
jmp 0x539783
mov ebp, dword [esp + 0x15c]
mov ecx, dword [ebp + 0x78]
sub ecx, ebx
cmp esi, ecx
ja 0x53f7ca
add esi, ebx
jmp 0x539792
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
sub edx, ebx
cmp esi, edx
ja 0x53f7ca
add esi, ebx
jmp 0x539792
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
cmp esi, edx
jae 0x53f7ca
movzx eax, byte [esi]
sub eax, 0xa
add esi, 1
cmp eax, 0x7b
ja case.0x5413b8.14
movzx eax, byte [eax + 0x541918]
jmp dword [eax*4 + 0x541908]
cmp esi, edx
jae case.0x53b305.10
cmp byte [esi], 0xa
jne case.0x53b305.10
add esi, 1
jmp case.0x53b305.10
cmp dword [ebp + 0x68], 0
jne case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53b2e4
jmp 0x539792
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
cmp esi, edx
jae 0x53f7ca
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je case.0x5413b8.14
cmp eax, 0x20
je case.0x5413b8.14
cmp eax, 0xa0
je case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53b347
jmp 0x539792
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
cmp esi, edx
jae 0x53f7ca
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je 0x53b3b8
cmp eax, 0x20
je 0x53b3b8
cmp eax, 0xa0
jne case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53b395
jmp 0x539792
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
jmp 0x53b3e0
cmp esi, edx
jae 0x53f7ca
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl 0x53b407
cmp eax, 0xd
jle case.0x5413b8.14
cmp eax, 0x85
je case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53b3e0
jmp 0x539792
mov ecx, 1
cmp ebx, ecx
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
lea ebx, [ebx]
cmp esi, edx
jae 0x53f7ca
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl case.0x5413b8.14
cmp eax, 0xd
jle 0x53b457
cmp eax, 0x85
jne case.0x5413b8.14
add ecx, 1
cmp ecx, ebx
jle 0x53b430
jmp 0x539792
mov eax, 1
cmp ebx, eax
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov ecx, dword [ebp + 0x78]
lea ebx, [ebx]
cmp esi, ecx
jae 0x53f7f6
movzx edx, byte [esi]
mov edi, dword [ebp + 0x40]
test byte [edx + edi], 4
jne case.0x5413b8.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53b480
jmp 0x53978e
mov eax, 1
cmp ebx, eax
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov ecx, dword [ebp + 0x78]
mov edi, edi
cmp esi, ecx
jae 0x53f7f6
movzx edx, byte [esi]
mov edi, dword [ebp + 0x40]
test byte [edx + edi], 4
je case.0x5413b8.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53b4c0
jmp 0x53978e
mov eax, 1
cmp ebx, eax
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov ecx, dword [ebp + 0x78]
mov edi, edi
cmp esi, ecx
jae 0x53f7f6
movzx edx, byte [esi]
mov edi, dword [ebp + 0x40]
test byte [edx + edi], 1
jne case.0x5413b8.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53b500
jmp 0x53978e
mov eax, 1
cmp ebx, eax
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov ecx, dword [ebp + 0x78]
mov edi, edi
cmp esi, ecx
jae 0x53f7f6
movzx edx, byte [esi]
mov edi, dword [ebp + 0x40]
test byte [edx + edi], 1
je case.0x5413b8.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53b540
jmp 0x53978e
mov eax, 1
cmp ebx, eax
jl 0x539783
mov ebp, dword [esp + 0x15c]
mov ecx, dword [ebp + 0x78]
mov edi, edi
cmp esi, ecx
jae 0x53f7f6
movzx edx, byte [esi]
mov edi, dword [ebp + 0x40]
test byte [edx + edi], 0x10
jne case.0x5413b8.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53b580
jmp 0x53978e
mov ebp, dword [esp + 0x15c]
mov eax, 1
cmp ebx, eax
jl 0x539792
mov ecx, dword [ebp + 0x78]
mov edi, edi
cmp esi, ecx
jae 0x53f7f6
movzx edx, byte [esi]
mov edi, dword [ebp + 0x40]
test byte [edx + edi], 0x10
je case.0x5413b8.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53b5c0
jmp 0x53978e
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x15c]
jmp 0x539792
cmp ebx, edi
mov edx, ebx
jge 0x53c4f8
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
jmp 0x53b610
cmp esi, edi
mov ecx, 1
jae 0x53c4c8
cmp dword [esp + 0x14], 0
movzx eax, byte [esi]
je 0x53b65c
cmp eax, 0xc0
jb 0x53b65c
test al, 0x20
jne 0x53b639
mov ecx, 2
jmp 0x53b65c
test al, 0x10
jne 0x53b644
mov ecx, 3
jmp 0x53b65c
test al, 8
jne 0x53b64f
mov ecx, 4
jmp 0x53b65c
and al, 4
neg al
sbb eax, eax
neg eax
add eax, 5
mov ecx, eax
cmp dword [esp + 0x30], 0
jne 0x53c4f8
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x10]
jl 0x53b610
jmp 0x53c4f8
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53c4f8
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
nop
cmp esi, ebx
mov edi, 1
jae 0x53b7f5
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
je 0x53b78b
cmp ecx, 0xc0
jb 0x53b78b
test cl, 0x20
jne 0x53b6d3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53b789
test cl, 0x10
jne 0x53b6fd
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53b78b
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53b720
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53b77b
and eax, 0x3f
test cl, 4
jne 0x53b756
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53b78b
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53b7ad
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx eax, byte [eax*8 + 0x569021]
cmp eax, 9
je 0x53b7d2
cmp eax, 5
je 0x53b7d2
cmp eax, 8
je 0x53b7d2
xor eax, eax
jmp 0x53b7d7
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x53c4f8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x10]
jl 0x53b690
jmp 0x53c4f8
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x88], 0
je 0x53c4f8
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x53c4f8
mov ecx, edi
jmp 0x53c4e7
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53c4f8
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53b7f5
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
je 0x53b92d
cmp ecx, 0xc0
jb 0x53b92d
test cl, 0x20
jne 0x53b875
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53b92b
test cl, 0x10
jne 0x53b89f
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53b92d
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53b8c2
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53b91d
and eax, 0x3f
test cl, 4
jne 0x53b8f8
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53b92d
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53b94f
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
mov eax, dword [esp + 0x34]
xor edx, edx
cmp dword [ecx*4 + 0x568560], eax
sete dl
cmp edx, dword [esp + 0x30]
je 0x53c4f8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x10]
jl 0x53b836
jmp 0x53c4f8
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53c4f8
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
jmp 0x53b9b0
cmp esi, ebx
mov edi, 1
jae 0x53bb06
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
je 0x53baab
cmp ecx, 0xc0
jb 0x53baab
test cl, 0x20
jne 0x53b9f3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53baa9
test cl, 0x10
jne 0x53ba1d
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53baab
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53ba40
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53ba9b
and eax, 0x3f
test cl, 4
jne 0x53ba76
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53baab
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53bacd
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
xor edx, edx
cmp ecx, dword [esp + 0x34]
sete dl
cmp edx, dword [esp + 0x30]
je 0x53c4f8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x10]
jl 0x53b9b0
jmp 0x53c4f8
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x53c4f8
mov ecx, eax
cmp esi, dword [ecx + 0x84]
jbe 0x53c4f8
mov ecx, edi
jmp 0x53c4e9
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53c4f8
mov edx, dword [esp + 0x15c]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53bb06
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
je 0x53bc37
cmp ecx, 0xc0
jb 0x53bc37
test cl, 0x20
jne 0x53bb88
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x53bc37
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53bbb4
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 3
jmp 0x53bc37
test cl, 8
jne 0x53bbcc
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53bc27
and eax, 0x3f
test cl, 4
jne 0x53bc02
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53bc37
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53bc59
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569020]
xor edx, edx
cmp ecx, dword [esp + 0x34]
sete dl
cmp edx, dword [esp + 0x30]
je 0x53c4f8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x10]
jl 0x53bb47
jmp 0x53c4f8
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53c4f8
mov edx, dword [esp + 0x15c]
mov ebx, dword [edx + 0x78]
lea ebx, [ebx]
cmp esi, ebx
mov edi, 1
jae 0x53be10
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
je 0x53bda4
cmp ecx, 0xc0
jb 0x53bda4
test cl, 0x20
jne 0x53bcf5
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x53bda4
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53bd21
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 3
jmp 0x53bda4
test cl, 8
jne 0x53bd39
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53bd94
and eax, 0x3f
test cl, 4
jne 0x53bd6f
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53bda4
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53bdc6
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
mov eax, dword [ecx*4 + 0x568560]
cmp eax, 1
je 0x53bded
cmp eax, 3
je 0x53bded
xor eax, eax
jmp 0x53bdf2
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x53c4f8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x10]
jl 0x53bcb0
jmp 0x53c4f8
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x53c4f8
mov eax, edx
cmp esi, dword [eax + 0x84]
jbe 0x53c4f8
mov ecx, edi
jmp 0x53c4e9
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53c4f8
mov ecx, dword [esp + 0x15c]
mov ebx, dword [ecx + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53b7f5
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
je 0x53bf4c
cmp ecx, 0xc0
jb 0x53bf4c
test cl, 0x20
jne 0x53be94
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53bf4a
test cl, 0x10
jne 0x53bebe
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53bf4c
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53bee1
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53bf3c
and eax, 0x3f
test cl, 4
jne 0x53bf17
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53bf4c
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp ecx, 0x180e
ja 0x53bf8f
je case.0x53bfab.8192
cmp ecx, 0x85
ja 0x53bf7b
je case.0x53bfab.8192
cmp ecx, 9
jb case.0x53bfab.8203
cmp ecx, 0xd
jbe case.0x53bfab.8192
cmp ecx, 0x20
jmp 0x53bfc0
cmp ecx, 0xa0
je case.0x53bfab.8192
cmp ecx, 0x1680
jmp 0x53bfc0
cmp ecx, 0x202f
ja 0x53bfb2
je case.0x53bfab.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x53bfab.8203
movzx edx, byte [eax + 0x54199c]
jmp dword [edx*4 + 0x541994]
cmp ecx, 0x205f
je case.0x53bfab.8192
cmp ecx, 0x3000
je case.0x53bfab.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x56a6a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x53bfe4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x56c8a0]
movzx edx, byte [ecx*8 + 0x569021]
xor eax, eax
cmp dword [edx*4 + 0x568560], 6
sete al
cmp eax, dword [esp + 0x30]
je 0x53c4f8
jmp 0x53c01a
cmp dword [esp + 0x30], 0
jne 0x53c4f8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x10]
jl 0x53be51
jmp 0x53c4f8
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53c4f8
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
jmp 0x53c050
cmp esi, ebx
mov edi, 1
jae 0x53b7f5
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
je 0x53c14b
cmp ecx, 0xc0
jb 0x53c14b
test cl, 0x20
jne 0x53c093
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53c149
test cl, 0x10
jne 0x53c0bd
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53c14b
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53c0e0
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53c13b
and eax, 0x3f
test cl, 4
jne 0x53c116
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53c14b
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
mov eax, ecx
shl edx, 7
and eax, 0x8000007f
jns 0x53c16e
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x56c8a0]
movzx eax, byte [edx*8 + 0x569021]
mov eax, dword [eax*4 + 0x568560]
cmp eax, 1
je 0x53c19a
cmp eax, 3
je 0x53c19a
cmp ecx, 0x5f
je 0x53c19a
xor eax, eax
jmp 0x53c19f
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x53c4f8
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x10]
jl 0x53c050
jmp 0x53c4f8
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53c4f8
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
jmp 0x53c1e0
cmp esi, ebx
mov edx, 1
jae 0x53c339
cmp dword [esp + 0x14], 0
movzx eax, byte [esi]
je 0x53c2e9
cmp eax, 0xc0
jb 0x53c2e9
test al, 0x20
jne 0x53c221
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, 2
jmp 0x53c2e7
test al, 0x10
jne 0x53c24a
movzx edx, byte [esi + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 3
jmp 0x53c2e9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 8
jne 0x53c274
movzx edx, byte [esi + 2]
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov edx, 4
jmp 0x53c2e1
test al, 4
jne 0x53c2ad
movzx edx, byte [esi + 2]
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov eax, ecx
mov edx, 5
jmp 0x53c2e9
and eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov edx, 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov edi, dword [esp + 0x34]
mov ecx, dword [edi*4 + 0x568ee0]
cmp eax, ecx
lea edi, [edi*4 + 0x568ee0]
jb 0x53c30d
nop
add edi, 4
cmp eax, ecx
je 0x53c31a
mov ecx, dword [edi]
cmp eax, ecx
jae 0x53c300
cmp dword [esp + 0x30], 0
je 0x53c4f8
jmp 0x53c325
cmp dword [esp + 0x30], 0
jne 0x53c4f8
add ebp, 1
add esi, edx
cmp ebp, dword [esp + 0x10]
jl 0x53c1e0
jmp 0x53c4f8
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x53c4f8
cmp esi, dword [eax + 0x84]
jbe 0x53c4f8
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jmp 0x53c4f2
cmp ebx, edi
mov edx, ebx
jge 0x53c4f8
mov ecx, dword [esp + 0x15c]
mov edi, dword [ecx + 0x78]
jmp 0x53c380
cmp esi, edi
mov ecx, 1
jae 0x53c4c8
cmp dword [esp + 0x14], 0
movzx eax, byte [esi]
je 0x53c484
cmp eax, 0xc0
jb 0x53c484
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53c3c3
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53c484
test al, 0x10
jne 0x53c3e5
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53c484
test al, 8
jne 0x53c410
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53c484
test al, 4
jne 0x53c447
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53c484
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x24
je 0x53c4ac
cmp eax, 0x40
je 0x53c4ac
cmp eax, 0x60
je 0x53c4ac
cmp eax, 0xa0
jb 0x53c4a1
cmp eax, 0xd7ff
jbe 0x53c4ac
cmp eax, 0xe000
jae 0x53c4ac
xor eax, eax
jmp 0x53c4b1
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x53c4f8
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x10]
jl 0x53c380
jmp 0x53c4f8
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x88], 0
je 0x53c4f8
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x53c4f8
mov ecx, 1
mov eax, edx
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, dword [esp + 0x24]
jbe 0x53d96f
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x150]
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
sub esi, 1
cmp dword [esp + 0x14], eax
je 0x53c56f
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53c56f
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53c561
cmp esi, dword [esp + 0x24]
ja 0x53c522
jmp 0x53d96f
mov eax, dword [esp + 0x20]
cmp eax, 0x16
jne 0x53c8f4
cmp ebx, edi
mov dword [esp + 0x1c], ebx
jge 0x53c880
mov eax, dword [esp + 0x15c]
mov edi, 1
nop
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x53c860
movzx ecx, byte [esi]
add esi, edi
cmp dword [esp + 0x14], 0
je 0x53c691
cmp ecx, 0xc0
jb 0x53c691
test cl, 0x20
jne 0x53c5e1
movzx eax, byte [esi]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
add esi, edi
jmp 0x53c691
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 0x10
jne 0x53c60a
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov ecx, edx
add esi, 2
jmp 0x53c691
test cl, 8
jne 0x53c62d
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53c691
test cl, 4
jne 0x53c65e
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x53c691
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53c6b3
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ebp, byte [eax*8 + 0x569022]
jae 0x53c813
lea ecx, [ecx]
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x53c7c3
cmp ecx, 0xc0
jb 0x53c7c3
test cl, 0x20
jne 0x53c70b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53c7c1
test cl, 0x10
jne 0x53c735
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53c7c3
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53c758
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53c7b3
and eax, 0x3f
test cl, 4
jne 0x53c78e
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53c7c3
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53c7e5
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569022]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x5684ec], edx
je 0x53c813
add esi, edi
cmp esi, ebx
mov ebp, ecx
jb 0x53c6d0
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x53c845
cmp esi, ebx
jb 0x53c845
cmp esi, dword [eax + 0x84]
jbe 0x53c845
mov edi, 1
mov dword [eax + 0x64], edi
cmp dword [eax + 0x88], edi
jg 0x54150f
jmp 0x53c84a
mov edi, 1
mov ecx, dword [esp + 0x1c]
add ecx, edi
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
jl 0x53c5a0
jmp 0x53c880
cmp dword [eax + 0x88], 0
je 0x53c880
cmp esi, dword [eax + 0x84]
jbe 0x53c880
mov dword [eax + 0x64], edi
cmp dword [eax + 0x88], edi
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, dword [esp + 0x24]
jbe 0x53d96f
mov ebp, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
mov ecx, dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
sub esi, 1
test ebp, ebp
jne 0x53df43
movzx ecx, byte [esi]
jmp 0x53e029
add eax, 0xfffffffa
cmp dword [esp + 0x14], 0
je 0x53d7b2
cmp eax, 0xf
ja case.default.0x5369d4
jmp dword [eax*4 + 0x5419c8]
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53d711
mov ebx, dword [esp + 0x15c]
mov ecx, 1
lea esp, [esp]
cmp esi, dword [ebx + 0x78]
jae 0x53c9e1
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x53c961
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00542d60
test eax, eax
jne 0x53d711
lea ecx, [eax + 1]
jmp 0x53c985
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x53c985
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x53c985
cmp dword [edi], ecx
je 0x53d711
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je 0x53d711
cmp dword [ebx + 0x88], 0
je 0x53c9b7
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x53c9b7
cmp dword [ebx + 0x18], 0
jne 0x53c9b7
cmp dword [edi], 2
jne 0x53c9b7
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x53c9b7
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x54150f
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x53c9d0
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53c9d0
add esi, ecx
cmp esi, eax
jb 0x53c9c0
add ebp, ecx
cmp ebp, dword [esp + 0x10]
jl 0x53c930
jmp 0x53d711
cmp dword [ebx + 0x88], 0
je 0x53d711
cmp esi, dword [ebx + 0x84]
jbe 0x53d711
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x53d70b
cmp edi, 0x7fffffff
jge 0x53ca70
cmp ebx, edi
mov ecx, ebx
jge 0x53d711
mov ebp, dword [esp + 0x15c]
mov eax, dword [ebp + 0x78]
mov edi, dword [esp + 0x10]
cmp esi, eax
jae 0x53ca50
add esi, 1
cmp esi, eax
jae 0x53ca44
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53ca44
add esi, 1
cmp esi, eax
jb 0x53ca33
add ecx, 1
cmp ecx, edi
jl 0x53ca28
jmp 0x53d711
cmp dword [ebp + 0x88], 0
je 0x53d711
mov eax, ebp
cmp esi, dword [eax + 0x84]
jbe 0x53d711
jmp 0x53d6fd
mov esi, dword [ebp + 0x78]
cmp dword [ebp + 0x88], 0
je 0x53d711
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x84]
jbe 0x53d711
mov eax, ecx
jmp 0x53d6fd
mov edx, dword [ebp + 0x78]
sub edi, ebx
mov eax, edi
sub edx, esi
cmp eax, edx
jbe 0x53cacf
cmp dword [ebp + 0x88], 0
mov esi, dword [ebp + 0x78]
je 0x53d711
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x84]
jbe 0x53d711
jmp 0x53d6fd
add esi, eax
jmp 0x53d711
cmp ebx, dword [esp + 0x10]
mov edi, ebx
jge 0x53d711
mov ebp, dword [esp + 0x15c]
mov edx, dword [ebp + 0x78]
jmp 0x53caf7
mov ebp, dword [esp + 0x15c]
cmp esi, edx
mov ecx, 1
jae 0x53ca73
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53cbf0
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53cb2f
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53cbf0
test al, 0x10
jne 0x53cb51
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53cbf0
test al, 8
jne 0x53cb7c
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53cbf0
test al, 4
jne 0x53cbb3
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53cbf0
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0xd
jne 0x53cc0a
add esi, 1
cmp esi, edx
jae 0x53d711
cmp byte [esi], 0xa
jne 0x53cc3e
add esi, 1
jmp 0x53cc3e
cmp eax, 0xa
je 0x53cc3c
cmp dword [ebp + 0x68], 0
jne 0x53d711
cmp eax, 0xb
je 0x53cc3c
cmp eax, 0xc
je 0x53cc3c
cmp eax, 0x85
je 0x53cc3c
cmp eax, 0x2028
je 0x53cc3c
cmp eax, 0x2029
jne 0x53d711
add esi, ecx
add edi, 1
cmp edi, dword [esp + 0x10]
jl 0x53caf0
jmp 0x53d711
cmp ebx, dword [esp + 0x10]
mov edi, ebx
jge 0x53d711
mov edx, dword [esp + 0x15c]
mov ebp, dword [edx + 0x78]
mov edx, dword [esp + 0x20]
lea ebx, [ebx]
cmp esi, ebp
mov ecx, 1
jae 0x53d6e1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53cd69
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53cca8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53cd69
test al, 0x10
jne 0x53ccca
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53cd69
test al, 8
jne 0x53ccf5
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53cd69
test al, 4
jne 0x53cd2c
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53cd69
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x180e
ja 0x53cd8c
je 0x53cdb5
cmp eax, 0xa0
ja 0x53cd85
je 0x53cdb5
cmp eax, 9
je 0x53cdb5
cmp eax, 0x20
jmp 0x53cdaf
cmp eax, 0x1680
jmp 0x53cdaf
cmp eax, 0x205f
ja 0x53cdaa
je 0x53cdb5
cmp eax, 0x2000
jb 0x53cdb1
cmp eax, 0x200a
jbe 0x53cdb5
cmp eax, 0x202f
jmp 0x53cdaf
cmp eax, 0x3000
je 0x53cdb5
xor eax, eax
jmp 0x53cdba
mov eax, 1
xor ebx, ebx
cmp edx, 0x12
sete bl
cmp eax, ebx
je 0x53d711
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x10]
jl 0x53cc70
jmp 0x53d711
cmp ebx, dword [esp + 0x10]
mov edi, ebx
jge 0x53d711
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x10]
jmp 0x53ce00
cmp esi, ebp
mov ecx, 1
jae 0x53cf47
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53cef9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53ce38
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53cef9
test al, 0x10
jne 0x53ce5a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53cef9
test al, 8
jne 0x53ce85
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53cef9
test al, 4
jne 0x53cebc
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53cef9
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x85
ja 0x53cf32
je 0x53cf40
cmp eax, 0xa
jb 0x53cf0c
cmp eax, 0xd
jbe 0x53cf40
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x20], 0x14
sete bl
cmp eax, ebx
je 0x53d711
add edi, 1
add esi, ecx
cmp edi, edx
jl 0x53ce00
jmp 0x53d711
cmp eax, 0x2028
jb 0x53cf0c
cmp eax, 0x2029
ja 0x53cf0c
mov eax, 1
jmp 0x53cf0e
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x53d711
cmp esi, dword [eax + 0x84]
jbe 0x53d711
jmp 0x53d702
cmp ebx, edi
mov edx, ebx
jge 0x53d711
mov ebp, dword [esp + 0x15c]
mov edi, dword [ebp + 0x78]
cmp esi, edi
mov ecx, 1
jae 0x53ca73
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d079
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53cfb8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d079
test al, 0x10
jne 0x53cfda
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53d079
test al, 8
jne 0x53d005
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53d079
test al, 4
jne 0x53d03c
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53d079
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53d094
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 4
jne 0x53d711
mov ebp, dword [esp + 0x15c]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x10]
jl 0x53cf80
jmp 0x53d711
cmp ebx, edi
mov edx, ebx
jge 0x53d711
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x53d6e1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d1b9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d0f8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d1b9
test al, 0x10
jne 0x53d11a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53d1b9
test al, 8
jne 0x53d145
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53d1b9
test al, 4
jne 0x53d17c
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53d1b9
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53d711
mov ebx, dword [esp + 0x15c]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 4
je 0x53d711
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x10]
jl 0x53d0c0
jmp 0x53d711
cmp ebx, edi
mov edx, ebx
jge 0x53d711
mov ebp, dword [esp + 0x15c]
mov edi, dword [ebp + 0x78]
cmp esi, edi
mov ecx, 1
jae 0x53ca73
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d2f9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d238
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d2f9
test al, 0x10
jne 0x53d25a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53d2f9
test al, 8
jne 0x53d285
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53d2f9
test al, 4
jne 0x53d2bc
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53d2f9
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53d314
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 1
jne 0x53d711
mov ebp, dword [esp + 0x15c]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x10]
jl 0x53d200
jmp 0x53d711
cmp ebx, edi
mov edx, ebx
jge 0x53d711
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x53d6e1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d439
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d378
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d439
test al, 0x10
jne 0x53d39a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53d439
test al, 8
jne 0x53d3c5
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53d439
test al, 4
jne 0x53d3fc
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53d439
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53d711
mov ebx, dword [esp + 0x15c]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 1
je 0x53d711
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x10]
jl 0x53d340
jmp 0x53d711
cmp ebx, edi
mov edx, ebx
jge 0x53d711
mov ebp, dword [esp + 0x15c]
mov edi, dword [ebp + 0x78]
cmp esi, edi
mov ecx, 1
jae 0x53ca73
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d579
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d4b8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d579
test al, 0x10
jne 0x53d4da
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53d579
test al, 8
jne 0x53d505
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53d579
test al, 4
jne 0x53d53c
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53d579
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53d594
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 0x10
jne 0x53d711
mov ebp, dword [esp + 0x15c]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x10]
jl 0x53d480
jmp 0x53d711
cmp ebx, edi
mov edx, ebx
jge 0x53d711
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x53d6e1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53d6b9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53d5f8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53d6b9
test al, 0x10
jne 0x53d61a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53d6b9
test al, 8
jne 0x53d645
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53d6b9
test al, 4
jne 0x53d67c
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53d6b9
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53d711
mov ebx, dword [esp + 0x15c]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 0x10
je 0x53d711
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x10]
jl 0x53d5c0
jmp 0x53d711
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x88], 0
je 0x53d711
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x53d711
mov eax, edx
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, dword [esp + 0x24]
jbe 0x53d96f
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov edi, edi
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
mov ecx, dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x53d78e
lea ecx, [ecx]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53d780
cmp ebx, 0x11
jne 0x53d7a9
cmp esi, edi
jbe 0x53d96f
cmp byte [esi], 0xa
jne 0x53d7a9
cmp byte [esi - 1], 0xd
jne 0x53d7a9
add esi, 0xffffffff
cmp esi, edi
ja 0x53d730
jmp 0x53d96f
cmp eax, 0xf
ja case.default.0x5369d4
jmp dword [eax*4 + 0x541a08]
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x10]
jge 0x53d8f0
lea ebx, [esi + 1]
jmp 0x53d7e0
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x53d88f
mov eax, dword [ecx + 0x18]
test eax, eax
lea edi, [ecx + 0x1c]
je 0x53d819
mov ecx, dword [ecx + 0x78]
push 0
push edi
push ecx
push eax
push esi
call fcn.00542d60
test eax, eax
jne 0x53d8f0
mov ecx, dword [esp + 0x15c]
jmp 0x53d846
mov edx, dword [ecx + 0x78]
sub edx, dword [edi]
cmp esi, edx
ja 0x53d846
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53d846
cmp dword [edi], 1
je 0x53d8f0
mov cl, byte [ebx]
mov edx, dword [esp + 0x15c]
cmp cl, byte [edx + 0x35]
je 0x53d8f0
mov ecx, edx
cmp dword [ecx + 0x88], 0
je 0x53d87a
cmp ebx, dword [ecx + 0x78]
jb 0x53d87a
cmp dword [ecx + 0x18], 0
jne 0x53d87a
cmp dword [edi], 2
jne 0x53d87a
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53d87a
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x54150f
add ebp, 1
add esi, 1
add ebx, 1
cmp ebp, dword [esp + 0x10]
jl 0x53d7e0
jmp 0x53d8f0
cmp dword [ecx + 0x88], 0
je 0x53d8f0
cmp esi, dword [ecx + 0x84]
jbe 0x53d8f0
mov eax, dword [esp + 0x15c]
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x53d8ea
mov edx, dword [ebp + 0x78]
sub edi, ebx
mov eax, edi
sub edx, esi
cmp eax, edx
jbe 0x53d98f
mov esi, dword [ebp + 0x78]
cmp dword [ebp + 0x88], 0
je 0x53d8f0
cmp esi, dword [ebp + 0x84]
jbe 0x53d8f0
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x54150f
cmp dword [esp + 0x28], 0
jne 0x5341a0
cmp esi, dword [esp + 0x24]
je 0x53d96f
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
lea esp, [esp]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
mov eax, dword [esp + 0x15c]
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
sub esi, 1
cmp ebx, 0x11
jne 0x53d96b
cmp esi, edi
jbe 0x53d96d
cmp byte [esi], 0xa
jne 0x53d96b
cmp byte [esi - 1], 0xd
jne 0x53d96b
add esi, 0xffffffff
cmp esi, edi
jne 0x53d910
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x4c]
mov dword [esp + 0x14], edx
mov edx, dword [eax]
cmp edx, dword [eax + 4]
jae 0x53e1ca
xor ecx, ecx
jmp 0x534160
add esi, eax
jmp 0x53d8f0
cmp ebx, edi
mov ecx, ebx
jge 0x53d8f0
mov edx, dword [ebp + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x53d9f6
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x53d9c5
add esi, ebx
cmp esi, edx
jae 0x53d8f0
cmp byte [esi], 0xa
jne 0x53d9eb
jmp 0x53d9e9
cmp eax, 0xa
je 0x53d9e9
cmp dword [ebp + 0x68], 0
jne 0x53d8f0
cmp eax, 0xb
je 0x53d9e9
cmp eax, 0xc
je 0x53d9e9
cmp eax, 0x85
jne 0x53d8f0
add esi, ebx
add ecx, ebx
cmp ecx, edi
jl 0x53d9a8
jmp 0x53d8f0
cmp dword [ebp + 0x88], 0
je 0x53d8f0
cmp esi, dword [ebp + 0x84]
jbe 0x53d8f0
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jmp 0x53d8ea
cmp ebx, edi
mov ecx, ebx
jge 0x53d8f0
mov edx, dword [ebp + 0x78]
mov ebx, 1
nop
cmp esi, edx
jae 0x53d9f6
mov al, byte [esi]
cmp al, 9
je 0x53d8f0
cmp al, 0x20
je 0x53d8f0
cmp al, 0xa0
je 0x53d8f0
add ecx, ebx
add esi, ebx
cmp ecx, edi
jl 0x53da30
jmp 0x53d8f0
cmp ebx, edi
mov ecx, ebx
jge 0x53d8f0
mov edx, dword [ebp + 0x78]
mov ebx, 1
lea ecx, [ecx]
cmp esi, edx
jae 0x53d9f6
mov al, byte [esi]
cmp al, 9
je 0x53da86
cmp al, 0x20
je 0x53da86
cmp al, 0xa0
jne 0x53d8f0
add ecx, ebx
add esi, ebx
cmp ecx, edi
jl 0x53da70
jmp 0x53d8f0
cmp ebx, edi
mov ecx, ebx
jge 0x53d8f0
mov edx, dword [ebp + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x53d9f6
mov al, byte [esi]
cmp al, 0xa
jb 0x53dac3
cmp al, 0xd
jbe 0x53d8f0
cmp al, 0x85
je 0x53d8f0
add ecx, ebx
add esi, ebx
cmp ecx, edi
jl 0x53daa5
jmp 0x53d8f0
cmp ebx, edi
mov ecx, ebx
jge 0x53d8f0
mov edx, dword [ebp + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x53d9f6
mov al, byte [esi]
cmp al, 0xa
jb 0x53d8f0
cmp al, 0xd
jbe 0x53db00
cmp al, 0x85
jne 0x53d8f0
add ecx, ebx
add esi, ebx
cmp ecx, edi
jl 0x53dae2
jmp 0x53d8f0
cmp ebx, edi
mov eax, ebx
jge 0x53d8f0
mov ecx, dword [ebp + 0x78]
lea ebx, [ebx]
cmp esi, ecx
jae 0x53d8cb
movzx edx, byte [esi]
mov ebx, dword [ebp + 0x40]
test byte [edx + ebx], 4
jne 0x53d8f0
add eax, 1
add esi, 1
cmp eax, edi
jl 0x53db20
jmp 0x53d8f0
cmp ebx, edi
mov eax, ebx
jge 0x53d8f0
mov ecx, dword [ebp + 0x78]
cmp esi, ecx
jae 0x53d8cb
movzx edx, byte [esi]
mov ebx, dword [ebp + 0x40]
test byte [edx + ebx], 4
je 0x53d8f0
add eax, 1
add esi, 1
cmp eax, edi
jl 0x53db54
jmp 0x53d8f0
cmp ebx, edi
mov eax, ebx
jge 0x53d8f0
mov ecx, dword [ebp + 0x78]
cmp esi, ecx
jae 0x53d8cb
movzx edx, byte [esi]
mov ebx, dword [ebp + 0x40]
test byte [edx + ebx], 1
jne 0x53d8f0
add eax, 1
add esi, 1
cmp eax, edi
jl 0x53db88
jmp 0x53d8f0
cmp ebx, edi
mov eax, ebx
jge 0x53d8f0
mov ecx, dword [ebp + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x53d8cb
movzx edx, byte [esi]
mov ebx, dword [ebp + 0x40]
test byte [edx + ebx], 1
je 0x53d8f0
add eax, 1
add esi, 1
cmp eax, edi
jl 0x53dbc0
jmp 0x53d8f0
cmp ebx, edi
mov eax, ebx
jge 0x53d8f0
mov ecx, dword [ebp + 0x78]
cmp esi, ecx
jae 0x53d8cb
movzx edx, byte [esi]
mov ebx, dword [ebp + 0x40]
test byte [edx + ebx], 0x10
jne 0x53d8f0
add eax, 1
add esi, 1
cmp eax, edi
jl 0x53dbf4
jmp 0x53d8f0
cmp ebx, edi
mov eax, ebx
jge 0x53d8f0
mov ecx, dword [ebp + 0x78]
cmp esi, ecx
jae 0x53d8cb
movzx edx, byte [esi]
mov ebx, dword [ebp + 0x40]
test byte [edx + ebx], 0x10
je 0x53d8f0
add eax, 1
add esi, 1
cmp eax, edi
jl 0x53dc28
jmp 0x53d8f0
mov ecx, dword [esp + 0x164]
add ecx, 1
cmp byte [edx], 0x7a
push ecx
push ebx
push edi
push eax
push ebp
jne 0x53dc8c
mov edx, dword [esp + 0x164]
add edx, 3
push edx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x150], eax
jmp 0x53d96f
mov edx, dword [esp + 0x40]
push edx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
add dword [esp + 0x150], 3
jmp 0x53d96f
mov edi, dword [esp + 0x15c]
xor ecx, ecx
mov ch, byte [edx + 3]
mov cl, byte [edx + 4]
lea ebp, [ecx + ecx]
cmp ebp, dword [edi + 0x14]
mov dword [esp + 0x20], ecx
jge 0x53dda7
mov eax, dword [edi + 0xc]
mov edx, dword [eax + ebp*4]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + ebp*4 + 4]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 0x10]
sub edx, ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [edi + 0x90]
mov dword [esp + 0x28], edx
mov edx, esi
sub edx, dword [edi + 0x74]
mov dword [esp + 0x10], ecx
mov ecx, dword [edi + 0xac]
mov dword [esp + 0x1c], ecx
mov dword [eax], edx
jmp 0x53dd10
cmp dword [esp + 0x2c], 0x88
jb 0x53dd24
mov dword [edi + 0x98], 2
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x150]
mov edx, dword [esp + 0x158]
add eax, 1
push eax
mov eax, dword [esp + 0x158]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x568388]
push eax
add edx, ebx
push edx
push esi
call fcn.005340e0
cmp eax, 0xfffffc1b
je 0x53e5ee
cmp eax, 0xfffffc20
jne 0x53e5b8
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x541538
cmp byte [ebx], 0x77
je 0x53dd99
cmp byte [ecx], 0x77
jne 0x541538
xor eax, eax
jmp 0x53e5c0
mov edi, dword [esp + 0x15c]
mov eax, dword [esp + 0x2c]
cmp eax, 0x88
jae 0x53dde5
cmp eax, 0x81
je 0x53dde5
cmp dword [edi + 0x6c], 0
jne 0x53ddef
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
cmp byte [eax + edx], 0x77
je 0x53ddef
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x568388]
add edx, ecx
mov dword [esp + 0x150], edx
jmp 0x53d96f
mov dword [edi + 0x98], 2
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
mov ebp, dword [edi + 0xac]
mov ebx, dword [edi + 0x90]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x158]
push edx
push edi
push eax
mov eax, dword [esp + 0x160]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x568388]
add ecx, eax
push ecx
push esi
call fcn.005340e0
cmp eax, 0xfffffc20
jne 0x53de6a
mov ecx, dword [esp + 0x150]
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add edx, ecx
cmp dword [edi + 0x7c], edx
jae 0x541538
cmp byte [ecx], 0x77
je 0x53de72
cmp byte [edx], 0x77
jne 0x541538
jmp 0x53de72
test eax, eax
jne 0x53e621
mov eax, dword [esp + 0x150]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov dword [edi + 0xac], ebp
add eax, edx
cmp byte [eax], 0x77
mov dword [esp + 0x150], eax
jne case.0x5413b8.14
mov dword [edi + 0x90], ebx
mov edx, eax
jmp 0x53dda7
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov edi, dword [esp + 0x154]
add edx, 1
cmp byte [ecx], 0x7a
push edx
push eax
push ebp
push ebx
push edi
jne 0x53df03
mov ecx, dword [esp + 0x164]
add ecx, 3
push ecx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx]
cmp al, 0x81
je 0x53e7ef
cmp al, 0x88
jae 0x53e834
mov dword [esp + 0x150], ecx
jmp 0x53d96f
mov ecx, dword [esp + 0x40]
push ecx
push esi
call fcn.005340e0
cmp eax, 0xfffffc1b
jne 0x53df21
mov edx, dword [ebp + 0xb4]
cmp edx, dword [esp + 0x2c]
jmp 0x53df23
test eax, eax
jne 0x541538
mov eax, dword [esp + 0x2c]
cmp byte [eax], 0x81
je 0x53e862
add dword [esp + 0x150], 3
jmp 0x53d96f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53df5e
jmp 0x53df50
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53df50
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x53e029
test cl, 0x20
jne 0x53df84
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
jmp 0x53e027
test cl, 0x10
jne 0x53dfa9
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
jmp 0x53e029
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53dfc7
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x53e019
and eax, 0x3f
test cl, 4
jne 0x53dff8
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x53e029
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53e04b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ebx, byte [eax*8 + 0x569022]
lea ecx, [ecx]
cmp esi, dword [esp + 0x24]
jbe 0x53d96f
mov ebp, dword [esp + 0x14]
test ebp, ebp
lea edi, [esi - 1]
jne 0x53e07d
movzx ecx, byte [edi]
jmp 0x53e156
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53e095
mov dl, byte [edi - 1]
sub edi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53e087
movzx ecx, byte [edi]
cmp ecx, 0xc0
jb 0x53e156
test cl, 0x20
jne 0x53e0bd
movzx eax, byte [edi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x53e156
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53e0e1
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x53e156
test cl, 8
jne 0x53e0f4
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
jmp 0x53e146
and eax, 0x3f
test cl, 4
jne 0x53e125
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x53e156
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53e178
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx eax, byte [eax*8 + 0x569022]
mov edx, 1
mov ecx, ebx
shl edx, cl
test dword [eax*4 + 0x5684ec], edx
je 0x53e1a5
mov esi, edi
mov ebx, eax
jmp 0x53e060
cmp esi, dword [esp + 0x24]
ja 0x53c8a0
jmp 0x53d96f
sub ecx, 1
je case.0x5413b8.14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
add dword [eax], 1
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x138
ret 0x1c
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x150]
mov ebx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
lea edi, [eax + 2]
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], 0
mov ecx, dword [esp + 0x164]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x15c]
push ebx
push ecx
movzx ecx, byte [eax]
push edx
movzx edx, byte [ecx + 0x568388]
movzx ecx, byte [eax + 1]
add edx, eax
add ecx, edx
push ecx
push esi
call fcn.005340e0
cmp eax, 1
je 0x53e25b
cmp eax, 0xfffffc19
jne 0x53e277
cmp dword [ebx + 0xac], 0
jne 0x53e277
mov dword [ebx + 0xac], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp eax, 0xfffffc1f
jne 0x541538
mov edx, edi
mov edi, dword [ebx + 0x7c]
mov cl, byte [edx]
cmp cl, byte [edi]
jne 0x53e2a1
lea ecx, [ecx]
test cl, cl
je 0x53e2af
mov cl, byte [edx + 1]
add edx, 1
add edi, 1
cmp cl, byte [edi]
je 0x53e290
movzx edi, byte [edi]
movzx ecx, byte [edx]
sub ecx, edi
jne 0x541538
pop edi
mov dword [ebx + 0x7c], esi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x164]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x568388]
add edx, eax
push edx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
mov eax, dword [esp + 0x160]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x568388]
add ecx, eax
push ecx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x150]
mov ebx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
lea edi, [eax + 2]
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], 0
mov edx, dword [esp + 0x164]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push ecx
mov ecx, dword [esp + 0x15c]
push ebx
push edx
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x568388]
movzx edx, byte [eax + 1]
add ecx, eax
add edx, ecx
push edx
push esi
call fcn.005340e0
cmp eax, 1
je 0x53e3ec
cmp eax, 0xfffffc19
jne 0x53e3fb
cmp dword [ebx + 0xac], 0
jne 0x53e3fb
mov dword [ebx + 0xac], edi
test eax, eax
jne 0x541538
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edi, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
add eax, 1
push eax
mov eax, dword [esp + 0x158]
push ecx
push edi
push edx
push eax
mov eax, dword [esp + 0x164]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x568388]
add edx, eax
push edx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov dword [edi + 0x7c], esi
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x150]
mov edx, dword [esp + 0x158]
add eax, 1
push eax
mov eax, dword [esp + 0x158]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x568388]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
add ebx, 2
mov dword [edi + 0x7c], ebx
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x138
ret 0x1c
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov edi, dword [esp + 0x150]
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x158]
push edx
movzx edx, byte [edi]
push ebx
push eax
movzx eax, byte [edx + 0x568388]
push ecx
add eax, edi
push eax
push esi
call fcn.005340e0
jmp 0x53e59b
mov edi, dword [esp + 0x150]
mov ebx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
lea ebp, [edi + 2]
mov dword [ebx + 0xb0], ebp
mov dword [ebx + 0xac], 0
mov ecx, dword [esp + 0x164]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x158]
push edx
movzx edx, byte [edi]
push ebx
push eax
movzx eax, byte [edx + 0x568388]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.005340e0
cmp eax, 1
je 0x53e58c
cmp eax, 0xfffffc19
jne 0x53e59b
cmp dword [ebx + 0xac], 0
jne 0x53e59b
mov dword [ebx + 0xac], ebp
test eax, eax
jne 0x541538
mov dword [ebx + 0x7c], edi
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x138
ret 0x1c
test eax, eax
jne 0x541538
mov ecx, dword [esp + 0x28]
mov dword [edi + 0x90], ecx
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [edi + 0xac], ecx
add ebx, edx
cmp byte [ebx], 0x77
mov dword [esp + 0x150], ebx
je 0x53dd10
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x10]
mov dword [edx + ebp*4], ecx
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [edx + ebp*4 + 4], ecx
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x20]
mov ecx, dword [edi + 0xc]
pop edi
mov dword [ecx + edx*4], esi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp eax, 0xfffffc1b
jne 0x541538
mov ecx, dword [esp + 0x150]
mov dl, byte [ecx]
cmp dl, 0x81
je 0x53e659
cmp dl, 0x77
jne 0x53e64f
nop
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add ecx, edx
cmp byte [ecx], 0x77
je 0x53e640
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
sub ecx, edx
cmp dword [edi + 0xb4], ecx
jne 0x541538
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x138
ret 0x1c
mov ecx, dword [esp + 0x154]
cmp esi, ecx
jne 0x53e6bf
cmp ebx, 0x9f
je 0x53e6bf
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0xa4], 0
jne 0x53e6c6
cmp dword [eax + 0x5c], 0
jne 0x53e6b0
cmp dword [eax + 0x60], 0
je 0x53e6c6
mov edx, dword [eax + 0x94]
add edx, dword [eax + 0x74]
cmp ecx, edx
jne 0x53e6c6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
mov dword [eax + 0x80], esi
mov dword [eax + 0x8c], edx
mov dword [eax + 0x7c], ecx
mov eax, ebx
neg eax
pop edi
sbb eax, eax
pop esi
and eax, 0xfffffc18
pop ebp
add eax, 1
pop ebx
add esp, 0x138
ret 0x1c
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x138
ret 0x1c
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x48]
lea edx, [esp + 0xd0]
cmp eax, edx
je 0x53e731
push eax
call dword [0x58ae08]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x40]
mov dword [ebp + 0xa4], eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd0]
cmp eax, ecx
je 0x53e760
push eax
call dword [0x58ae08]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
mov dword [eax + 0x80], esi
pop edi
pop esi
mov dword [eax + 0x8c], edx
pop ebp
mov dword [eax + 0x7c], ecx
mov eax, 1
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x154]
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x7c], edx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x7c], eax
pop edi
mov dword [ebp + 0x80], esi
pop esi
mov dword [ebp + 0x8c], ebx
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x138
ret 0x1c
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add ecx, 1
push ecx
push edx
push ebp
push ebx
push edi
push eax
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
mov dword [ebp + 0xb4], ecx
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x2c]
add edx, 1
push edx
push eax
push ebp
push ebx
push edi
push ecx
push esi
call fcn.005340e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x150]
add edx, 1
push edx
push eax
push ebp
push ebx
push edi
add ecx, 3
push ecx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov edx, dword [esp + 0x2c]
pop edi
pop esi
mov dword [ebp + 0xb4], edx
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
add eax, 1
push eax
mov eax, dword [esp + 0x158]
push edx
push ebp
push ebx
push eax
push ecx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov dword [ebp + 0xb4], edi
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [edi + 0x88], 0
je case.0x5413b8.14
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb case.0x5413b8.14
cmp dword [edi + 0x18], 0
jne case.0x5413b8.14
cmp dword [edi + 0x1c], 2
jne case.0x5413b8.14
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne case.0x5413b8.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x541509
cmp dword [eax + 0x88], ecx
jmp 0x53f77e
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x15c]
jne 0x53f0b7
mov esi, dword [eax + 0x78]
jmp 0x53f0b7
cmp ebp, eax
mov dword [esp + 0x24], esi
jge 0x53e9d3
jmp 0x53e970
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x15c]
push eax
push ecx
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00533da0
test eax, eax
jl 0x53e999
add ebp, 1
add esi, eax
cmp ebp, dword [esp + 0x10]
jl 0x53e970
jmp 0x53e9cd
cmp eax, 0xfffffffe
jne 0x53e9cd
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x53e9cd
mov edx, dword [eax + 0x78]
cmp edx, dword [eax + 0x84]
jbe 0x53e9cd
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x54150f
cmp esi, dword [esp + 0x24]
jb 0x53ea1c
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
sub esi, edi
cmp esi, dword [esp + 0x24]
jae 0x53e9e1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x138
ret 0x1c
cmp eax, 0xfffffffe
jne 0x53ea33
mov esi, dword [ebp + 0x78]
cmp dword [ebp + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [ebp + 0x78]
jb case.0x5413b8.14
cmp esi, dword [ebp + 0x84]
jbe case.0x5413b8.14
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jmp 0x541509
cmp dword [esp + 0x14], 0
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x150]
mov edi, edx
je 0x53ec18
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebx
push ebp
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53eba9
test al, 0x20
jne 0x53eafb
movzx edx, byte [esi]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53eba9
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 0x10
jne 0x53eb23
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
or ecx, edx
mov eax, ecx
add esi, 2
jmp 0x53eba9
test al, 8
jne 0x53eb45
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x53eba9
test al, 4
jne 0x53eb75
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
add esi, 4
jmp 0x53eba9
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0xff
jbe 0x53ebb7
cmp dword [esp + 0x2c], 0x6e
jmp 0x53ebcf
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x5413b8.14
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebx
push ebp
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53eab6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebx
push ebp
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
jmp 0x53ec50
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
add esi, 1
test al, dl
je case.0x5413b8.14
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebx
push ebp
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53ec50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
mov edi, ebx
mov ebx, dword [esp + 0x164]
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x53ee19
cmp eax, 0xc0
jb 0x53ee19
test al, 0x20
jne 0x53ed60
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53ee19
test al, 0x10
jne 0x53ed86
movzx edx, byte [esi]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x53ee19
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 8
jne 0x53edb5
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x53ee19
test al, 4
jne 0x53ede5
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
add esi, 4
jmp 0x53ee19
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push ecx
push edx
push eax
call fcn.005434e0
test eax, eax
je case.0x5413b8.14
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53ed10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [eax + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [eax + 0x78]
jb case.0x5413b8.14
jmp 0x53ee98
cmp dword [eax + 0x88], ecx
je case.0x5413b8.14
cmp esi, dword [eax + 0x84]
jbe case.0x5413b8.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x541509
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x15c]
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push esi
mov dword [esp + 0x38], ebp
call fcn.005340e0
test eax, eax
jne 0x541538
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x10]
jge case.0x5413b8.14
mov edx, dword [esp + 0x15c]
mov ebx, dword [edx + 0x78]
mov eax, dword [esp + 0x20]
mov ecx, ebx
sub ecx, eax
cmp esi, ecx
ja 0x53efb7
cmp eax, 4
mov ecx, dword [esp + 0x38]
mov edx, esi
jb 0x53ef47
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53ef4b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53ef33
test eax, eax
je 0x53efa8
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53ef9a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53efa8
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53ef9a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53efa8
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53ef9a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53efa8
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x53efa8
test edi, edi
mov eax, 1
jg 0x53efaa
or eax, 0xffffffff
jmp 0x53efaa
xor eax, eax
test eax, eax
jne 0x53efb7
add esi, dword [esp + 0x20]
jmp 0x53f05d
mov ebp, dword [esp + 0x2c]
test ebp, ebp
jle 0x53f0b0
sub ebx, ebp
cmp esi, ebx
ja 0x53f0b0
cmp ebp, 4
mov eax, ebp
lea ecx, [esp + 0x58]
mov edx, esi
jb 0x53eff4
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53eff8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53efe0
test eax, eax
je 0x53f055
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53f047
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53f055
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53f047
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53f055
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53f047
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53f055
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53f055
test edi, edi
mov eax, 1
jg 0x53f057
or eax, 0xffffffff
jmp 0x53f057
xor eax, eax
test eax, eax
jne 0x53f0b0
add esi, ebp
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add dword [esp + 0x1c], 1
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x15c]
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push esi
call fcn.005340e0
test eax, eax
je 0x53ef00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [eax + 0x78]
jb case.0x5413b8.14
cmp esi, dword [eax + 0x84]
jbe case.0x5413b8.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x541509
cmp dword [edi + 0x88], 0
jmp 0x53f274
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
mov ebp, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
lea ecx, [ecx]
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
cmp ebx, eax
je 0x53f16b
cmp dword [esp + 0x20], eax
jne case.0x5413b8.14
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
add esi, 1
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53f140
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebp
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
lea esp, [esp]
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp ebx, ecx
jne case.0x5413b8.14
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebp
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53f200
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [edi + 0x88], ecx
je case.0x5413b8.14
cmp esi, dword [edi + 0x84]
jbe case.0x5413b8.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x541509
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [ecx + 0x84]
jbe case.0x5413b8.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x541509
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x150]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebx
push ebp
push esi
call fcn.005340e0
cmp dword [esp + 0x14], 0
je 0x53f480
test eax, eax
jne 0x541538
jmp 0x53f320
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f429
test al, 0x20
jne 0x53f365
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x53f429
test al, 0x10
jne 0x53f38b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x53f429
test al, 8
jne 0x53f3ba
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x53f429
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x53f3f5
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x53f429
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp dword [esp + 0x1c], eax
je case.0x5413b8.14
cmp dword [esp + 0x20], eax
je case.0x5413b8.14
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebx
push ebp
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53f320
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
test eax, eax
jne 0x541538
jmp 0x53f490
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
cmp dword [esp + 0x1c], eax
je case.0x5413b8.14
cmp dword [esp + 0x20], eax
je case.0x5413b8.14
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebx
push ebp
add esi, 1
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53f490
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [ebx + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [ebx + 0x84]
jbe case.0x5413b8.14
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jmp 0x541509
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x150]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebx
push ebp
push esi
call fcn.005340e0
cmp dword [esp + 0x14], 0
je 0x53f6d6
test eax, eax
jne 0x541538
jmp 0x53f580
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53f689
test al, 0x20
jne 0x53f5c5
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53f689
test al, 0x10
jne 0x53f5eb
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53f689
test al, 8
jne 0x53f61a
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x53f689
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53f655
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x53f689
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp dword [esp + 0x1c], eax
je case.0x5413b8.14
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebx
push ebp
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53f580
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
test eax, eax
jne 0x541538
mov edi, edi
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x1c], ecx
je case.0x5413b8.14
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebx
push ebp
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53f6e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [ebx + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [ebx + 0x84]
jbe case.0x5413b8.14
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x541509
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [eax + 0x84]
jbe case.0x5413b8.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x541509
cmp dword [ecx + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [ecx + 0x84]
jbe case.0x5413b8.14
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jmp 0x541509
cmp dword [ebp + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [ebp + 0x84]
jbe case.0x5413b8.14
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jmp 0x541509
cmp dword [ebp + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [ebp + 0x84]
jbe case.0x5413b8.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x541509
test eax, eax
jl 0x540a73
cmp eax, 0xa
ja case.default.0x5369d4
jmp dword [eax*4 + 0x541a48]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
nop
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x53f8d5
cmp eax, 0xc0
jb 0x53f8d5
test al, 0x20
jne 0x53f8b7
add esi, 1
jmp 0x53f8d5
test al, 0x10
jne 0x53f8c0
add esi, 2
jmp 0x53f8d5
test al, 8
jne 0x53f8c9
add esi, 3
jmp 0x53f8d5
test al, 4
jne 0x53f8d2
add esi, 4
jmp 0x53f8d5
add esi, 5
cmp dword [esp + 0x30], 0
jne case.0x5413b8.14
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53f880
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
jmp 0x53f970
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x53fa73
cmp ecx, 0xc0
jb 0x53fa73
test cl, 0x20
jne 0x53f9c2
movzx eax, byte [esi]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x53fa73
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 0x10
jne 0x53f9eb
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov ecx, edx
add esi, 2
jmp 0x53fa73
test cl, 8
jne 0x53fa0e
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53fa73
test cl, 4
jne 0x53fa3f
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x53fa73
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fa95
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx eax, byte [eax*8 + 0x569021]
cmp eax, 9
je 0x53faba
cmp eax, 5
je 0x53faba
cmp eax, 8
je 0x53faba
xor eax, eax
jmp 0x53fabf
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x5413b8.14
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53f970
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x53fc54
cmp ecx, 0xc0
jb 0x53fc54
test cl, 0x20
jne 0x53fba3
movzx eax, byte [esi]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x53fc54
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 0x10
jne 0x53fbcc
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov ecx, edx
add esi, 2
jmp 0x53fc54
test cl, 8
jne 0x53fbef
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53fc54
test cl, 4
jne 0x53fc20
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x53fc54
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fc76
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
mov eax, dword [esp + 0x34]
xor edx, edx
cmp dword [ecx*4 + 0x568560], eax
sete dl
cmp edx, dword [esp + 0x30]
je case.0x5413b8.14
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53fb51
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
lea ebx, [ebx]
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x53fe33
cmp ecx, 0xc0
jb 0x53fe33
test cl, 0x20
jne 0x53fd82
movzx eax, byte [esi]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x53fe33
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 0x10
jne 0x53fdab
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov ecx, edx
add esi, 2
jmp 0x53fe33
test cl, 8
jne 0x53fdce
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53fe33
test cl, 4
jne 0x53fdff
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x53fe33
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fe55
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
xor edx, edx
cmp ecx, dword [esp + 0x34]
sete dl
cmp edx, dword [esp + 0x30]
je case.0x5413b8.14
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53fd30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x540010
cmp ecx, 0xc0
jb 0x540010
test cl, 0x20
jne 0x53ff54
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x540010
test cl, 0x10
jne 0x53ff7b
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x540010
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x53ffab
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x540010
test cl, 4
jne 0x53ffdc
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x540010
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x540032
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569020]
xor edx, edx
cmp ecx, dword [esp + 0x34]
sete dl
cmp edx, dword [esp + 0x30]
je case.0x5413b8.14
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x53ff02
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
nop
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x5401ee
cmp ecx, 0xc0
jb 0x5401ee
test cl, 0x20
jne 0x540132
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x5401ee
test cl, 0x10
jne 0x540159
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x5401ee
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x540189
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x5401ee
test cl, 4
jne 0x5401ba
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x5401ee
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x540210
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569021]
mov eax, dword [ecx*4 + 0x568560]
cmp eax, 1
je 0x540237
cmp eax, 3
je 0x540237
xor eax, eax
jmp 0x54023c
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x5413b8.14
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x5400e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
mov edi, edi
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x5403de
cmp ecx, 0xc0
jb 0x5403de
test cl, 0x20
jne 0x540322
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x5403de
test cl, 0x10
jne 0x540349
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x5403de
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x540379
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x5403de
test cl, 4
jne 0x5403aa
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x5403de
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
cmp ecx, 0x180e
ja 0x540421
je case.0x54043d.8192
cmp ecx, 0x85
ja 0x54040d
je case.0x54043d.8192
cmp ecx, 9
jb case.0x54043d.8203
cmp ecx, 0xd
jbe case.0x54043d.8192
cmp ecx, 0x20
jmp 0x540452
cmp ecx, 0xa0
je case.0x54043d.8192
cmp ecx, 0x1680
jmp 0x540452
cmp ecx, 0x202f
ja 0x540444
je case.0x54043d.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x54043d.8203
movzx edx, byte [eax + 0x541a7c]
jmp dword [edx*4 + 0x541a74]
cmp ecx, 0x205f
je case.0x54043d.8192
cmp ecx, 0x3000
je case.0x54043d.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x56a6a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x540476
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x56c8a0]
movzx edx, byte [ecx*8 + 0x569021]
xor eax, eax
cmp dword [edx*4 + 0x568560], 6
sete al
cmp eax, dword [esp + 0x30]
je case.0x5413b8.14
jmp 0x5404ac
cmp dword [esp + 0x30], 0
jne case.0x5413b8.14
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x5402d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x540637
cmp ecx, 0xc0
jb 0x540637
test cl, 0x20
jne 0x540586
movzx eax, byte [esi]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x540637
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 0x10
jne 0x5405af
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov ecx, edx
add esi, 2
jmp 0x540637
test cl, 8
jne 0x5405d2
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x540637
test cl, 4
jne 0x540603
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x540637
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
mov eax, ecx
shl edx, 7
and eax, 0x8000007f
jns 0x54065a
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x56c8a0]
movzx eax, byte [edx*8 + 0x569021]
mov eax, dword [eax*4 + 0x568560]
cmp eax, 1
je 0x540686
cmp eax, 3
je 0x540686
cmp ecx, 0x5f
je 0x540686
xor eax, eax
jmp 0x54068b
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x5413b8.14
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x540534
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
lea ecx, [ecx]
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x540829
cmp eax, 0xc0
jb 0x540829
test al, 0x20
jne 0x540770
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x540829
test al, 0x10
jne 0x540796
movzx edx, byte [esi]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x540829
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 8
jne 0x5407c5
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x540829
test al, 4
jne 0x5407f5
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
add esi, 4
jmp 0x540829
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [esp + 0x34]
mov ecx, dword [edx*4 + 0x568ee0]
cmp eax, ecx
lea edx, [edx*4 + 0x568ee0]
jb 0x54084d
nop
add edx, 4
cmp eax, ecx
je 0x54085a
mov ecx, dword [edx]
cmp eax, ecx
jae 0x540840
cmp dword [esp + 0x30], 0
je case.0x5413b8.14
jmp 0x540865
cmp dword [esp + 0x30], 0
jne case.0x5413b8.14
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x540720
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
lea ecx, [ecx]
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x53f777
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x5409f9
cmp eax, 0xc0
jb 0x5409f9
test al, 0x20
jne 0x540940
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x5409f9
test al, 0x10
jne 0x540966
movzx edx, byte [esi]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add esi, 2
jmp 0x5409f9
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 8
jne 0x540995
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x5409f9
test al, 4
jne 0x5409c5
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
add esi, 4
jmp 0x5409f9
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x24
je 0x540a21
cmp eax, 0x40
je 0x540a21
cmp eax, 0x60
je 0x540a21
cmp eax, 0xa0
jb 0x540a16
cmp eax, 0xd7ff
jbe 0x540a21
cmp eax, 0xe000
jae 0x540a21
xor eax, eax
jmp 0x540a26
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x5413b8.14
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x15c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x5408f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [esp + 0x20], 0x16
jne 0x540dd5
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
add edx, 1
push edx
mov edx, dword [esp + 0x158]
push eax
mov eax, dword [esp + 0x158]
push ebp
push ecx
push edx
push eax
push esi
mov dword [esp + 0x38], ebx
call fcn.005340e0
test eax, eax
jne 0x541538
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x15c]
jge case.0x5413b8.14
mov ebp, dword [eax + 0x78]
cmp esi, ebp
jae 0x53f777
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x14], 0
je 0x540bd4
cmp ecx, 0xc0
jb 0x540bd4
test cl, 0x20
jne 0x540b18
movzx edx, byte [esi]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add esi, 1
jmp 0x540bd4
test cl, 0x10
jne 0x540b3f
movzx eax, byte [esi]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or ecx, eax
add esi, 2
jmp 0x540bd4
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 8
jne 0x540b6f
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 3
jmp 0x540bd4
test cl, 4
jne 0x540ba0
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
add esi, 4
jmp 0x540bd4
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x540bf6
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebp
movzx eax, word [edx*2 + 0x56c8a0]
movzx ebx, byte [eax*8 + 0x569022]
jae 0x540d53
cmp dword [esp + 0x14], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x540d03
cmp ecx, 0xc0
jb 0x540d03
test cl, 0x20
jne 0x540c4b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x540d01
test cl, 0x10
jne 0x540c75
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x540d03
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x540c98
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x540cf3
and eax, 0x3f
test cl, 4
jne 0x540cce
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x540d03
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x56a6a0]
shl edx, 7
and ecx, 0x8000007f
jns 0x540d25
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x56c8a0]
movzx ecx, byte [eax*8 + 0x569022]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x5684ec], edx
je 0x540d53
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x540c10
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x540d85
cmp esi, ebp
jb 0x540d85
cmp esi, dword [eax + 0x84]
jbe 0x540d85
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x54150f
jmp 0x540d8a
mov ecx, 1
add dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x158]
push eax
mov eax, dword [esp + 0x164]
push eax
push ecx
push edx
push esi
call fcn.005340e0
test eax, eax
je 0x540ac0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [esp + 0x14], 0
mov ebp, dword [esp + 0x154]
je 0x541288
mov ecx, dword [esp + 0x164]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x160]
mov ebx, dword [esp + 0x158]
mov edi, dword [esp + 0x150]
add ecx, 1
push ecx
push edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x164]
push eax
push ebx
push ebp
push edi
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
lea esp, [esp]
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x1c], ecx
jge case.0x5413b8.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x5414e2
cmp dword [esp + 0x20], 0xc
jne 0x540eaf
mov eax, dword [edx + 0x18]
test eax, eax
je 0x540e88
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x15c]
push edx
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edx
push ecx
push eax
push esi
call fcn.00542d60
test eax, eax
jne case.0x5413b8.14
mov edx, dword [esp + 0x15c]
jmp 0x540eaf
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x540eaf
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x540eaf
cmp dword [edx + 0x1c], 1
je case.0x5413b8.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x5413b8.14
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x540f93
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x540eda
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x540f93
test al, 0x10
jne 0x540efa
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 2
jmp 0x540f93
test al, 8
jne 0x540f23
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 3
jmp 0x540f93
test al, 4
jne 0x540f58
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 4
jmp 0x540f93
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add esi, 5
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x5369d4
jmp dword [ecx*4 + 0x541aa8]
cmp dword [edx + 0x88], 0
je case.0x540fa3.13
cmp esi, dword [edx + 0x78]
jb case.0x540fa3.13
cmp dword [edx + 0x18], 0
jne case.0x540fa3.13
cmp dword [edx + 0x1c], 2
jne case.0x540fa3.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x540fa3.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x54150f
jmp case.0x540fa3.13
cmp eax, 0xd
ja 0x54102e
je 0x541014
cmp eax, 0xa
je case.0x540fa3.13
jbe case.0x5413b8.14
cmp eax, 0xc
jmp 0x541045
cmp esi, dword [edx + 0x78]
jae case.0x540fa3.13
cmp byte [esi], 0xa
jne case.0x540fa3.13
add esi, 1
jmp case.0x540fa3.13
cmp eax, 0x85
je 0x54104b
cmp eax, 0x2027
jbe case.0x5413b8.14
cmp eax, 0x2029
ja case.0x5413b8.14
cmp dword [edx + 0x68], 0
jne case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x180e
ja 0x54108f
je case.0x5413b8.14
cmp eax, 0xa0
ja 0x541085
je case.0x5413b8.14
cmp eax, 9
je case.0x5413b8.14
cmp eax, 0x20
jmp 0x541244
cmp eax, 0x1680
jmp 0x541244
cmp eax, 0x205f
ja 0x5410bc
je case.0x5413b8.14
cmp eax, 0x2000
jb case.0x540fa3.13
cmp eax, 0x200a
jbe case.0x5413b8.14
cmp eax, 0x202f
jmp 0x541244
cmp eax, 0x3000
jmp 0x541244
cmp eax, 0x180e
ja 0x541107
je case.0x540fa3.13
cmp eax, 0xa0
ja 0x5410f7
je case.0x540fa3.13
cmp eax, 9
je case.0x540fa3.13
cmp eax, 0x20
jne case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x1680
jne case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x205f
ja 0x54113a
je case.0x540fa3.13
cmp eax, 0x2000
jb case.0x5413b8.14
cmp eax, 0x200a
jbe case.0x540fa3.13
cmp eax, 0x202f
jne case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x3000
jne case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x85
ja 0x54116e
je case.0x5413b8.14
cmp eax, 0xa
jb case.0x540fa3.13
cmp eax, 0xd
jbe case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x2028
jb case.0x540fa3.13
cmp eax, 0x2029
jbe case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x85
ja 0x5411ad
je case.0x540fa3.13
cmp eax, 0xa
jb case.0x5413b8.14
cmp eax, 0xd
ja case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x2028
jb case.0x5413b8.14
cmp eax, 0x2029
ja case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x100
jae case.0x540fa3.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jne case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x100
jae case.0x5413b8.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jmp 0x541244
cmp eax, 0x100
jae case.0x540fa3.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jne case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x100
jae case.0x5413b8.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jmp 0x541244
cmp eax, 0x100
jae case.0x540fa3.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
jne case.0x5413b8.14
jmp case.0x540fa3.13
cmp eax, 0x100
jae case.0x5413b8.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
je case.0x5413b8.14
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
add dword [esp + 0x1c], 1
add edx, 1
push edx
push eax
push ecx
push ebx
push ebp
push edi
push esi
call fcn.005340e0
test eax, eax
je 0x540e30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x18]
add edx, 1
push edx
mov edx, dword [esp + 0x15c]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005340e0
test eax, eax
jne 0x541538
cmp edi, dword [esp + 0x10]
jge case.0x5413b8.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x5414e2
cmp dword [esp + 0x20], 0xc
jne 0x541339
mov eax, dword [edx + 0x18]
test eax, eax
je 0x541312
push 0
mov ecx, edx
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edx
push ecx
push eax
push esi
call fcn.00542d60
test eax, eax
jne case.0x5413b8.14
mov edx, dword [esp + 0x15c]
jmp 0x541339
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x541339
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x541339
cmp dword [edx + 0x1c], 1
je case.0x5413b8.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x5413b8.14
mov ecx, dword [esp + 0x20]
movzx eax, byte [esi]
add ecx, 0xfffffffa
add esi, 1
cmp ecx, 0xf
ja case.default.0x5369d4
jmp dword [ecx*4 + 0x541ae8]
cmp dword [edx + 0x88], 0
je case.0x54134f.13
cmp esi, dword [edx + 0x78]
jb case.0x54134f.13
cmp dword [edx + 0x18], 0
jne case.0x54134f.13
cmp dword [edx + 0x1c], 2
jne case.0x54134f.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x54134f.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x54150f
jmp case.0x54134f.13
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x5413b8.14
movzx eax, byte [eax + 0x541b38]
jmp dword [eax*4 + 0x541b28]
cmp esi, dword [edx + 0x78]
jae case.0x54134f.13
cmp byte [esi], 0xa
jne case.0x54134f.13
add esi, 1
jmp case.0x54134f.13
cmp dword [edx + 0x68], 0
jne case.0x5413b8.14
jmp case.0x54134f.13
cmp eax, 9
je case.0x5413b8.14
cmp eax, 0x20
je case.0x5413b8.14
cmp eax, 0xa0
jmp 0x541499
cmp eax, 9
je case.0x54134f.13
cmp eax, 0x20
je case.0x54134f.13
cmp eax, 0xa0
jne case.0x5413b8.14
jmp case.0x54134f.13
cmp eax, 0xa
jb case.0x54134f.13
cmp eax, 0xd
jbe case.0x5413b8.14
cmp eax, 0x85
jmp 0x541499
cmp eax, 0xa
jb case.0x5413b8.14
cmp eax, 0xd
jbe case.0x54134f.13
cmp eax, 0x85
jne case.0x5413b8.14
jmp case.0x54134f.13
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jne case.0x5413b8.14
jmp case.0x54134f.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jmp 0x541499
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jne case.0x5413b8.14
jmp case.0x54134f.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jmp 0x541499
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x5413b8.14
jmp case.0x54134f.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
je case.0x5413b8.14
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
add eax, 1
push eax
mov eax, dword [esp + 0x15c]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005340e0
test eax, eax
je 0x5412c6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c
cmp dword [edx + 0x88], 0
je case.0x5413b8.14
cmp esi, dword [edx + 0x84]
jbe case.0x5413b8.14
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jle case.0x5413b8.14
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x138
ret 0x1c
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x138
ret 0x1c
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x1c