Function at 0x444c29
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
and dword [0x698890], 0
and dword [0x6987e0], 0
push ebx
mov dword [ebp - 4], 0x59737c
mov ebx, dword [ebp - 4]
push esi
push edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x444c92
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x444c89
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444c6e
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
and dword [0x698830], 0
mov dword [ebp - 4], 0x5973a0
mov ebx, dword [ebp - 4]
mov dword [0x6987ac], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x444cf3
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x444cea
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444ccf
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
and dword [0x69882c], 0
and dword [0x69887c], 0
and dword [0x698884], 0
mov dword [ebp - 4], 0x5973e8
mov ebx, dword [ebp - 4]
mov dword [0x6987b0], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x69889c], 0xea60
cmp byte [ebx + 0x13], 0
mov dword [0x698898], 0x927c0
je 0x444d76
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x444d6d
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444d52
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x597408
mov ebx, dword [ebp - 4]
mov dword [0x698798], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x444dd0
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x444dc7
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444dac
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x597424
mov ebx, dword [ebp - 4]
mov dword [0x69879c], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x444e2a
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x444e21
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444e06
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
and dword [0x69883c], 0
and dword [0x6987dc], 0
mov dword [ebp - 4], 0x597440
mov ebx, dword [ebp - 4]
mov dword [0x6987a0], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x69888c], 0x2710
cmp byte [ebx + 0x13], 0
mov dword [0x6988d4], 0x21f
je 0x444ea6
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x444e9d
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444e82
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x59746c
mov ebx, dword [ebp - 4]
mov dword [0x698760], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x444f00
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x444ef7
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444edc
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x59746c
mov ebx, dword [ebp - 4]
mov dword [0x698790], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x444f5a
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x444f51
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444f36
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x597488
mov ebx, dword [ebp - 4]
mov dword [0x698788], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x444fb4
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x444fab
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444f90
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
and dword [0x698828], 0
mov dword [ebp - 4], 0x5974ac
mov ebx, dword [ebp - 4]
mov dword [0x698794], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x6988d8], 0x21b
cmp byte [ebx + 0x13], 0
je 0x44501f
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x445016
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x444ffb
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x5974d0
mov ebx, dword [ebp - 4]
mov dword [0x698784], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x445079
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x445070
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x445055
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x5974f0
mov ebx, dword [ebp - 4]
mov dword [0x6987a8], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x4450d3
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x4450ca
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x4450af
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
and dword [0x698844], 0
and dword [0x698800], 0
mov dword [ebp - 4], 0x59750c
mov ebx, dword [ebp - 4]
mov dword [0x69878c], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x6988e8], 0x43faab90
cmp byte [ebx + 0x13], 0
je 0x445145
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x44513c
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x445121
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
and dword [0x69884c], 0
and dword [0x698808], 0
mov dword [ebp - 4], 0x597530
mov ebx, dword [ebp - 4]
mov dword [0x698764], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x6988ec], 0x5b9c9abf
cmp byte [ebx + 0x13], 0
je 0x4451b7
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x4451ae
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x445193
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x59754c
mov ebx, dword [ebp - 4]
mov dword [0x69877c], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x445211
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x445208
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x4451ed
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x593558
mov ebx, dword [ebp - 4]
mov dword [0x698770], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x44526b
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x445262
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x445247
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x5974d0
mov ebx, dword [ebp - 4]
mov dword [0x698774], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x4452c5
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x4452bc
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x4452a1
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
and dword [0x698850], 0
and dword [0x698804], 0
mov dword [ebp - 4], 0x59756c
mov ebx, dword [ebp - 4]
mov dword [0x698778], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x6988f0], 0x70ab5cfb
cmp byte [ebx + 0x13], 0
je 0x445337
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x44532e
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x445313
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x597590
mov ebx, dword [ebp - 4]
mov dword [0x69876c], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x445391
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x445388
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x44536d
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
xor edx, edx
mov dword [ebp - 4], 0x5975f4
mov ebx, dword [ebp - 4]
mov ecx, 0x218
xor eax, eax
mov dword [0x698768], edi
mov edi, dword [ebp - 4]
inc eax
mov dword [0x698820], eax
add edi, 0x14
mov dword [0x6987e8], eax
mov dword [0x698878], eax
mov dword [0x698838], eax
lea eax, [ecx + 0x14]
mov dword [0x698854], edx
mov dword [0x698858], edx
mov dword [0x69885c], edx
mov dword [0x698848], edx
mov dword [0x6987cc], edx
mov dword [0x698880], edx
mov dword [0x698894], ecx
mov dword [0x698824], edx
mov dword [0x6988a0], 0x223
mov dword [0x698860], edx
mov dword [0x6988a4], ecx
mov dword [0x6987e4], edx
mov dword [0x6988a8], 0x21a
mov dword [0x6988b8], eax
mov dword [0x698868], edx
mov dword [0x6988c4], 0x20e
mov dword [0x698870], edx
mov dword [0x6988cc], 0x222
mov dword [0x698864], edx
mov dword [0x6988c0], ecx
mov dword [0x69886c], edx
mov dword [0x6988c8], 0x221
mov dword [0x698834], edx
mov dword [0x6988bc], 0x1f4
mov dword [0x698874], edx
mov dword [0x6988b4], 0x22f
mov dword [0x698814], edx
mov dword [0x6988ac], eax
mov dword [0x6987ec], edx
mov dword [0x6988b0], 0x9c4
mov dword [0x6987d8], edx
mov dword [0x698840], edx
mov dword [0x6988d0], 0x2df
mov dword [0x698888], edx
mov dword [0x6987d4], edx
cmp byte [ebx + 0x13], dl
je 0x4454ff
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x4454f6
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x4454db
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x59761c
mov ebx, dword [ebp - 4]
mov dword [0x6987bc], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x445559
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x445550
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x445535
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [ebp - 4], 0x597638
mov ebx, dword [ebp - 4]
mov dword [0x6987c0], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x4455b3
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x4455aa
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x44558f
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
movdqa xmm0, xmmword [0x5977d0]
xor eax, eax
mov dword [ebp - 4], 0x59765c
mov ebx, dword [ebp - 4]
mov dword [0x6987c4], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x6987f0], 1
mov dword [0x698810], eax
mov dword [0x6988dc], 0xc0f938ae
mov dword [0x6987fc], eax
mov dword [0x6988e4], 0xfd997fbd
mov dword [0x6987f8], eax
mov dword [0x6988e0], 0xd77eb164
mov dword [0x69880c], eax
mov dword [0x6988f4], 0xacdd7f2e
mov dword [0x6987f4], eax
movdqu xmmword [0x6988f8], xmm0
mov dword [0x698908], 0x76487ad9
mov dword [0x69890c], 0xb3b0cf70
mov dword [0x698910], 0x98fb5fca
mov dword [0x698818], eax
mov dword [0x69881c], eax
cmp byte [ebx + 0x13], al
je 0x445691
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00565205
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x445688
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x44566d
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov dword [0x6987a4], edi
pop edi
pop esi
mov dword [0x698914], 1
pop ebx
mov esp, ebp
pop ebp
ret