Function at 0x592531
Capabilities:
Encode data using xor

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1fc
mov ebx, dword [edi]
mov eax, dword [edi + 4]
mov dword [ebp - 0x20], ecx
mov esi, dword [ebx]
mov dword [ebp - 0x1c], eax
movzx edx, byte [esi]
cmp dl, 0x66
je 0x592c26
jle 0x592596
cmp dl, 0x74
je 0x5927c6
cmp dl, 0x7b
je 0x592a06
cmp dl, 0x6e
je 0x592848
mov eax, dword [ebp - 0x1c]
mov dword [edi], ebx
mov dword [edi + 4], eax
mov ecx, dword [ebp - 0x20]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
jmp fcn.00596826
cmp dl, 0x22
je 0x5928b6
cmp dl, 0x5b
jne 0x592573
mov edi, dword [ebp - 0x1c]
add esi, 1
mov dword [ebx], esi
mov edx, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
lea eax, [edx + 0x10]
cmp eax, ecx
ja 0x592ef6
mov esi, dword [ebp - 0x1c]
test edx, edx
mov dword [esi + 0x24], eax
je 0x5925eb
mov edi, 4
mov dword [edx + 0xc], 0
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov word [edx + 0xe], di
mov edx, dword [ebx]
movzx ecx, byte [edx]
mov eax, edx
lea esi, [ecx - 9]
mov ecx, esi
cmp cl, 0x17
jbe 0x5928e6
lea esi, [esi]
mov dword [ebx], eax
cmp byte [eax], 0x2f
jne 0x592f96
mov edx, 0x800013
lea esi, [eax + 1]
mov dword [ebx], esi
movzx ecx, byte [eax + 1]
cmp cl, 0x2a
jne 0x5949f6
add eax, 2
mov dword [ebx], eax
movzx ecx, byte [eax]
test cl, cl
je 0x594994
lea esi, [eax + 1]
cmp cl, 0x2a
mov dword [ebx], esi
jne 0x5945b9
cmp byte [eax + 1], 0x2f
jne 0x5945b9
lea edi, [eax + 2]
mov dword [ebx], edi
movzx eax, byte [edi]
lea esi, [eax - 9]
mov eax, edi
mov ecx, esi
cmp cl, 0x17
ja 0x592767
bt edx, esi
jae 0x592767
lea esi, [edi + 0x10]
add eax, 1
and esi, 0xfffffff0
cmp eax, esi
je 0x5941e7
movzx ecx, byte [edi + 1]
sub ecx, 9
cmp cl, 0x17
ja 0x592767
bt edx, ecx
jae 0x592767
mov edi, eax
sub edi, esi
not edi
and edi, 3
mov dword [ebp - 0x38], edi
je 0x5926fd
add eax, 1
movzx ecx, byte [eax]
lea edi, [ecx - 9]
mov ecx, edi
cmp cl, 0x17
ja 0x592767
bt edx, edi
jae 0x592767
mov edi, dword [ebp - 0x38]
cmp edi, 1
je 0x5926fd
cmp edi, 2
je 0x5926ea
add eax, 1
movzx ecx, byte [eax]
lea ecx, [ecx - 9]
cmp cl, 0x17
ja 0x592767
bt edx, ecx
jae 0x592767
add eax, 1
movzx ecx, byte [eax]
sub ecx, 9
cmp cl, 0x17
ja 0x592767
bt edx, ecx
jae 0x592767
mov dword [ebp - 0x38], ebx
jmp 0x59274a
bt edx, edi
jae 0x592764
add eax, 1
movzx edi, byte [eax]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x592764
bt edx, edi
jae 0x592764
movzx edi, byte [ecx + 2]
lea eax, [ecx + 2]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x592764
bt edx, edi
jae 0x592764
lea eax, [ecx + 3]
movzx ecx, byte [ecx + 3]
sub ecx, 9
cmp cl, 0x17
ja 0x592764
bt edx, ecx
jae 0x592764
lea ecx, [eax + 1]
cmp esi, ecx
mov eax, ecx
je 0x5941e4
movzx edi, byte [ecx]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
jbe 0x592706
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
cmp byte [eax], 0x2f
je 0x592616
mov edx, dword [ebp - 0x20]
mov edi, dword [edx + 0x18]
test edi, edi
jne 0x59283a
cmp byte [eax], 0x5d
jne 0x593988
add eax, 1
mov edi, 4
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x24]
mov word [edx - 2], di
mov dword [edx - 8], 0
mov dword [edx - 0xc], 0
mov dword [edx - 0x10], 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 8
lea ecx, [esi + 1]
mov dword [ebx], ecx
cmp byte [esi + 1], 0x72
jne 0x592dc8
lea ecx, [esi + 2]
mov dword [ebx], ecx
cmp byte [esi + 2], 0x75
jne 0x592dc8
lea ecx, [esi + 3]
mov dword [ebx], ecx
cmp byte [esi + 3], 0x65
jne 0x592dc8
mov ecx, dword [ebp - 0x1c]
add esi, 4
mov dword [ebx], esi
mov edx, dword [ecx + 0x24]
mov edi, dword [ecx + 0x28]
lea eax, [edx + 0x10]
cmp eax, edi
ja 0x5940a6
mov edi, dword [ebp - 0x1c]
test edx, edx
mov dword [edi + 0x24], eax
je 0x59283a
mov esi, 0xa
mov dword [edx + 0xc], 0
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov word [edx + 0xe], si
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 8
lea ecx, [esi + 1]
mov dword [ebx], ecx
cmp byte [esi + 1], 0x75
jne 0x592dc8
lea ecx, [esi + 2]
mov dword [ebx], ecx
cmp byte [esi + 2], 0x6c
jne 0x592dc8
lea ecx, [esi + 3]
mov dword [ebx], ecx
cmp byte [esi + 3], 0x6c
jne 0x592dc8
add esi, 4
mov dword [ebx], esi
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x24]
mov edi, dword [ebx + 0x28]
lea eax, [edx + 0x10]
cmp eax, edi
ja 0x594057
mov ecx, dword [ebp - 0x1c]
test edx, edx
mov dword [ecx + 0x24], eax
je 0x59283a
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
jmp 0x59283a
mov esi, dword [ebp - 0x1c]
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], esi
call fcn.00598886
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 8
mov ecx, 0x800013
bt ecx, esi
jae 0x592606
lea edi, [edx + 0x10]
add eax, 1
and edi, 0xfffffff0
cmp eax, edi
je 0x592e79
movzx edx, byte [edx + 1]
sub edx, 9
cmp dl, 0x17
ja 0x592606
bt ecx, edx
jae 0x592606
mov esi, eax
sub esi, edi
not esi
and esi, 3
mov dword [ebp - 0x38], esi
je 0x59298c
add eax, 1
movzx esi, byte [eax]
sub esi, 9
mov edx, esi
cmp dl, 0x17
ja 0x592606
bt ecx, esi
jae 0x592606
mov esi, dword [ebp - 0x38]
cmp esi, 1
je 0x59298c
cmp esi, 2
je 0x592971
add eax, 1
movzx edx, byte [eax]
lea edx, [edx - 9]
cmp dl, 0x17
ja 0x592606
bt ecx, edx
jae 0x592606
add eax, 1
movzx esi, byte [eax]
lea edx, [esi - 9]
cmp dl, 0x17
ja 0x592606
bt ecx, edx
jae 0x592606
mov dword [ebp - 0x38], ebx
jmp 0x5929da
bt ecx, esi
jae 0x5929f4
add eax, 1
movzx esi, byte [eax]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
ja 0x5929f4
bt ecx, esi
jae 0x5929f4
movzx esi, byte [edx + 2]
lea eax, [edx + 2]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
ja 0x5929f4
bt ecx, esi
jae 0x5929f4
lea eax, [edx + 3]
movzx edx, byte [edx + 3]
sub edx, 9
cmp dl, 0x17
ja 0x5929f4
bt ecx, edx
jae 0x5929f4
lea edx, [eax + 1]
cmp edi, edx
mov eax, edx
je 0x592e76
movzx esi, byte [edx]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
jbe 0x592996
mov ebx, dword [ebp - 0x38]
jmp 0x592606
mov edi, dword [ebp - 0x1c]
add esi, 1
mov dword [ebx], esi
mov edx, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
lea eax, [edx + 0x10]
cmp eax, ecx
ja 0x592f46
test edx, edx
mov dword [edi + 0x24], eax
je 0x592a4a
mov esi, 3
mov dword [edx + 0xc], 0
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov word [edx + 0xe], si
mov edx, dword [ebx]
movzx ecx, byte [edx]
mov eax, edx
lea edi, [ecx - 9]
mov ecx, edi
cmp cl, 0x17
jbe 0x592cb6
lea esi, [esi]
mov dword [ebx], eax
cmp byte [eax], 0x2f
jne 0x592fa6
mov edx, 0x800013
lea esi, [eax + 1]
mov dword [ebx], esi
movzx ecx, byte [eax + 1]
cmp cl, 0x2a
jne 0x5949c6
add eax, 2
mov dword [ebx], eax
movzx ecx, byte [eax]
test cl, cl
je 0x5949a9
lea esi, [eax + 1]
cmp cl, 0x2a
mov dword [ebx], esi
jne 0x5945c0
cmp byte [eax + 1], 0x2f
jne 0x5945c0
lea edi, [eax + 2]
mov dword [ebx], edi
movzx eax, byte [edi]
lea esi, [eax - 9]
mov eax, edi
mov ecx, esi
cmp cl, 0x17
ja 0x592bc7
bt edx, esi
jae 0x592bc7
lea esi, [edi + 0x10]
add eax, 1
and esi, 0xfffffff0
cmp eax, esi
je 0x594140
movzx ecx, byte [edi + 1]
sub ecx, 9
cmp cl, 0x17
ja 0x592bc7
bt edx, ecx
jae 0x592bc7
mov edi, eax
sub edi, esi
not edi
and edi, 3
mov dword [ebp - 0x38], edi
je 0x592b5d
add eax, 1
movzx ecx, byte [eax]
lea edi, [ecx - 9]
mov ecx, edi
cmp cl, 0x17
ja 0x592bc7
bt edx, edi
jae 0x592bc7
mov edi, dword [ebp - 0x38]
cmp edi, 1
je 0x592b5d
cmp edi, 2
je 0x592b4a
add eax, 1
movzx ecx, byte [eax]
lea ecx, [ecx - 9]
cmp cl, 0x17
ja 0x592bc7
bt edx, ecx
jae 0x592bc7
add eax, 1
movzx edi, byte [eax]
lea ecx, [edi - 9]
cmp cl, 0x17
ja 0x592bc7
bt edx, ecx
jae 0x592bc7
mov dword [ebp - 0x38], ebx
jmp 0x592baa
bt edx, edi
jae 0x592bc4
add eax, 1
movzx edi, byte [eax]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x592bc4
bt edx, edi
jae 0x592bc4
movzx edi, byte [ecx + 2]
lea eax, [ecx + 2]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x592bc4
bt edx, edi
jae 0x592bc4
lea eax, [ecx + 3]
movzx ecx, byte [ecx + 3]
sub ecx, 9
cmp cl, 0x17
ja 0x592bc4
bt edx, ecx
jae 0x592bc4
lea ecx, [eax + 1]
cmp esi, ecx
mov eax, ecx
je 0x59413d
movzx edi, byte [ecx]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
jbe 0x592b66
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
cmp byte [eax], 0x2f
je 0x592a76
mov edx, dword [ebp - 0x20]
mov edi, dword [edx + 0x18]
test edi, edi
jne 0x59283a
movzx ecx, byte [eax]
cmp cl, 0x7d
jne 0x592fb6
add eax, 1
mov edx, 3
mov dword [ebx], eax
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 0x24]
mov word [edi - 2], dx
mov dword [edi - 8], 0
mov dword [edi - 0xc], 0
mov dword [edi - 0x10], 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 8
lea ecx, [esi + 1]
mov dword [ebx], ecx
cmp byte [esi + 1], 0x61
jne 0x592dc8
lea ecx, [esi + 2]
mov dword [ebx], ecx
cmp byte [esi + 2], 0x6c
jne 0x592dc8
lea ecx, [esi + 3]
mov dword [ebx], ecx
cmp byte [esi + 3], 0x73
jne 0x592dc8
lea ecx, [esi + 4]
mov dword [ebx], ecx
cmp byte [esi + 4], 0x65
jne 0x592dc8
mov edi, dword [ebp - 0x1c]
add esi, 5
mov dword [ebx], esi
mov edx, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
lea eax, [edx + 0x10]
cmp eax, ecx
ja 0x5940f3
mov edi, dword [ebp - 0x1c]
test edx, edx
mov dword [edi + 0x24], eax
je 0x59283a
mov esi, 9
mov dword [edx + 0xc], 0
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov word [edx + 0xe], si
jmp 0x59283a
mov ecx, 0x800013
bt ecx, edi
jae 0x592a66
lea edi, [edx + 0x10]
add eax, 1
and edi, 0xfffffff0
cmp eax, edi
je 0x592de9
movzx edx, byte [edx + 1]
sub edx, 9
cmp dl, 0x17
ja 0x592a66
bt ecx, edx
jae 0x592a66
mov esi, eax
sub esi, edi
not esi
and esi, 3
mov dword [ebp - 0x38], esi
je 0x592d5c
add eax, 1
movzx esi, byte [eax]
sub esi, 9
mov edx, esi
cmp dl, 0x17
ja 0x592a66
bt ecx, esi
jae 0x592a66
mov esi, dword [ebp - 0x38]
cmp esi, 1
je 0x592d5c
cmp esi, 2
je 0x592d41
add eax, 1
movzx edx, byte [eax]
lea edx, [edx - 9]
cmp dl, 0x17
ja 0x592a66
bt ecx, edx
jae 0x592a66
add eax, 1
movzx esi, byte [eax]
lea edx, [esi - 9]
cmp dl, 0x17
ja 0x592a66
bt ecx, edx
jae 0x592a66
mov dword [ebp - 0x38], ebx
jmp 0x592daa
bt ecx, esi
jae 0x592dc0
add eax, 1
movzx esi, byte [eax]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
ja 0x592dc0
bt ecx, esi
jae 0x592dc0
movzx esi, byte [edx + 2]
lea eax, [edx + 2]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
ja 0x592dc0
bt ecx, esi
jae 0x592dc0
lea eax, [edx + 3]
movzx edx, byte [edx + 3]
sub edx, 9
cmp dl, 0x17
ja 0x592dc0
bt ecx, edx
jae 0x592dc0
lea edx, [eax + 1]
cmp edi, edx
mov eax, edx
je 0x592de6
movzx esi, byte [edx]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
jbe 0x592d66
mov ebx, dword [ebp - 0x38]
jmp 0x592a66
sub ecx, dword [ebx + 8]
mov ebx, dword [ebp - 0x20]
mov dword [ebx + 0x18], 3
mov dword [ebx + 0x1c], ecx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 8
mov ebx, dword [ebp - 0x38]
movdqa xmm4, xmmword [0x4cd340]
movdqa xmm5, xmmword [0x4cd350]
movdqa xmm7, xmm4
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmm5
movdqa xmm3, xmmword [0x4cd360]
pcmpeqb xmm0, xmm1
pcmpeqb xmm7, xmm1
movdqa xmm2, xmmword [0x4cd370]
jmp 0x592e3d
add eax, 0x10
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmm1
movdqa xmm7, xmm1
pcmpeqb xmm0, xmm4
pcmpeqb xmm7, xmm5
movdqa xmm6, xmm3
por xmm0, xmm7
pcmpeqb xmm6, xmm1
pcmpeqb xmm1, xmm2
por xmm0, xmm6
por xmm0, xmm1
pmovmskb ecx, xmm0
xor cx, 0xffff
je 0x592e26
movzx edi, cx
mov edx, 0xffffffff
bsf esi, edi
cmove esi, edx
add eax, esi
jmp 0x592a66
mov ebx, dword [ebp - 0x38]
movdqa xmm1, xmmword [eax]
movdqa xmm5, xmmword [0x4cd340]
movdqa xmm4, xmmword [0x4cd350]
movdqa xmm3, xmmword [0x4cd360]
movdqa xmm2, xmmword [0x4cd370]
jmp 0x592ead
add eax, 0x10
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmm1
movdqa xmm6, xmm1
movdqa xmm7, xmm1
pcmpeqb xmm0, xmm5
pcmpeqb xmm6, xmm4
pcmpeqb xmm7, xmm3
por xmm0, xmm6
pcmpeqb xmm1, xmm2
por xmm0, xmm7
por xmm0, xmm1
pmovmskb ecx, xmm0
xor cx, 0xffff
je 0x592ea6
movzx edi, cx
mov edx, 0xffffffff
bsf esi, edi
cmove esi, edx
add eax, esi
jmp 0x592606
mov eax, dword [edi + 0x20]
test eax, eax
je 0x5944d4
sub ecx, eax
lea esi, [ecx + 1]
shr esi, 1
add ecx, esi
mov esi, edx
sub esi, eax
lea edi, [esi + 0x10]
cmp edi, ecx
cmovb edi, ecx
test edi, edi
je 0x5942f8
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00587f86
mov ecx, dword [ebp - 0x1c]
lea edx, [eax + esi]
mov dword [ecx + 0x20], eax
add eax, edi
mov dword [ecx + 0x28], eax
lea eax, [edx + 0x10]
jmp 0x5925bd
mov eax, dword [edi + 0x20]
test eax, eax
je 0x5944f9
sub ecx, eax
lea edi, [ecx + 1]
shr edi, 1
add ecx, edi
mov esi, edx
sub esi, eax
lea edi, [esi + 0x10]
cmp edi, ecx
cmovb edi, ecx
test edi, edi
je 0x594307
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00587f86
mov ecx, dword [ebp - 0x1c]
lea edx, [eax + esi]
mov dword [ecx + 0x20], eax
add eax, edi
mov edi, ecx
mov dword [ecx + 0x28], eax
lea eax, [edx + 0x10]
jmp 0x592a1f
mov ecx, dword [ebp - 0x20]
mov edi, dword [ecx + 0x18]
jmp 0x592778
mov ecx, dword [ebp - 0x20]
mov edi, dword [ecx + 0x18]
jmp 0x592bd8
movdqa xmm6, xmmword [0x4cd340]
mov dword [ebp - 0xa8], 0
movdqa xmm5, xmmword [0x4cd350]
movdqa xmm7, xmm6
movdqa xmm4, xmmword [0x4cd360]
movdqa xmm3, xmmword [0x4cd370]
movaps xmmword [ebp - 0x138], xmm6
movaps xmmword [ebp - 0x148], xmm5
movaps xmmword [ebp - 0x158], xmm4
movaps xmmword [ebp - 0x168], xmm3
movaps xmmword [ebp - 0x38], xmm5
movaps xmmword [ebp - 0x48], xmm4
movaps xmmword [ebp - 0x58], xmm3
movaps xmmword [ebp - 0x178], xmm6
movaps xmmword [ebp - 0x188], xmm5
movaps xmmword [ebp - 0x198], xmm4
movaps xmmword [ebp - 0x1a8], xmm3
movaps xmmword [ebp - 0x128], xmm6
movaps xmmword [ebp - 0x68], xmm5
movaps xmmword [ebp - 0x78], xmm4
movaps xmmword [ebp - 0x88], xmm3
movaps xmmword [ebp - 0x1b8], xmm6
movaps xmmword [ebp - 0x1c8], xmm5
movaps xmmword [ebp - 0x1d8], xmm4
movaps xmmword [ebp - 0x1e8], xmm3
movaps xmmword [ebp - 0x1f8], xmm6
movaps xmmword [ebp - 0xf8], xmm5
movaps xmmword [ebp - 0x108], xmm4
movaps xmmword [ebp - 0x118], xmm3
cmp cl, 0x22
jne 0x594b38
movaps xmmword [ebp - 0xe8], xmm7
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
movaps xmmword [ebp - 0xd8], xmm3
mov ecx, edi
movaps xmmword [ebp - 0xc8], xmm4
mov dword [esp + 8], 1
mov dword [esp + 4], eax
movaps xmmword [ebp - 0xb8], xmm5
movaps xmmword [ebp - 0x98], xmm6
mov dword [esp], ebx
call fcn.00598886
mov ecx, dword [edi + 0x18]
sub esp, 0xc
test ecx, ecx
jne 0x59283a
mov eax, dword [ebx]
movdqa xmm6, xmmword [ebp - 0x98]
movzx ecx, byte [eax]
mov edi, eax
movdqa xmm5, xmmword [ebp - 0xb8]
movdqa xmm4, xmmword [ebp - 0xc8]
sub ecx, 9
cmp cl, 0x17
movdqa xmm3, xmmword [ebp - 0xd8]
movdqa xmm7, xmmword [ebp - 0xe8]
ja 0x59318a
mov edx, 0x800013
bt edx, ecx
jae 0x59318a
lea esi, [eax + 0x10]
add edi, 1
and esi, 0xfffffff0
cmp edi, esi
je 0x594294
movzx eax, byte [eax + 1]
sub eax, 9
cmp al, 0x17
ja 0x59318a
bt edx, eax
jae 0x59318a
mov eax, edi
mov ecx, 0x800013
sub eax, esi
not eax
and eax, 3
je 0x59374f
add edi, 1
movzx edx, byte [edi]
sub edx, 9
cmp dl, 0x17
ja 0x59318a
bt ecx, edx
jae 0x59318a
cmp eax, 1
je 0x59374f
cmp eax, 2
je 0x593179
add edi, 1
movzx eax, byte [edi]
sub eax, 9
cmp al, 0x17
ja 0x59318a
bt ecx, eax
jae 0x59318a
add edi, 1
movzx eax, byte [edi]
sub eax, 9
cmp al, 0x17
jbe 0x593746
mov dword [ebx], edi
movzx ecx, byte [edi]
cmp cl, 0x2f
jne 0x59327f
mov esi, 0x800013
lea ecx, [edi + 1]
mov dword [ebx], ecx
movzx eax, byte [edi + 1]
cmp al, 0x2a
jne 0x594f3e
add edi, 2
mov dword [ebx], edi
movzx ecx, byte [edi]
test cl, cl
je 0x594fe7
lea eax, [edi + 1]
cmp cl, 0x2a
mov dword [ebx], eax
jne 0x594ef9
cmp byte [edi + 1], 0x2f
jne 0x594ef9
add edi, 2
mov dword [ebx], edi
mov edi, dword [ebx]
movzx edx, byte [edi]
sub edx, 9
cmp dl, 0x17
ja 0x593263
bt esi, edx
jae 0x593263
lea edx, [edi + 0x10]
lea ecx, [edi + 1]
and edx, 0xfffffff0
cmp ecx, edx
je 0x594c8d
movzx eax, byte [edi + 1]
mov edi, ecx
sub eax, 9
cmp al, 0x17
ja 0x593263
bt esi, eax
jae 0x593263
mov eax, ecx
sub eax, edx
not eax
and eax, 3
je 0x5937c8
add edi, 1
movzx ecx, byte [edi]
sub ecx, 9
cmp cl, 0x17
ja 0x593263
bt esi, ecx
jae 0x593263
cmp eax, 1
je 0x5937c8
cmp eax, 2
je 0x593252
add edi, 1
movzx eax, byte [edi]
sub eax, 9
cmp al, 0x17
ja 0x593263
bt esi, eax
jae 0x593263
add edi, 1
movzx eax, byte [edi]
sub eax, 9
cmp al, 0x17
jbe 0x5937bf
mov dword [ebx], edi
cmp byte [edi], 0x2f
je 0x59319d
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x18]
test edx, edx
jne 0x59283a
movzx ecx, byte [edi]
cmp cl, 0x3a
jne 0x594c0a
lea eax, [edi + 1]
mov dword [ebx], eax
movzx edx, byte [edi + 1]
lea edx, [edx - 9]
cmp dl, 0x17
ja 0x5933c3
mov ecx, 0x800013
bt ecx, edx
jae 0x5933c3
lea esi, [edi + 0x11]
lea eax, [edi + 2]
and esi, 0xfffffff0
cmp eax, esi
mov dword [ebp - 0x98], esi
je 0x59431c
movzx edx, byte [edi + 2]
sub edx, 9
cmp dl, 0x17
ja 0x5933c3
bt ecx, edx
jae 0x5933c3
mov edx, eax
mov ecx, 0x800013
sub edx, esi
not edx
and edx, 3
mov dword [ebp - 0xb8], edx
je 0x594987
lea eax, [edi + 3]
movzx edi, byte [edi + 3]
sub edi, 9
mov edx, edi
cmp dl, 0x17
ja 0x5933c3
bt ecx, edi
jae 0x5933c3
mov esi, dword [ebp - 0xb8]
cmp esi, 1
je 0x593351
cmp esi, 2
je 0x59333e
add eax, 1
movzx edi, byte [eax]
lea edx, [edi - 9]
cmp dl, 0x17
ja 0x5933c3
bt ecx, edx
jae 0x5933c3
add eax, 1
movzx esi, byte [eax]
lea edx, [esi - 9]
cmp dl, 0x17
ja 0x5933c3
bt ecx, edx
jae 0x5933c3
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0x98], ebx
jmp 0x5933a3
bt ecx, esi
jae 0x5933bd
add eax, 1
movzx esi, byte [eax]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
ja 0x5933bd
bt ecx, esi
jae 0x5933bd
movzx esi, byte [edx + 2]
lea eax, [edx + 2]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
ja 0x5933bd
bt ecx, esi
jae 0x5933bd
lea eax, [edx + 3]
movzx edx, byte [edx + 3]
sub edx, 9
cmp dl, 0x17
ja 0x5933bd
bt ecx, edx
jae 0x5933bd
lea edx, [eax + 1]
cmp edi, edx
mov eax, edx
je 0x594316
movzx esi, byte [edx]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
jbe 0x59335f
mov ebx, dword [ebp - 0x98]
mov dword [ebx], eax
cmp byte [eax], 0x2f
mov edi, 0x800013
jne 0x5934f3
lea esi, [eax + 1]
mov dword [ebx], esi
movzx ecx, byte [eax + 1]
cmp cl, 0x2a
jne 0x594f7c
add eax, 2
mov dword [ebx], eax
movzx ecx, byte [eax]
test cl, cl
je 0x594f67
lea esi, [eax + 1]
cmp cl, 0x2a
mov dword [ebx], esi
jne 0x594ef2
cmp byte [eax + 1], 0x2f
jne 0x594ef2
add eax, 2
mov dword [ebx], eax
mov eax, dword [ebx]
movzx edx, byte [eax]
lea ecx, [edx - 9]
cmp cl, 0x17
ja 0x5934da
bt edi, ecx
jae 0x5934da
lea ecx, [eax + 0x10]
lea esi, [eax + 1]
and ecx, 0xfffffff0
cmp esi, ecx
je 0x594fe0
movzx edx, byte [eax + 1]
mov eax, esi
sub edx, 9
cmp dl, 0x17
ja 0x5934da
bt edi, edx
jae 0x5934da
sub esi, ecx
not esi
and esi, 3
mov dword [ebp - 0x98], esi
je 0x5934b2
add eax, 1
movzx esi, byte [eax]
sub esi, 9
mov edx, esi
cmp dl, 0x17
ja 0x5934da
bt edi, esi
jae 0x5934da
mov esi, dword [ebp - 0x98]
cmp esi, 1
je 0x5934b2
cmp esi, 2
je 0x59349f
add eax, 1
movzx edx, byte [eax]
lea edx, [edx - 9]
cmp dl, 0x17
ja 0x5934da
bt edi, edx
jae 0x5934da
add eax, 1
movzx esi, byte [eax]
lea edx, [esi - 9]
cmp dl, 0x17
ja 0x5934da
bt edi, edx
jae 0x5934da
mov dword [ebp - 0x98], ecx
lea edx, [eax + 1]
cmp dword [ebp - 0x98], edx
mov eax, edx
je 0x59383b
movzx ecx, byte [edx]
lea esi, [ecx - 9]
mov ecx, esi
cmp cl, 0x17
jbe 0x594a1f
mov dword [ebx], eax
cmp byte [eax], 0x2f
je 0x5933d3
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x59283a
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [esp], ebx
movaps xmmword [ebp - 0xe8], xmm7
mov dword [esp + 4], edx
mov ecx, esi
movaps xmmword [ebp - 0xd8], xmm3
movaps xmmword [ebp - 0xc8], xmm4
movaps xmmword [ebp - 0xb8], xmm5
movaps xmmword [ebp - 0x98], xmm6
call fcn.00592526
sub esp, 8
mov eax, dword [esi + 0x18]
movdqa xmm6, xmmword [ebp - 0x98]
test eax, eax
movdqa xmm5, xmmword [ebp - 0xb8]
movdqa xmm4, xmmword [ebp - 0xc8]
movdqa xmm3, xmmword [ebp - 0xd8]
movdqa xmm7, xmmword [ebp - 0xe8]
jne 0x59283a
mov eax, dword [ebx]
movzx ecx, byte [eax]
mov edi, eax
sub ecx, 9
cmp cl, 0x17
ja 0x5935f6
mov edx, 0x800013
bt edx, ecx
jae 0x5935f6
lea esi, [eax + 0x10]
add edi, 1
and esi, 0xfffffff0
cmp edi, esi
je 0x594429
movzx eax, byte [eax + 1]
sub eax, 9
cmp al, 0x17
ja 0x5935f6
bt edx, eax
jae 0x5935f6
mov eax, edi
mov ecx, 0x800013
sub eax, esi
not eax
and eax, 3
je 0x59389f
add edi, 1
movzx edx, byte [edi]
sub edx, 9
cmp dl, 0x17
ja 0x5935f6
bt ecx, edx
jae 0x5935f6
cmp eax, 1
je 0x59389f
cmp eax, 2
je 0x5935e5
add edi, 1
movzx eax, byte [edi]
sub eax, 9
cmp al, 0x17
ja 0x5935f6
bt ecx, eax
jae 0x5935f6
add edi, 1
movzx eax, byte [edi]
sub eax, 9
cmp al, 0x17
jbe 0x593896
mov dword [ebx], edi
cmp byte [edi], 0x2f
jne 0x5936df
mov esi, 0x800013
lea ecx, [edi + 1]
mov dword [ebx], ecx
movzx eax, byte [edi + 1]
cmp al, 0x2a
jne 0x594fbd
add edi, 2
mov dword [ebx], edi
mov edi, dword [ebx]
movzx ecx, byte [edi]
test cl, cl
je 0x594fa6
lea eax, [edi + 1]
cmp cl, 0x2a
mov dword [ebx], eax
jne 0x59361c
cmp byte [edi + 1], 0x2f
jne 0x59361c
add edi, 2
mov dword [ebx], edi
mov edi, dword [ebx]
movzx edx, byte [edi]
sub edx, 9
cmp dl, 0x17
ja 0x5936c6
bt esi, edx
jae 0x5936c6
lea edx, [edi + 0x10]
lea ecx, [edi + 1]
and edx, 0xfffffff0
cmp ecx, edx
je 0x594d7d
movzx eax, byte [edi + 1]
mov edi, ecx
sub eax, 9
cmp al, 0x17
ja 0x5936c6
bt esi, eax
jae 0x5936c6
mov eax, ecx
sub eax, edx
not eax
and eax, 3
je 0x593918
add edi, 1
movzx ecx, byte [edi]
sub ecx, 9
cmp cl, 0x17
ja 0x5936c6
bt esi, ecx
jae 0x5936c6
cmp eax, 1
je 0x593918
cmp eax, 2
je 0x5936b5
add edi, 1
movzx eax, byte [edi]
sub eax, 9
cmp al, 0x17
ja 0x5936c6
bt esi, eax
jae 0x5936c6
add edi, 1
movzx eax, byte [edi]
sub eax, 9
cmp al, 0x17
jbe 0x59390f
mov dword [ebx], edi
cmp byte [edi], 0x2f
je 0x593606
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x18]
test edx, edx
jne 0x59283a
movzx ecx, byte [edi]
add dword [ebp - 0xa8], 1
cmp cl, 0x2c
je 0x5945dc
cmp cl, 0x7d
jne 0x5945c7
mov edx, dword [ebp - 0x1c]
lea esi, [edi + 1]
mov eax, dword [ebp - 0xa8]
mov edi, 3
mov dword [ebx], esi
mov ebx, dword [edx + 0x24]
mov esi, eax
mov ecx, dword [edx + 0x10]
shl esi, 5
mov dword [ebp - 0x1c], ebx
sub ebx, esi
test eax, eax
mov dword [edx + 0x24], ebx
mov word [ebx - 2], di
jne 0x594c66
mov dword [ebx - 8], 0
mov dword [ebx - 0xc], eax
mov dword [ebx - 0x10], eax
jmp 0x59283a
bt ecx, eax
jae 0x59318a
lea eax, [edi + 1]
cmp esi, eax
mov edi, eax
je 0x594294
movzx edx, byte [eax]
sub edx, 9
cmp dl, 0x17
ja 0x59318a
bt ecx, edx
jae 0x59318a
add edi, 1
movzx edx, byte [edi]
sub edx, 9
cmp dl, 0x17
ja 0x59318a
bt ecx, edx
jae 0x59318a
movzx edx, byte [eax + 2]
lea edi, [eax + 2]
sub edx, 9
cmp dl, 0x17
ja 0x59318a
bt ecx, edx
jae 0x59318a
lea edi, [eax + 3]
movzx eax, byte [eax + 3]
sub eax, 9
cmp al, 0x17
ja 0x59318a
jmp 0x593746
bt esi, eax
jae 0x593263
lea eax, [edi + 1]
cmp edx, eax
mov edi, eax
je 0x594c8f
movzx ecx, byte [eax]
sub ecx, 9
cmp cl, 0x17
ja 0x593263
bt esi, ecx
jae 0x593263
add edi, 1
movzx ecx, byte [edi]
sub ecx, 9
cmp cl, 0x17
ja 0x593263
bt esi, ecx
jae 0x593263
movzx ecx, byte [eax + 2]
lea edi, [eax + 2]
sub ecx, 9
cmp cl, 0x17
ja 0x593263
bt esi, ecx
jae 0x593263
lea edi, [eax + 3]
movzx eax, byte [eax + 3]
sub eax, 9
cmp al, 0x17
ja 0x593263
jmp 0x5937bf
add eax, 0x10
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmmword [ebp - 0x178]
movdqa xmm2, xmmword [ebp - 0x188]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm0, xmm2
movdqa xmm2, xmmword [ebp - 0x198]
pcmpeqb xmm2, xmm1
pcmpeqb xmm1, xmmword [ebp - 0x1a8]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
je 0x593838
movzx ecx, si
mov esi, 0xffffffff
bsf edx, ecx
cmove edx, esi
add eax, edx
jmp 0x5934da
bt ecx, eax
jae 0x5935f6
lea eax, [edi + 1]
cmp esi, eax
mov edi, eax
je 0x594429
movzx edx, byte [eax]
sub edx, 9
cmp dl, 0x17
ja 0x5935f6
bt ecx, edx
jae 0x5935f6
add edi, 1
movzx edx, byte [edi]
sub edx, 9
cmp dl, 0x17
ja 0x5935f6
bt ecx, edx
jae 0x5935f6
movzx edx, byte [eax + 2]
lea edi, [eax + 2]
sub edx, 9
cmp dl, 0x17
ja 0x5935f6
bt ecx, edx
jae 0x5935f6
lea edi, [eax + 3]
movzx eax, byte [eax + 3]
sub eax, 9
cmp al, 0x17
ja 0x5935f6
jmp 0x593896
bt esi, eax
jae 0x5936c6
lea eax, [edi + 1]
cmp edx, eax
mov edi, eax
je 0x594d7f
movzx ecx, byte [eax]
sub ecx, 9
cmp cl, 0x17
ja 0x5936c6
bt esi, ecx
jae 0x5936c6
add edi, 1
movzx ecx, byte [edi]
sub ecx, 9
cmp cl, 0x17
ja 0x5936c6
bt esi, ecx
jae 0x5936c6
movzx ecx, byte [eax + 2]
lea edi, [eax + 2]
sub ecx, 9
cmp cl, 0x17
ja 0x5936c6
bt esi, ecx
jae 0x5936c6
lea edi, [eax + 3]
movzx eax, byte [eax + 3]
sub eax, 9
cmp al, 0x17
ja 0x5936c6
jmp 0x59390f
movdqa xmm6, xmmword [0x4cd340]
mov dword [ebp - 0xb8], 0
movdqa xmm5, xmmword [0x4cd350]
movdqa xmm7, xmm6
movdqa xmm4, xmmword [0x4cd360]
movdqa xmm3, xmmword [0x4cd370]
movaps xmmword [ebp - 0x128], xmm6
movaps xmmword [ebp - 0xc8], xmm5
movaps xmmword [ebp - 0xd8], xmm4
movaps xmmword [ebp - 0xe8], xmm3
movaps xmmword [ebp - 0x48], xmm5
movaps xmmword [ebp - 0x58], xmm4
movaps xmmword [ebp - 0x68], xmm3
movaps xmmword [ebp - 0x138], xmm6
movaps xmmword [ebp - 0xf8], xmm5
movaps xmmword [ebp - 0x108], xmm4
movaps xmmword [ebp - 0x118], xmm3
movaps xmmword [ebp - 0xa8], xmm7
movaps xmmword [ebp - 0x98], xmm3
movaps xmmword [ebp - 0x88], xmm4
movaps xmmword [ebp - 0x78], xmm5
movaps xmmword [ebp - 0x38], xmm6
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [esp], ebx
mov ecx, edi
mov dword [esp + 4], eax
call fcn.00592526
mov ecx, dword [edi + 0x18]
sub esp, 8
test ecx, ecx
jne 0x59283a
mov edx, dword [ebx]
add dword [ebp - 0xb8], 1
movdqa xmm6, xmmword [ebp - 0x38]
movzx eax, byte [edx]
movdqa xmm5, xmmword [ebp - 0x78]
lea esi, [eax - 9]
movdqa xmm4, xmmword [ebp - 0x88]
mov eax, edx
mov ecx, esi
movdqa xmm3, xmmword [ebp - 0x98]
cmp cl, 0x17
movdqa xmm7, xmmword [ebp - 0xa8]
ja 0x593b77
mov ecx, 0x800013
bt ecx, esi
jae 0x593b77
lea edi, [edx + 0x10]
add eax, 1
and edi, 0xfffffff0
cmp eax, edi
je 0x593f7d
movzx edx, byte [edx + 1]
sub edx, 9
cmp dl, 0x17
ja 0x593b77
bt ecx, edx
jae 0x593b77
mov esi, eax
sub esi, edi
not esi
and esi, 3
mov dword [ebp - 0x38], esi
je 0x593b11
add eax, 1
movzx esi, byte [eax]
sub esi, 9
mov edx, esi
cmp dl, 0x17
ja 0x593b77
bt ecx, esi
jae 0x593b77
mov esi, dword [ebp - 0x38]
cmp esi, 1
je 0x593b11
cmp esi, 2
je 0x593afe
add eax, 1
movzx edx, byte [eax]
lea edx, [edx - 9]
cmp dl, 0x17
ja 0x593b77
bt ecx, edx
jae 0x593b77
add eax, 1
movzx esi, byte [eax]
lea edx, [esi - 9]
cmp dl, 0x17
ja 0x593b77
bt ecx, edx
jae 0x593b77
mov dword [ebp - 0x38], ebx
jmp 0x593b5a
bt ecx, esi
jae 0x593b74
add eax, 1
movzx esi, byte [eax]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
ja 0x593b74
bt ecx, esi
jae 0x593b74
movzx esi, byte [edx + 2]
lea eax, [edx + 2]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
ja 0x593b74
bt ecx, esi
jae 0x593b74
lea eax, [edx + 3]
movzx edx, byte [edx + 3]
sub edx, 9
cmp dl, 0x17
ja 0x593b74
bt ecx, edx
jae 0x593b74
lea edx, [eax + 1]
cmp edi, edx
mov eax, edx
je 0x593f7a
movzx esi, byte [edx]
sub esi, 9
mov ebx, esi
cmp bl, 0x17
jbe 0x593b16
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
movzx edx, byte [eax]
cmp dl, 0x2f
jne 0x593ca2
lea edi, [eax + 1]
mov dword [ebx], edi
movzx ecx, byte [eax + 1]
cmp cl, 0x2a
jne 0x594e2e
add eax, 2
mov dword [ebx], eax
movzx edx, byte [eax]
test dl, dl
je 0x594e17
lea edi, [eax + 1]
cmp dl, 0x2a
mov dword [ebx], edi
jne 0x594c5f
cmp byte [eax + 1], 0x2f
jne 0x594c5f
lea ecx, [eax + 2]
mov dword [ebx], ecx
movzx eax, byte [ecx]
lea esi, [eax - 9]
mov eax, ecx
mov edx, esi
cmp dl, 0x17
ja 0x593c86
mov edi, 0x800013
bt edi, esi
jae 0x593c86
lea esi, [ecx + 0x10]
add eax, 1
and esi, 0xfffffff0
cmp eax, esi
je 0x5948d6
movzx ecx, byte [ecx + 1]
sub ecx, 9
cmp cl, 0x17
ja 0x593c86
bt edi, ecx
jae 0x593c86
mov ecx, eax
sub ecx, esi
not ecx
and ecx, 3
je 0x593c65
add eax, 1
movzx edi, byte [eax]
sub edi, 9
mov edx, edi
cmp dl, 0x17
ja 0x593c86
mov edx, 0x800013
bt edx, edi
jae 0x593c86
cmp ecx, 1
je 0x593c65
cmp ecx, 2
je 0x593c4d
add eax, 1
movzx ecx, byte [eax]
lea ecx, [ecx - 9]
cmp cl, 0x17
ja 0x593c86
bt edx, ecx
jae 0x593c86
add eax, 1
movzx edi, byte [eax]
lea edx, [edi - 9]
cmp dl, 0x17
ja 0x593c86
mov ecx, 0x800013
bt ecx, edx
jae 0x593c86
lea ecx, [eax + 1]
cmp esi, ecx
mov eax, ecx
je 0x5948d6
movzx edi, byte [ecx]
sub edi, 9
mov edx, edi
cmp dl, 0x17
jbe 0x594397
lea esi, [esi]
mov dword [ebx], eax
cmp byte [eax], 0x2f
je 0x593b85
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 0x18]
test ecx, ecx
jne 0x59283a
movzx edx, byte [eax]
cmp dl, 0x2c
jne 0x594557
lea edx, [eax + 1]
mov dword [ebx], edx
movzx ecx, byte [eax + 1]
sub ecx, 9
cmp cl, 0x17
ja 0x593db6
mov edi, 0x800013
bt edi, ecx
jae 0x593db6
lea esi, [eax + 0x11]
lea edx, [eax + 2]
and esi, 0xfffffff0
cmp edx, esi
je 0x593ff7
movzx ecx, byte [eax + 2]
sub ecx, 9
cmp cl, 0x17
ja 0x593db6
bt edi, ecx
jae 0x593db6
mov edi, edx
mov ecx, 0x800013
sub edi, esi
not edi
and edi, 3
je 0x593d51
lea edx, [eax + 3]
movzx eax, byte [eax + 3]
sub eax, 9
cmp al, 0x17
ja 0x593db6
bt ecx, eax
jae 0x593db6
cmp edi, 1
je 0x593d51
cmp edi, 2
je 0x593d3f
add edx, 1
movzx eax, byte [edx]
sub eax, 9
cmp al, 0x17
ja 0x593db6
bt ecx, eax
jae 0x593db6
add edx, 1
movzx eax, byte [edx]
sub eax, 9
cmp al, 0x17
ja 0x593db6
bt ecx, eax
jae 0x593db6
mov dword [ebp - 0x38], ebx
jmp 0x593d99
bt ecx, edi
jae 0x593db3
add edx, 1
movzx edi, byte [edx]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x593db3
bt ecx, edi
jae 0x593db3
movzx edi, byte [eax + 2]
lea edx, [eax + 2]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x593db3
bt ecx, edi
jae 0x593db3
lea edx, [eax + 3]
movzx eax, byte [eax + 3]
sub eax, 9
cmp al, 0x17
ja 0x593db3
bt ecx, eax
jae 0x593db3
lea eax, [edx + 1]
cmp esi, eax
mov edx, eax
je 0x593ff4
movzx edi, byte [eax]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
jbe 0x593d56
mov ebx, dword [ebp - 0x38]
mov dword [ebx], edx
movzx eax, byte [edx]
cmp al, 0x2f
jne 0x593f2d
mov eax, 0x800013
lea esi, [edx + 1]
mov dword [ebx], esi
movzx ecx, byte [edx + 1]
cmp cl, 0x2a
jne 0x594f00
add edx, 2
mov esi, ebx
mov dword [ebx], edx
movzx ebx, byte [edx]
test bl, bl
je 0x594dfe
lea ecx, [edx + 1]
cmp bl, 0x2a
mov dword [esi], ecx
jne 0x594df7
cmp byte [edx + 1], 0x2f
jne 0x594df7
lea edi, [edx + 2]
mov ebx, esi
mov dword [esi], edi
movzx ecx, byte [edi]
mov edx, edi
sub ecx, 9
cmp cl, 0x17
ja 0x593f11
bt eax, ecx
jae 0x593f11
lea esi, [edi + 0x10]
add edx, 1
and esi, 0xfffffff0
cmp edx, esi
je 0x594a87
movzx ecx, byte [edi + 1]
sub ecx, 9
cmp cl, 0x17
ja 0x593f11
bt eax, ecx
jae 0x593f11
mov edi, edx
sub edi, esi
not edi
and edi, 3
mov dword [ebp - 0x38], edi
je 0x593ead
add edx, 1
movzx edi, byte [edx]
sub edi, 9
mov ecx, edi
cmp cl, 0x17
ja 0x593f11
bt eax, edi
jae 0x593f11
mov edi, dword [ebp - 0x38]
cmp edi, 1
je 0x593ead
cmp edi, 2
je 0x593e9a
add edx, 1
movzx ecx, byte [edx]
lea ecx, [ecx - 9]
cmp cl, 0x17
ja 0x593f11
bt eax, ecx
jae 0x593f11
add edx, 1
movzx edi, byte [edx]
lea ecx, [edi - 9]
cmp cl, 0x17
ja 0x593f11
bt eax, ecx
jae 0x593f11
mov dword [ebp - 0x38], ebx
lea ecx, [edx + 1]
cmp esi, ecx
mov edx, ecx
je 0x594a84
movzx edi, byte [ecx]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x593f0e
bt eax, edi
jae 0x593f0e
add edx, 1
movzx edi, byte [edx]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x593f0e
bt eax, edi
jae 0x593f0e
movzx edi, byte [ecx + 2]
lea edx, [ecx + 2]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x593f0e
bt eax, edi
jae 0x593f0e
lea edx, [ecx + 3]
movzx ecx, byte [ecx + 3]
sub ecx, 9
cmp cl, 0x17
ja 0x593f0e
bt eax, ecx
jb 0x593eb0
mov ebx, dword [ebp - 0x38]
mov dword [ebx], edx
cmp byte [edx], 0x2f
je 0x593dc8
mov ecx, dword [ebp - 0x20]
mov esi, dword [ecx + 0x18]
test esi, esi
jne 0x59283a
movzx eax, byte [edx]
cmp al, 0x5d
jne 0x5939fa
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xb8]
mov esi, dword [ecx + 0x24]
mov edi, edx
shl edi, 4
mov dword [ebp - 0x1c], esi
sub esi, edi
test edx, edx
mov dword [ecx + 0x24], esi
mov ecx, dword [ecx + 0x10]
mov word [esi - 2], 4
jne 0x594ed1
mov dword [esi - 8], 0
mov eax, dword [ebp - 0xb8]
mov dword [esi - 0xc], eax
mov dword [esi - 0x10], eax
add dword [ebx], 1
jmp 0x59283a
mov ebx, dword [ebp - 0x38]
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmm1
movdqa xmm2, xmm1
pcmpeqb xmm0, xmm5
pcmpeqb xmm2, xmm6
por xmm2, xmm0
movdqa xmm0, xmm1
pcmpeqb xmm0, xmm4
jmp 0x593fc9
add eax, 0x10
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmm6
movdqa xmm2, xmm5
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm0, xmm2
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm4
por xmm0, xmm2
pcmpeqb xmm1, xmm3
por xmm0, xmm1
pmovmskb ecx, xmm0
xor cx, 0xffff
je 0x593fa6
movzx edi, cx
mov edx, 0xffffffff
bsf esi, edi
cmove esi, edx
add eax, esi
jmp 0x593b77
mov ebx, dword [ebp - 0x38]
movdqa xmm1, xmmword [edx]
movdqa xmm0, xmm1
pcmpeqb xmm0, xmm7
jmp 0x594015
add edx, 0x10
movdqa xmm1, xmmword [edx]
movdqa xmm0, xmm7
pcmpeqb xmm0, xmm1
movdqa xmm2, xmmword [ebp - 0x48]
pcmpeqb xmm2, xmm1
por xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x58]
pcmpeqb xmm0, xmm1
pcmpeqb xmm1, xmmword [ebp - 0x68]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
je 0x594006
movzx ecx, si
mov eax, 0xffffffff
bsf edi, ecx
cmove edi, eax
add edx, edi
jmp 0x593db6
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x59450f
sub edi, eax
lea esi, [edi + 1]
shr esi, 1
add edi, esi
mov esi, edx
sub esi, eax
lea ebx, [esi + 0x10]
cmp ebx, edi
cmovb ebx, edi
test ebx, ebx
je 0x59441a
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00587f86
mov edi, dword [ebp - 0x1c]
lea edx, [eax + esi]
mov dword [edi + 0x20], eax
add eax, ebx
mov dword [edi + 0x28], eax
lea eax, [edx + 0x10]
jmp 0x59288e
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x594528
sub edi, eax
lea esi, [edi + 1]
shr esi, 1
add edi, esi
mov esi, edx
sub esi, eax
lea ebx, [esi + 0x10]
cmp ebx, edi
cmovb ebx, edi
test ebx, ebx
je 0x59440b
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00587f86
mov ecx, dword [ebp - 0x1c]
lea edx, [eax + esi]
mov dword [ecx + 0x20], eax
add eax, ebx
mov dword [ecx + 0x28], eax
lea eax, [edx + 0x10]
jmp 0x59280c
mov eax, dword [edi + 0x20]
test eax, eax
je 0x594541
sub ecx, eax
lea esi, [ecx + 1]
shr esi, 1
add ecx, esi
mov esi, edx
sub esi, eax
lea ebx, [esi + 0x10]
cmp ebx, ecx
cmovb ebx, ecx
test ebx, ebx
je 0x5944ea
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00587f86
mov ecx, dword [ebp - 0x1c]
lea edx, [eax + esi]
mov dword [ecx + 0x20], eax
add eax, ebx
mov dword [ecx + 0x28], eax
lea eax, [edx + 0x10]
jmp 0x592c7b
mov ebx, dword [ebp - 0x38]
movdqa xmm4, xmmword [eax]
movdqa xmm5, xmm4
movdqa xmm3, xmm4
movdqa xmm2, xmm4
pcmpeqb xmm5, xmmword [0x4cd350]
pcmpeqb xmm3, xmmword [0x4cd340]
pcmpeqb xmm2, xmmword [0x4cd360]
por xmm5, xmm3
pcmpeqb xmm4, xmmword [0x4cd370]
por xmm5, xmm2
por xmm5, xmm4
pmovmskb esi, xmm5
xor si, 0xffff
jne 0x5941cf
add eax, 0x10
movdqa xmm6, xmmword [eax]
movdqa xmm0, xmm6
movdqa xmm1, xmm6
movdqa xmm7, xmm6
pcmpeqb xmm0, xmmword [0x4cd340]
pcmpeqb xmm1, xmmword [0x4cd350]
pcmpeqb xmm7, xmmword [0x4cd360]
por xmm1, xmm0
pcmpeqb xmm6, xmmword [0x4cd370]
por xmm1, xmm7
por xmm6, xmm1
pmovmskb esi, xmm6
xor si, 0xffff
je 0x594186
movzx edi, si
mov esi, 0xffffffff
bsf ecx, edi
cmove ecx, esi
add eax, ecx
jmp 0x592bc7
mov ebx, dword [ebp - 0x38]
movdqa xmm5, xmmword [eax]
movdqa xmm4, xmm5
movdqa xmm3, xmm5
movdqa xmm2, xmm5
pcmpeqb xmm4, xmmword [0x4cd340]
pcmpeqb xmm3, xmmword [0x4cd350]
pcmpeqb xmm2, xmmword [0x4cd360]
por xmm4, xmm3
pcmpeqb xmm5, xmmword [0x4cd370]
por xmm4, xmm2
por xmm4, xmm5
pmovmskb esi, xmm4
xor si, 0xffff
jne 0x59427f
mov esi, esi
lea edi, [edi]
add eax, 0x10
movdqa xmm0, xmmword [eax]
movdqa xmm6, xmm0
movdqa xmm7, xmm0
movdqa xmm1, xmm0
pcmpeqb xmm6, xmmword [0x4cd340]
pcmpeqb xmm7, xmmword [0x4cd350]
pcmpeqb xmm1, xmmword [0x4cd360]
por xmm7, xmm6
pcmpeqb xmm0, xmmword [0x4cd370]
por xmm7, xmm1
por xmm0, xmm7
pmovmskb esi, xmm0
xor si, 0xffff
je 0x594236
movzx edi, si
mov esi, 0xffffffff
bsf ecx, edi
cmove ecx, esi
add eax, ecx
jmp 0x592767
movdqa xmm1, xmmword [edi]
movdqa xmm0, xmm5
movdqa xmm2, xmm6
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
jmp 0x5942c1
add edi, 0x10
movdqa xmm1, xmmword [edi]
movdqa xmm0, xmm1
movdqa xmm2, xmm1
pcmpeqb xmm0, xmm6
pcmpeqb xmm2, xmm5
por xmm0, xmm2
movdqa xmm2, xmm4
pcmpeqb xmm2, xmm1
pcmpeqb xmm1, xmm3
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
je 0x5942aa
movzx ecx, si
mov edx, 0xffffffff
bsf eax, ecx
cmove eax, edx
add edi, eax
jmp 0x59318a
mov dword [esp], eax
call fcn.0058800e
xor eax, eax
jmp 0x592f2a
mov dword [esp], eax
call fcn.0058800e
xor eax, eax
jmp 0x592f7a
mov ebx, dword [ebp - 0x98]
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmm7
movdqa xmm2, xmmword [ebp - 0x38]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm0, xmm2
movdqa xmm2, xmmword [ebp - 0x48]
pcmpeqb xmm2, xmm1
jmp 0x59436b
add eax, 0x10
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmm7
movdqa xmm2, xmmword [ebp - 0x38]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x48]
pcmpeqb xmm0, xmm1
por xmm0, xmm2
pcmpeqb xmm1, xmmword [ebp - 0x58]
por xmm0, xmm1
pmovmskb ecx, xmm0
xor cx, 0xffff
je 0x594346
movzx edi, cx
mov edx, 0xffffffff
bsf esi, edi
cmove esi, edx
add eax, esi
jmp 0x5933c3
mov edx, 0x800013
bt edx, edi
jae 0x593c86
add eax, 1
movzx edi, byte [eax]
sub edi, 9
mov edx, edi
cmp dl, 0x17
ja 0x593c86
mov edx, 0x800013
bt edx, edi
jae 0x593c86
movzx edi, byte [ecx + 2]
lea eax, [ecx + 2]
sub edi, 9
mov edx, edi
cmp dl, 0x17
ja 0x593c86
mov edx, 0x800013
bt edx, edi
jae 0x593c86
lea eax, [ecx + 3]
movzx ecx, byte [ecx + 3]
sub ecx, 9
cmp cl, 0x17
ja 0x593c86
bt edx, ecx
jb 0x593c65
jmp 0x593c86
mov dword [esp], eax
call fcn.0058800e
xor eax, eax
jmp 0x5940dd
mov dword [esp], eax
call fcn.0058800e
xor eax, eax
jmp 0x59408b
movdqa xmm1, xmmword [edi]
movdqa xmm0, xmmword [ebp - 0x68]
movdqa xmm2, xmmword [ebp - 0x128]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm0, xmm2
movdqa xmm2, xmmword [ebp - 0x78]
pcmpeqb xmm2, xmm1
pcmpeqb xmm1, xmmword [ebp - 0x88]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
jne 0x5944bf
movaps xmmword [ebp - 0x98], xmm7
movdqa xmm7, xmmword [ebp - 0x128]
add edi, 0x10
movdqa xmm0, xmm7
movdqa xmm1, xmmword [edi]
movdqa xmm2, xmmword [ebp - 0x68]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x78]
pcmpeqb xmm0, xmm1
pcmpeqb xmm1, xmmword [ebp - 0x88]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
je 0x594478
movdqa xmm7, xmmword [ebp - 0x98]
movzx ecx, si
mov edx, 0xffffffff
bsf eax, ecx
cmove eax, edx
add edi, eax
jmp 0x5935f6
mov edi, dword [edi + 0x18]
test edi, edi
je 0x594c3f
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x2c]
jmp 0x592f0a
mov dword [esp], eax
call fcn.0058800e
xor eax, eax
jmp 0x594127
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x594c1f
mov esi, dword [ebp - 0x1c]
mov ecx, dword [esi + 0x2c]
jmp 0x592f5a
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebx + 0x18]
test edi, edi
je 0x594d5d
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ecx + 0x2c]
jmp 0x59406b
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x594d1b
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebx + 0x2c]
jmp 0x5940bd
mov edi, dword [ebp - 0x1c]
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x594d3b
mov ecx, dword [edi + 0x2c]
jmp 0x594107
cmp dl, 0x5d
jne 0x594ebc
mov ecx, dword [ebp - 0x1c]
add eax, 1
mov edi, 4
mov dword [ebx], eax
mov eax, dword [ebp - 0xb8]
mov ebx, dword [ecx + 0x24]
mov esi, eax
shl esi, 4
mov dword [ebp - 0x1c], ebx
sub ebx, esi
test eax, eax
mov dword [ecx + 0x24], ebx
mov ecx, dword [ecx + 0x10]
mov word [ebx - 2], di
je 0x59372d
mov dword [esp], esi
call fcn.00599bb6
push ecx
mov dword [ebx - 8], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00587fb6
mov eax, dword [ebp - 0xb8]
jmp 0x593734
mov eax, esi
jmp 0x59262d
mov eax, esi
jmp 0x592a8d
sub edi, dword [ebx + 8]
mov ebx, dword [ebp - 0x20]
mov dword [ebx + 0x18], 6
mov dword [ebx + 0x1c], edi
jmp 0x59283a
lea eax, [edi + 1]
mov dword [ebx], eax
movzx ecx, byte [edi + 1]
lea edx, [ecx - 9]
cmp dl, 0x17
ja 0x594700
mov ecx, 0x800013
bt ecx, edx
jae 0x594700
lea esi, [edi + 0x11]
lea eax, [edi + 2]
and esi, 0xfffffff0
cmp eax, esi
mov dword [ebp - 0x98], esi
je 0x594b53
movzx edx, byte [edi + 2]
sub edx, 9
cmp dl, 0x17
ja 0x594700
bt ecx, edx
jae 0x594700
mov edx, eax
sub edx, esi
not edx
mov esi, edx
and esi, 3
je 0x594690
movzx edx, byte [edi + 3]
lea eax, [edi + 3]
sub edx, 9
cmp dl, 0x17
ja 0x594700
bt ecx, edx
jae 0x594700
cmp esi, 1
je 0x594690
cmp esi, 2
je 0x59467d
add eax, 1
movzx edi, byte [eax]
lea edx, [edi - 9]
cmp dl, 0x17
ja 0x594700
bt ecx, edx
jae 0x594700
add eax, 1
movzx esi, byte [eax]
lea edx, [esi - 9]
cmp dl, 0x17
ja 0x594700
bt ecx, edx
jae 0x594700
mov esi, dword [ebp - 0x98]
mov dword [ebp - 0x98], ebx
lea edx, [eax + 1]
cmp esi, edx
mov eax, edx
je 0x594b4d
movzx edi, byte [edx]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x5946fa
bt ecx, edi
jae 0x5946fa
add eax, 1
movzx edi, byte [eax]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x5946fa
bt ecx, edi
jae 0x5946fa
movzx edi, byte [edx + 2]
lea eax, [edx + 2]
sub edi, 9
mov ebx, edi
cmp bl, 0x17
ja 0x5946fa
bt ecx, edi
jae 0x5946fa
lea eax, [edx + 3]
movzx edx, byte [edx + 3]
sub edx, 9
cmp dl, 0x17
ja 0x5946fa
bt ecx, edx
jb 0x59469c
mov ebx, dword [ebp - 0x98]
mov dword [ebx], eax
cmp byte [eax], 0x2f
jne 0x594822
mov edi, 0x800013
lea esi, [eax + 1]
mov dword [ebx], esi
movzx ecx, byte [eax + 1]
cmp cl, 0x2a
jne 0x5950b6
add eax, 2
mov dword [ebx], eax
mov eax, dword [ebx]
movzx ecx, byte [eax]
test cl, cl
je 0x59509f
lea esi, [eax + 1]
cmp cl, 0x2a
mov dword [ebx], esi
jne 0x594727
cmp byte [eax + 1], 0x2f
jne 0x594727
add eax, 2
mov dword [ebx], eax
mov eax, dword [ebx]
movzx edx, byte [eax]
lea ecx, [edx - 9]
cmp cl, 0x17
ja 0x594809
bt edi, ecx
jae 0x594809
lea ecx, [eax + 0x10]
lea esi, [eax + 1]
and ecx, 0xfffffff0
cmp esi, ecx
je 0x595098
movzx edx, byte [eax + 1]
mov eax, esi
sub edx, 9
cmp dl, 0x17
ja 0x594809
bt edi, edx
jae 0x594809
sub esi, ecx
not esi
and esi, 3
mov dword [ebp - 0x98], esi
je 0x5947e5
add eax, 1
movzx esi, byte [eax]
sub esi, 9
mov edx, esi
cmp dl, 0x17
ja 0x594809
bt edi, esi
jae 0x594809
mov esi, dword [ebp - 0x98]
cmp esi, 1
je 0x5947e5
cmp esi, 2
je 0x5947d2
add eax, 1
movzx edx, byte [eax]
lea edx, [edx - 9]
cmp dl, 0x17
ja 0x594809
bt edi, edx
jae 0x594809
add eax, 1
movzx esi, byte [eax]
lea edx, [esi - 9]
cmp dl, 0x17
ja 0x594809
bt edi, edx
jae 0x594809
mov dword [ebp - 0x98], ecx
lea edx, [eax + 1]
cmp dword [ebp - 0x98], edx
mov eax, edx
je 0x594876
movzx ecx, byte [edx]
lea esi, [ecx - 9]
mov ecx, esi
cmp cl, 0x17
jbe 0x594e57
mov dword [ebx], eax
cmp byte [eax], 0x2f
je 0x594710
mov edx, dword [ebp - 0x20]
mov esi, dword [edx + 0x18]
test esi, esi
jne 0x59283a
movzx ecx, byte [eax]
cmp cl, 0x7d
jne 0x593076
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa8]
mov esi, dword [edx + 0x24]
mov edi, eax
mov ecx, dword [edx + 0x10]
shl edi, 5
mov dword [ebp - 0x1c], esi
sub esi, edi
test eax, eax
mov dword [edx + 0x24], esi
mov word [esi - 2], 3
jne 0x595077
mov dword [esi - 8], 0
mov ecx, dword [ebp - 0xa8]
mov dword [esi - 0xc], ecx
mov dword [esi - 0x10], ecx
add dword [ebx], 1
jmp 0x59283a
add eax, 0x10
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmm1
movdqa xmm2, xmm1
pcmpeqb xmm0, xmmword [0x4cd340]
pcmpeqb xmm2, xmmword [0x4cd350]
por xmm0, xmm2
movdqa xmm2, xmm1
pcmpeqb xmm1, xmmword [0x4cd370]
pcmpeqb xmm2, xmmword [0x4cd360]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
je 0x594873
movzx ecx, si
mov esi, 0xffffffff
bsf edx, ecx
cmove edx, esi
add eax, edx
jmp 0x594809
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmmword [ebp - 0xc8]
movdqa xmm2, xmmword [ebp - 0x128]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm0, xmm2
movdqa xmm2, xmmword [ebp - 0xd8]
pcmpeqb xmm2, xmm1
pcmpeqb xmm1, xmmword [ebp - 0xe8]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
jne 0x594972
movaps xmmword [ebp - 0x38], xmm7
movdqa xmm7, xmmword [ebp - 0x128]
add eax, 0x10
movdqa xmm0, xmm7
movdqa xmm1, xmmword [eax]
movdqa xmm2, xmmword [ebp - 0xc8]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0xd8]
pcmpeqb xmm0, xmm1
pcmpeqb xmm1, xmmword [ebp - 0xe8]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
je 0x594928
movdqa xmm7, xmmword [ebp - 0x38]
movzx edi, si
mov ecx, 0xffffffff
bsf edx, edi
cmove edx, ecx
add eax, edx
jmp 0x593c86
mov edi, esi
mov dword [ebp - 0x98], ebx
jmp 0x5933a3
sub eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x18], 0x11
mov dword [ecx + 0x1c], eax
jmp 0x59283a
sub eax, dword [ebx + 8]
mov esi, dword [ebp - 0x20]
mov dword [esi + 0x18], 0x11
mov dword [esi + 0x1c], eax
jmp 0x59283a
cmp cl, 0x2f
jne 0x594f29
add eax, 2
mov dword [ebx], eax
cmp byte [eax], 0
je 0x592bc7
add eax, 1
mov dword [ebx], eax
cmp byte [eax - 1], 0xa
jne 0x5949d4
mov edi, eax
jmp 0x592ab5
cmp cl, 0x2f
jne 0x594f29
add eax, 2
mov dword [ebx], eax
cmp byte [eax], 0
je 0x592767
add eax, 1
mov dword [ebx], eax
cmp byte [eax - 1], 0xa
jne 0x594a04
mov edi, eax
jmp 0x592655
bt edi, esi
jae 0x5934da
add eax, 1
movzx ecx, byte [eax]
lea esi, [ecx - 9]
mov ecx, esi
cmp cl, 0x17
ja 0x5934da
bt edi, esi
jae 0x5934da
movzx ecx, byte [edx + 2]
lea eax, [edx + 2]
lea esi, [ecx - 9]
mov ecx, esi
cmp cl, 0x17
ja 0x5934da
bt edi, esi
jae 0x5934da
lea eax, [edx + 3]
movzx edx, byte [edx + 3]
sub edx, 9
cmp dl, 0x17
ja 0x5934da
bt edi, edx
jb 0x5934b8
jmp 0x5934da
mov ebx, dword [ebp - 0x38]
movdqa xmm1, xmmword [edx]
movdqa xmm0, xmmword [ebp - 0x138]
movdqa xmm2, xmmword [ebp - 0xf8]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm0, xmm2
movdqa xmm2, xmmword [ebp - 0x108]
pcmpeqb xmm2, xmm1
pcmpeqb xmm1, xmmword [ebp - 0x118]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
jne 0x594b23
movaps xmmword [ebp - 0x38], xmm7
movdqa xmm7, xmmword [ebp - 0x138]
add edx, 0x10
movdqa xmm0, xmm7
movdqa xmm1, xmmword [edx]
movdqa xmm2, xmmword [ebp - 0xf8]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x108]
pcmpeqb xmm0, xmm1
pcmpeqb xmm1, xmmword [ebp - 0x118]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb esi, xmm0
xor si, 0xffff
je 0x594ad9
movdqa xmm7, xmmword [ebp - 0x38]
movzx edi, si
mov esi, 0xffffffff
bsf ecx, edi
cmove ecx, esi
add edx, ecx
jmp 0x593f11
sub eax, dword [ebx + 8]
mov ebx, dword [ebp - 0x20]
mov dword [ebx + 0x18], 4
mov dword [ebx + 0x1c], eax
jmp 0x59283a
mov ebx, dword [ebp - 0x98]
movdqa xmm1, xmmword [eax]
movdqa xmm0, xmmword [ebp - 0xf8]
movdqa xmm2, xmmword [ebp - 0x1f8]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm0, xmm2
movdqa xmm2, xmmword [ebp - 0x108]
pcmpeqb xmm2, xmm1
pcmpeqb xmm1, xmmword [ebp - 0x118]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb ecx, xmm0
xor cx, 0xffff
jne 0x594bf5
movaps xmmword [ebp - 0x98], xmm7
movdqa xmm7, xmmword [ebp - 0x1f8]
add eax, 0x10
movdqa xmm1, xmmword [eax]
movdqa xmm2, xmmword [ebp - 0xf8]
movdqa xmm0, xmm1
pcmpeqb xmm2, xmm1
pcmpeqb xmm0, xmm7
por xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x108]
pcmpeqb xmm0, xmm1
pcmpeqb xmm1, xmmword [ebp - 0x118]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb ecx, xmm0
xor cx, 0xffff
je 0x594ba8
movdqa xmm7, xmmword [ebp - 0x98]
movzx esi, cx
mov edx, 0xffffffff
bsf edi, esi
cmove edi, edx
add eax, edi
jmp 0x594700
sub edi, dword [ebx + 8]
mov ebx, dword [ebp - 0x20]
mov dword [ebx + 0x18], 5
mov dword [ebx + 0x1c], edi
jmp 0x59283a
mov dword [esp], 1
call fcn.005acba6
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
jmp 0x594504
mov dword [esp], 1
call fcn.005acba6
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
jmp 0x5944df
mov eax, edi
jmp 0x593b9c
mov dword [esp], esi
call fcn.00599bb6
push ecx
mov dword [ebx - 8], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00587fb6
mov eax, dword [ebp - 0xa8]
jmp 0x593734
mov edi, ecx
movdqa xmm1, xmmword [edi]
movdqa xmm0, xmmword [ebp - 0x148]
movdqa xmm2, xmmword [ebp - 0x138]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm0, xmm2
movdqa xmm2, xmmword [ebp - 0x158]
pcmpeqb xmm2, xmm1
jmp 0x594cec
add edi, 0x10
movdqa xmm1, xmmword [edi]
movdqa xmm0, xmmword [ebp - 0x138]
movdqa xmm2, xmmword [ebp - 0x148]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x158]
pcmpeqb xmm0, xmm1
por xmm0, xmm2
pcmpeqb xmm1, xmmword [ebp - 0x168]
por xmm0, xmm1
pmovmskb edx, xmm0
xor dx, 0xffff
je 0x594cbd
movzx ecx, dx
mov edx, 0xffffffff
bsf eax, ecx
cmove eax, edx
add edi, eax
jmp 0x593263
mov dword [esp], 1
call fcn.005acba6
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
jmp 0x594536
mov dword [esp], 1
call fcn.005acba6
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], eax
mov edi, ecx
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
jmp 0x59454f
mov dword [esp], 1
call fcn.005acba6
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
jmp 0x59451d
mov edi, ecx
movdqa xmm1, xmmword [edi]
movdqa xmm0, xmmword [ebp - 0x1c8]
movdqa xmm2, xmmword [ebp - 0x1b8]
pcmpeqb xmm0, xmm1
jmp 0x594db4
add edi, 0x10
movdqa xmm1, xmmword [edi]
movdqa xmm0, xmmword [ebp - 0x1b8]
movdqa xmm2, xmmword [ebp - 0x1c8]
pcmpeqb xmm0, xmm1
pcmpeqb xmm2, xmm1
por xmm0, xmm2
movdqa xmm2, xmmword [ebp - 0x1d8]
pcmpeqb xmm2, xmm1
pcmpeqb xmm1, xmmword [ebp - 0x1e8]
por xmm0, xmm2
por xmm0, xmm1
pmovmskb edx, xmm0
xor dx, 0xffff
je 0x594d99
movzx ecx, dx
mov edx, 0xffffffff
bsf eax, ecx
cmove eax, edx
add edi, eax
jmp 0x5936c6
mov edx, ecx
jmp 0x593de1
mov eax, edx
sub eax, dword [esi + 8]
mov edi, dword [ebp - 0x20]
mov ebx, esi
mov dword [edi + 0x18], 0x11
mov dword [edi + 0x1c], eax
jmp 0x593f1c
mov esi, eax
sub esi, dword [ebx + 8]
mov edi, dword [ebp - 0x20]
mov dword [edi + 0x18], 0x11
mov dword [edi + 0x1c], esi
jmp 0x593c91
cmp cl, 0x2f
jne 0x59505e
add eax, 2
mov dword [ebx], eax
cmp byte [eax], 0
je 0x593c86
add eax, 1
mov dword [ebx], eax
cmp byte [eax - 1], 0xa
jne 0x594e3c
mov ecx, eax
jmp 0x593bc4
bt edi, esi
jae 0x594809
add eax, 1
movzx ecx, byte [eax]
lea esi, [ecx - 9]
mov ecx, esi
cmp cl, 0x17
ja 0x594809
bt edi, esi
jae 0x594809
movzx ecx, byte [edx + 2]
lea eax, [edx + 2]
lea esi, [ecx - 9]
mov ecx, esi
cmp cl, 0x17
ja 0x594809
bt edi, esi
jae 0x594809
lea eax, [edx + 3]
movzx edx, byte [edx + 3]
sub edx, 9
cmp dl, 0x17
ja 0x594809
bt edi, edx
jb 0x5947eb
jmp 0x594809
sub eax, dword [ebx + 8]
mov ebx, dword [ebp - 0x20]
mov dword [ebx + 0x18], 7
mov dword [ebx + 0x1c], eax
jmp 0x59283a
mov dword [esp], edi
call fcn.00599bb6
push edx
mov dword [esi - 8], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00587fb6
jmp 0x593f66
mov eax, esi
jmp 0x5933ea
mov edi, eax
jmp 0x5931b3
cmp cl, 0x2f
jne 0x595045
add edx, 2
mov dword [ebx], edx
cmp byte [edx], 0
je 0x593f11
add edx, 1
mov dword [ebx], edx
cmp byte [edx - 1], 0xa
jne 0x594f0e
mov edi, edx
jmp 0x593e0b
sub esi, dword [ebx + 8]
mov ebx, dword [ebp - 0x20]
mov dword [ebx + 0x18], 0x11
mov dword [ebx + 0x1c], esi
jmp 0x59283a
cmp al, 0x2f
jne 0x595017
add edi, 2
mov dword [ebx], edi
jmp 0x594f5b
lea edx, [edi + 1]
mov dword [ebx], edx
cmp byte [edi], 0xa
je 0x5931db
mov edi, dword [ebx]
cmp byte [edi], 0
jne 0x594f4d
jmp 0x593263
sub eax, dword [ebx + 8]
mov edi, dword [ebp - 0x20]
mov dword [edi + 0x18], 0x11
mov dword [edi + 0x1c], eax
jmp 0x5934e5
cmp cl, 0x2f
jne 0x595030
add eax, 2
mov dword [ebx], eax
jmp 0x594f9a
lea edx, [eax + 1]
mov dword [ebx], edx
cmp byte [eax], 0xa
je 0x593412
mov eax, dword [ebx]
cmp byte [eax], 0
jne 0x594f8c
jmp 0x5934da
mov esi, edi
sub esi, dword [ebx + 8]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x18], 0x11
mov dword [ecx + 0x1c], esi
jmp 0x5936d1
cmp al, 0x2f
jne 0x594ffe
add edi, 2
mov dword [ebx], edi
mov edi, dword [ebx]
cmp byte [edi], 0
je 0x5936c6
lea edx, [edi + 1]
mov dword [ebx], edx
cmp byte [edi], 0xa
jne 0x594fc6
jmp 0x59363e
mov eax, esi
jmp 0x59383b
mov esi, edi
sub esi, dword [ebx + 8]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x18], 0x11
mov dword [ecx + 0x1c], esi
jmp 0x59326e
mov esi, ecx
sub esi, dword [ebx + 8]
mov edi, dword [ebp - 0x20]
mov dword [edi + 0x18], 0x11
mov dword [edi + 0x1c], esi
mov edi, ecx
jmp 0x5936d1
mov esi, ecx
sub esi, dword [ebx + 8]
mov edi, dword [ebp - 0x20]
mov dword [edi + 0x18], 0x11
mov dword [edi + 0x1c], esi
mov edi, ecx
jmp 0x59326e
sub esi, dword [ebx + 8]
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x18], 0x11
mov dword [eax + 0x1c], esi
jmp 0x5934e5
mov eax, esi
sub eax, dword [ebx + 8]
mov edi, dword [ebp - 0x20]
mov edx, esi
mov dword [edi + 0x18], 0x11
mov dword [edi + 0x1c], eax
jmp 0x593f1c
mov eax, edi
sub eax, dword [ebx + 8]
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x18], 0x11
mov dword [edx + 0x1c], eax
mov eax, edi
jmp 0x593c91
mov dword [esp], edi
call fcn.00599bb6
push edx
mov dword [esi - 8], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00587fb6
jmp 0x59485f
mov eax, esi
jmp 0x594876
mov edi, eax
sub edi, dword [ebx + 8]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x18], 0x11
mov dword [ecx + 0x1c], edi
jmp 0x594814
cmp cl, 0x2f
jne 0x5950dc
add eax, 2
mov dword [ebx], eax
jmp 0x5950d0
lea edx, [eax + 1]
mov dword [ebx], edx
cmp byte [eax], 0xa
je 0x594749
mov eax, dword [ebx]
cmp byte [eax], 0
jne 0x5950c2
jmp 0x594809
mov eax, esi
sub eax, dword [ebx + 8]
mov edi, dword [ebp - 0x20]
mov dword [edi + 0x18], 0x11
mov dword [edi + 0x1c], eax
mov eax, esi
jmp 0x594814