Function at 0x569891
Capabilities:
Encode data using xor

Disassembly:
call fcn.0056969f
jmp 0x5698ad
lea esp, [esp + 4]
jmp 0x5699a9
jmp 0x5698e5
jmp 0x569901
mov al, byte [ecx]
jmp 0x56991d
jmp 0x569939
push ebx
jmp 0x569955
jmp 0x569971
cmp al, 0x41
jmp 0x598cff
jmp 0x598d63
jmp 0x5698c9
jb 0x56998d
jae 0x598dce
sal byte [ecx - 0x1f], 1
xor byte [ebx - 0xa], 0x18
lcall 0x23cd, 0x4e9a6f08
or byte [edi], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + ebp], ch
cmp al, 0x61
jmp 0x598e04
mov dl, byte [ecx + 1]
cmp dl, 0x41
jb 0x598de7
cmp dl, 0x5a
jmp 0x598e99
cmp al, 0x30
jb 0x598dda
cmp al, 0x39
jbe 0x598d80
jmp 0x598dda
cmp al, 0x5a
jbe 0x598d80
jmp 0x56998d
cmp al, 0x2b
je 0x598d80
cmp al, 0x2f
jne 0x598e12
jmp 0x598d80
cmp dl, 0x61
jmp 0x59933e
jb 0x598da6
cmp al, 0x7a
jbe 0x598d80
jmp 0x598da6
mov eax, 0x403
pop ebx
ret
mov bl, byte [ecx + 2]
cmp bl, 0x41
jb 0x598f41
cmp bl, 0x5a
jbe 0x598f0d
jmp 0x598f41
jbe 0x598e3b
jmp 0x598de7
rcl dword [ecx + 0x30], 0xc3
push 0xa0c151ca
push ebx
out dx, al
test byte [eax - 0x7df0cf06], 0x42
add eax, dword [eax]
add byte [edi], cl
add dword [eax + 1], 0
add byte [ecx + 0x47b4ad3d], ah
cmp dl, 0x30
jb 0x5991fe
jae 0x599002
mov eax, dword [0x47b4ad3d]
in al, dx
movsb byte es:[edi], byte [esi]
cmp dword [ecx + 0x1f8e3bc8], ebp
adc dword [ecx], 0xe3288370
rol dword [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xchg ebp, eax
or byte [esi + 0x11bf08f9], bl
mov cl, 0x21
inc eax
mov bl, 0x36
mov dword [edx], ebp
mov eax, 0xb1ad2adf
xor dword [ecx + 0x3be533c0], esp
loopne 0x598ea7
mov cl, byte [ecx + 3]
cmp cl, 0x41
jb 0x598f54
cmp cl, 0x5a
jbe 0x598f8a
jmp 0x598f54
cmp cl, 0x30
jb 0x599068
jae 0x59901e
mov dh, 0x3b
stosd dword es:[edi], eax
into
cmp eax, 0x960080dd
int1
add cl, ah
jmp 0x598f44
cmp bl, 0x61
jb 0x598fd4
add byte [eax - 0x41898505], al
cmp bl, 0x7a
jbe 0x598f0d
jmp 0x598fd4
cmp cl, 0x61
stc
popal
jmp 0x598fe5
cmp bl, 0x2f
jne 0x598e12
jmp 0x598f0d
cmp al, 0x2b
jne 0x599029
push 0x3e
jmp 0x599172
cmp bl, 0x2b
je 0x598f0d
jne 0x598f72
rcr byte [edx + esi*8 - 0x6b], cl
or byte fs:[edi], 0x80
push ss
jno 0x598f49
bound esp, qword [eax + ebp*8 + 0x7e]
sbb eax, ebp
add ebx, ebp
scasb al, byte es:[edi]
aas
jmp 0x598f55
cmp bl, 0x30
jb 0x598fb3
fiadd dword [eax - 0x79f0c605]
sub edi, edi
invalid
cmp bl, 0x39
jbe 0x598f0d
jmp 0x598fb3
jb 0x598f21
jae 0x59908a
sti
jbe 0x598fd8
cmp dword [esi - 0x76], 0x20
mov dl, 0x20
inc edi
mov dl, 0x5a
adc ebp, ebx
mov al, byte [0xfa80f194]
cmp dword [edi], ecx
xchg byte [eax], dh
invalid
cmp dl, 0x39
jbe 0x598e3b
jmp 0x5991fe
cmp cl, 0x39
jbe 0x598f8a
jmp 0x599068
cmp al, 0x2f
jmp 0x59909c
cmp cl, 0x2f
je 0x598f8a
jmp 0x598e12
cmp cl, 0x2b
je 0x598f8a
jne 0x599046
mov byte [ecx], dl
and eax, 0xa305a713
xor edx, dword [esi - 0x5b]
or bh, byte [esi + 0x2fdcb525]
xchg edx, eax
test dword [edx], 0x80f2d4ce
stc
jp 0x59909d
cmp cl, 0x7a
jbe 0x598f8a
xchg bh, dh
invalid
jmp 0x598f21
jne 0x5990ea
dec esp
push 0x3f
jmp 0x599172
push esi
cmp dl, 0x2b
jne 0x59918f
push 0x3e
jmp 0x5992e4
cmp al, 0x39
jmp 0x599147
cmp al, 0x5a
movzx eax, al
jmp 0x5991b1
ja 0x599106
movzx eax, al
add eax, 4
jmp 0x5990c3
pop eax
jmp 0x5990c3
sub eax, 0x47
jmp 0x5990c3
cmp dl, 0x2f
jne 0x599251
je 0x599234
inc esi
rcl byte [esi + 0x31], 0xc0
sub dword [ecx - 0x3a], eax
push esp
xor ecx, esi
int 0x4f
fistp qword [edx + 0x7701b949]
retf
ja 0x59917e
sub eax, 0x41
jmp 0x5990c3
cmp dl, 0x2b
je 0x598e3b
cmp dl, 0x2f
jne 0x598e12
jmp 0x598e3b
cmp bl, 0x2b
jne 0x599399
je 0x59937b
aaa
mov eax, 0x5ab8492e
retf 0xd446
push 0x3f
jmp 0x5992e4
movzx esi, dl
jmp 0x5992ab
cmp dl, 0x39
jmp 0x5992ed
cmp dl, 0x5a
jmp 0x59955b
pop esi
jmp 0x599215
ja 0x5992c7
add esi, 4
jmp 0x599215
jb 0x598eb3
cmp dl, 0x7a
jbe 0x598e3b
jmp 0x598eb3
pop edx
jmp 0x5993a7
push 0x3e
jmp 0x59935d
cmp bl, 0x2f
jne 0x5994d5
push 0x3f
jmp 0x59935d
cmp cl, 0x2b
jne 0x599519
push 0x3e
jmp 0x599538
cmp bl, 0x5a
jmp 0x599492
cmp bl, 0x39
ja 0x599405
add edx, 4
jmp 0x5993a7
sub edx, 0x47
jmp 0x5993a7
ja 0x59944f
sub edx, 0x41
jmp 0x5993a7
movzx edx, bl
jmp 0x599440
int 0x3c
mov esi, dword [eax - 0x7fc387fd]
stc
das
cmp cl, 0x2f
jne 0x599945
je 0x5995cc
sub dword [ebx + 0x12bd4e2b], edi
jg 0x599512
jo 0x599549
loop 0x599589
retf
pop ecx
jmp 0x599578
retf 0xc456
ja 0x599dda
sub esi, 0x41
jmp 0x599215
shl eax, 6
jmp 0x599609
retf
cmp cl, 0x5a
movzx ecx, cl
ja 0x599694
sub ecx, 0x41
jmp 0x599578
push 0x3f
jmp 0x599538
or eax, esi
shl eax, 6
or eax, edx
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0xc]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
mov edx, eax
shr edx, 8
pop esi
mov byte [ecx + 2], al
mov byte [ecx + 1], dl
xor eax, eax
pop ebx
ret
sub ecx, 0x47
jmp 0x599578
cmp cl, 0x39
ja 0x599595
movzx ecx, cl
add ecx, 4
jmp 0x599578
sub esi, 0x47
jmp 0x599215