Function at 0x4524c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov dword [ebp - 4], 0x5f3540
mov ebx, dword [ebp - 4]
push esi
push edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x704758], 0
cmp byte [ebx + 0x13], 0
mov dword [0x7046a8], 0
je 0x452532
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452529
sub edi, ecx
lea ecx, [ecx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452510
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], str.eYQD
mov ebx, dword [ebp - 4]
mov dword [0x704674], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x7046f8], 1
cmp byte [ebx + 0x13], 0
je 0x452596
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x45258d
sub edi, ecx
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452574
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], str.:Q0J
mov ebx, dword [ebp - 4]
mov dword [0x704678], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x7046f4], 0
cmp byte [ebx + 0x13], 0
mov dword [0x704744], 0
mov dword [0x704764], 0xea60
mov dword [0x70474c], 0
mov dword [0x704760], 0x927c0
je 0x452622
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452619
sub edi, ecx
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452600
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f35c8
mov ebx, dword [ebp - 4]
mov dword [0x704660], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452682
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452679
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452660
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f35e4
mov ebx, dword [ebp - 4]
mov dword [0x704664], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x4526e2
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x4526d9
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x4526c0
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f3600
mov ebx, dword [ebp - 4]
mov dword [0x704668], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x704704], 0
cmp byte [ebx + 0x13], 0
mov dword [0x704754], 0x2710
mov dword [0x7046a4], 1
mov dword [0x70479c], 0x21f
je 0x452764
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x45275b
sub edi, ecx
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452742
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f362c
mov ebx, dword [ebp - 4]
mov dword [0x704628], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x4527c2
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x4527b9
sub edi, ecx
lea esp, [esp]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x4527a0
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f362c
mov ebx, dword [ebp - 4]
mov dword [0x704658], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452822
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452819
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452800
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f364c
mov ebx, dword [ebp - 4]
mov dword [0x704650], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452882
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452879
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452860
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f3670
mov ebx, dword [ebp - 4]
mov dword [0x70465c], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x7046f0], 0
cmp byte [ebx + 0x13], 0
mov dword [0x7047a0], 0x21b
je 0x4528f2
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x4528e9
sub edi, ecx
mov edi, edi
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x4528d0
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f3694
mov ebx, dword [ebp - 4]
mov dword [0x70464c], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452952
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452949
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452930
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f36b4
mov ebx, dword [ebp - 4]
mov dword [0x704670], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x4529b2
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x4529a9
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452990
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f36d0
mov ebx, dword [ebp - 4]
mov dword [0x704654], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x70470c], 0
cmp byte [ebx + 0x13], 0
mov dword [0x7046c8], 0
mov dword [0x7047b0], 0x43faab90
je 0x452a2a
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452a21
sub edi, ecx
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452a08
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f36f4
mov ebx, dword [ebp - 4]
mov dword [0x70462c], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x704714], 0
cmp byte [ebx + 0x13], 0
mov dword [0x7046d0], 0
mov dword [0x7047b4], 0x5b9c9abf
je 0x452aa2
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452a99
sub edi, ecx
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452a80
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f3710
mov ebx, dword [ebp - 4]
mov dword [0x704644], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452b02
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452af9
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452ae0
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f3730
mov ebx, dword [ebp - 4]
mov dword [0x704638], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452b62
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452b59
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452b40
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f3694
mov ebx, dword [ebp - 4]
mov dword [0x70463c], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452bc2
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452bb9
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452ba0
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f3750
mov ebx, dword [ebp - 4]
mov dword [0x704640], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x704718], 0
cmp byte [ebx + 0x13], 0
mov dword [0x7046cc], 0
mov dword [0x7047b8], 0x70ab5cfb
je 0x452c3a
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452c31
sub edi, ecx
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452c18
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f3770
mov ebx, dword [ebp - 4]
mov dword [0x704634], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452c94
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452c8b
sub edi, ecx
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452c72
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f37d4
mov ebx, dword [ebp - 4]
mov dword [0x704630], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x70471c], 0
cmp byte [ebx + 0x13], 0
mov dword [0x704720], 0
mov dword [0x704724], 0
mov dword [0x704710], 0
mov dword [0x704694], 0
mov dword [0x704748], 0
mov dword [0x70475c], 0x218
mov dword [0x7046e8], 1
mov dword [0x7046ec], 0
mov dword [0x704768], 0x223
mov dword [0x704728], 1
mov dword [0x7046b0], 1
mov dword [0x70476c], 0x218
mov dword [0x704740], 1
mov dword [0x7046ac], 1
mov dword [0x704770], 0x21a
mov dword [0x704700], 1
mov dword [0x704780], 0x22c
mov dword [0x704730], 0
mov dword [0x70478c], 0x20e
mov dword [0x704738], 0
mov dword [0x704794], 0x222
mov dword [0x70472c], 0
mov dword [0x704788], 0x218
mov dword [0x704734], 0
mov dword [0x704790], 0x221
mov dword [0x7046fc], 0
mov dword [0x704784], 0x1f4
mov dword [0x70473c], 0
mov dword [0x70477c], 0x22f
mov dword [0x7046dc], 1
mov dword [0x704774], 0x22c
mov dword [0x7046b4], 0
mov dword [0x704778], 0x9c4
mov dword [0x7046a0], 0
mov dword [0x704708], 0
mov dword [0x704798], 0x2df
mov dword [0x704750], 0
mov dword [0x70469c], 0
je 0x452e74
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452e6b
sub edi, ecx
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452e52
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f37fc
mov ebx, dword [ebp - 4]
mov dword [0x704684], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452ed2
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452ec9
sub edi, ecx
lea esp, [esp]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452eb0
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov dword [ebp - 4], 0x5f3818
mov ebx, dword [ebp - 4]
mov dword [0x704688], edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x452f32
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x452f29
sub edi, ecx
lea ebx, [ebx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x452f10
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
movdqa xmm0, xmmword [0x5f39b0]
mov dword [ebp - 4], 0x5f383c
mov ebx, dword [ebp - 4]
mov dword [0x70468c], edi
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [0x7046b8], 1
cmp byte [ebx + 0x13], 0
mov dword [0x7046d8], 0
mov dword [0x7047a4], 0xc0f938ae
mov dword [0x7046c4], 0
mov dword [0x7047ac], 0xfd997fbd
mov dword [0x7046c0], 0
mov dword [0x7047a8], 0xd77eb164
mov dword [0x7046d4], 0
mov dword [0x7047bc], 0xacdd7f2e
mov dword [0x7046bc], 0
movdqu xmmword [0x7047c0], xmm0
mov dword [0x7047d0], 0x76487ad9
mov dword [0x7047d4], 0xb3b0cf70
mov dword [0x7047d8], 0x98fb5fca
mov dword [0x7046e0], 0
mov dword [0x7046e4], 0
je 0x453047
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.005b96b2
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
je 0x453029
sub edi, ecx
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x453010
mov eax, dword [ebx + 0xf]
pop edi
pop esi
pop ebx
mov byte [ecx + eax], 0
mov dword [0x70466c], ecx
mov dword [0x7047dc], 1
mov esp, ebp
pop ebp
ret
mov dword [0x70466c], edi
pop edi
pop esi
mov dword [0x7047dc], 1
pop ebx
mov esp, ebp
pop ebp
ret