Function at 0x75555aa1
Capabilities:
Encode data using xor

Disassembly:
push 0x34
mov eax, 0x745b0885
call fcn.755142a9
mov dword [ebp - 0x24], ecx
mov edi, dword [ebp + 8]
push edi
push 0x74514377
push ecx
lea eax, [ebp - 0x40]
push eax
call fcn.755277b5
and dword [ebp - 4], 0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x30], eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ebx, eax
mov eax, dword [ebx + 4]
mov esi, dword [eax]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], esi
cmp esi, dword [ebx + 4]
je 0x7552c34b
cmp byte [ebp + 0xc], 0
mov ecx, dword [ebp - 0x24]
push 0
lea eax, [esi + 0xc]
push 0
push eax
jne 0x755558b5
lea eax, [ebp - 0x20]
push eax
call fcn.7551b65d
mov ecx, dword [ebp - 0x20]
add esi, 0x28
push esi
push edi
mov byte [ebp - 4], 4
call fcn.7552c367
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 0
test ecx, ecx
je 0x7552c33a
call fcn.755143fc
and dword [ebp - 0x20], 0
lea ecx, [ebp - 0x14]
call 0x755422e9
mov esi, dword [ebp - 0x14]
jmp 0x7552c2f6
mov eax, dword [ebp - 0x30]
mov byte [eax], 1
lea eax, [ebp - 0x40]
push eax
call fcn.7552b243
call fcn.7551422a
ret 0xc
add byte [ecx], ah
add byte ss:[ebx], ah
bound eax, qword [eax]
and al, byte [eax]
and byte [eax], al
jbe 0x755558c4
add byte gs:[edx], dh
jae 0x755558ca
imul eax, dword [eax], 0x6e006f
cmp eax, 0x31002200
add byte [ecx], dh
add byte [esi], ch
add byte [edx], dh
add byte [esi], ch
add byte [ecx], bh
add byte [esi], dh
add byte [eax], dh
add byte [eax], dh
add byte [esi], ch
add byte [ecx], dh
add byte [eax], bh
add byte [edi], dh
add byte [esi], dh
add byte [edx], dh
add byte [edx], ah
add byte [eax], ah
add byte [eax], dh
jb 0x755558fa
outsd dx, dword [esi]
add byte [ebx], ah
add byte gs:[ebx], dh
jae 0x75555904
outsd dx, dword [esi]
add byte [edx], dh
inc ecx
add byte [edx], dh
arpl word [eax], ax
push 0x74006900
add byte [ebp], ah
arpl word [eax], ax
je 0x7555591a
jne 0x7555591c
jb 0x7555591e
add byte gs:[0x78002200], bh
add byte [eax], bh
add byte [esi], dh
add byte [edx], ah
add byte [eax], ah
add byte [eax + eax + 0x61], ch
add byte [esi], ch
add byte [di], dh
popal
add byte [edi], ah
add byte gs:[0x6e002200], bh
add byte [ebp], ah
jne 0x75555948
je 0x7555594a
jb 0x7555594c
popal
add byte [eax + eax + 0x22], ch
add byte [eax], ah
add byte [edx], ah
jne 0x75555958
imul eax, dword [eax], 0x64006c
push esp
add byte [ecx], bh
jo 0x75555964
add byte gs:[0x72002200], bh
add byte [ebp], ah
insb byte es:[edi], dx
add byte [ebp], ah
popal
add byte [ebx], dh
add byte gs:[edx], ah
add byte [eax], ah
add byte [eax], dh
jne 0x75555980
bound eax, qword [eax]
insb byte es:[edi], dx
add byte [ecx], ch
arpl word [eax], ax
dec ebx
add byte [ebp], ah
jns 0x7555598e
push esp
add byte [edi], ch
imul eax, dword [eax], 0x65
add byte [esi], ch
cmp eax, 0x33002200
add byte [ecx], dh
add byte [edx], ah
add byte [ebx], dh
add byte [eax], bh
add byte [0x61003600], dh
add byte [eax + eax + 0x33], ah
add byte [esi], dh
add byte [eax + eax], dh
add byte gs:[ebx], dh
add byte [0x20002200], dh
add byte [esi], dh
add byte gs:[edx], dh
jae 0x755559c8
imul eax, dword [eax], 0x6e006f
push ebx
add byte [ebx], ah
outsd dx, dword [esi]
add byte [eax], dh
add byte gs:[0x6e002200], bh
add byte [edi], ch
outsb dx, byte [esi]
add byte [ebx], dl
js 0x755559e6
push ebx
add byte [edx], ah
add byte [edi], ch
add byte [esi], bh
add byte [eax + eax], bh
das
add byte [ebx], ah
outsd dx, dword [esi]
add byte [ebp], ch
jo 0x755559fa
outsd dx, dword [esi]
add byte [esi], ch
add byte gs:[esi], ch
je 0x75555a04
add byte ds:[eax + eax], bh
das
add byte [ebp], dh
jo 0x75555a0e
add byte fs:[ecx], ah
je 0x75555a14
add byte gs:[esi], bh
add byte [eax + eax], bh
jne 0x75555a1c
jo 0x75555a1e
add byte fs:[ecx], ah
je 0x75555a24
add byte gs:[eax], ah
add byte [esi], ch
popal
add byte [ebp], ch
add byte gs:[0x34002200], bh
add byte [eax], dh
add byte [ebx], dh
add byte [eax + eax], dh
add byte ss:[edi], dh
add byte [eax], dh
add byte [0x31003600], ch
add byte [esi], dh
add byte [edi], bl
outsb dx, byte [esi]
add byte [ebp], ah
jne 0x75555a52
je 0x75555a54
jb 0x75555a56
popal
add byte [eax + eax + 0x5f], ch
add byte [eax + eax + 0x44], cl
add byte [edx], dl
and al, byte [eax]
add byte ds:[eax + eax], bh
popal
add byte [eax], dh
jo 0x75555a6e
insb byte es:[edi], dx
add byte [ecx], ch
arpl word [eax], ax
popal
add byte [edx], ah
insb byte es:[edi], dx
add byte [ebp], ah
and byte [eax], al
add byte fs:[ecx], ch
jae 0x75555a84
jo 0x75555a86
outsd dx, dword [esi]
add byte [ebx], dh
imul eax, dword [eax], 0x690074
outsd dx, dword [esi]
add byte [esi], ch
cmp eax, 0x73002200
add byte [eax + eax + 0x61], dh
add byte [edi], ah
add byte gs:[eax + eax + 0x22], ah
add byte [eax + eax + 0x22], ah
add byte [esi], bh
add byte [eax + eax], bh
jne 0x75555aac
jo 0x75555aae
add byte fs:[ecx], ah
je 0x75555ab4
add byte gs:[ebx], al
outsd dx, dword [esi]
add byte [ebp], ch
jo 0x75555abe
outsd dx, dword [esi]
add byte [esi], ch
add byte gs:[esi], ch
je 0x75555ac8
and byte [eax], al
add byte gs:[eax + eax + 0x65], ch
add byte [esi], dh
popal
add byte [eax + eax + 0x65], dh
add byte [0x73002200], bh
add byte [ebp], ah
jb 0x75555ae2
jbe 0x75555ae4
imul eax, dword [eax], 0x650063
dec esp
add byte [ebp], ah
jbe 0x75555af0
add byte gs:[eax + eax + 0x22], ch
add byte [esi], bh
add byte [eax + eax], bh
popal
add byte [ebx], dh
jae 0x75555b00
add byte gs:[ebp], ch
bound eax, qword [eax]
insb byte es:[edi], dx
add byte [ecx], bh
dec ecx
add byte [eax + eax + 0x65], ah
add byte [esi], ch
je 0x75555b14
imul eax, dword [eax], 0x790074
and byte [eax], al
outsb dx, byte [esi]
add byte [ecx], ah
insd dword es:[edi], dx
add byte [ebp], ah
cmp eax, 0x4d002200
add byte [ecx], ch
arpl word [eax], ax
jb 0x75555b30
outsd dx, dword [esi]
add byte [ebx], dh
outsd dx, dword [esi]
add byte [esi], ah
je 0x75555b3a
sub eax, 0x69005700
add byte [esi], ch
add byte fs:[edi], ch
ja 0x75555b48
jae 0x75555b4a
sub eax, 0x45004900
add byte [0x54004800], ch
add byte [ebp], cl
dec esp
add byte [edx], dl
add byte gs:[esi], ch
add byte fs:[ebp], ah
jb 0x75555b66
imul eax, dword [eax], 0x67006e
add byte cs:[edx], dl
add byte gs:[ebx], dh
outsd dx, dword [esi]
add byte [ebp], dh
jb 0x75555b7a
arpl word [eax], ax
add byte gs:[ebx], dh
and al, byte [eax]
and byte [eax], al
jbe 0x75555b86
add byte gs:[edx], dh
jae 0x75555b8c
imul eax, dword [eax], 0x6e006f
cmp eax, 0x31002200
add byte [ecx], dh
add byte [esi], ch
add byte [edx], dh
add byte [esi], ch
add byte [ecx], bh
add byte [esi], dh
add byte [eax], dh
add byte [eax], dh
add byte [esi], ch
add byte [ecx], dh
add byte [eax], bh
add byte [edi], dh
add byte [esi], dh
add byte [edx], dh
add byte [edx], ah
add byte [eax], ah
add byte [eax], dh
jb 0x75555bbc
outsd dx, dword [esi]
add byte [ebx], ah
add byte gs:[ebx], dh
jae 0x75555bc6
outsd dx, dword [esi]
add byte [edx], dh
inc ecx
add byte [edx], dh
arpl word [eax], ax
push 0x74006900
add byte [ebp], ah
arpl word [eax], ax
je 0x75555bdc
jne 0x75555bde
jb 0x75555be0
add byte gs:[0x78002200], bh
add byte [eax], bh
add byte [esi], dh
add byte [edx], ah
add byte [eax], ah
add byte [eax + eax + 0x61], ch
add byte [esi], ch
add byte [di], dh
popal
add byte [edi], ah
add byte gs:[ebx], ah
je 0x75555c04
popal
add byte [eax + eax + 0x69], dh
add byte [edi], ch
outsb dx, byte [esi]
add byte [eax + eax + 0x61], cl
add byte [esi], ch
add byte [di], dh
popal
add byte [edi], ah
add byte gs:[ebp], cl
outsd dx, dword [esi]
add byte [eax + eax + 0x65], ah
add byte [eax + eax + 0x73], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], dl
dec edi
add byte [esi], al
push esp
add byte [edi], dl
inc ecx
add byte [edx], dl
inc ebp
add byte [eax + eax + 0x4d], bl
add byte [ecx], ch
arpl word [eax], ax
jb 0x75555c4a
outsd dx, dword [esi]
add byte [ebx], dh
outsd dx, dword [esi]
add byte [esi], ah
je 0x75555c54
pop esp
add byte [ebx], dl
jo 0x75555c5a
add byte gs:[ebp], ah
arpl word [eax], ax
push 0x50005c00
add byte [edx], dh
add byte gs:[esi], ah
add byte gs:[edx], dh
add byte gs:[esi], ch
arpl word [eax], ax
add byte gs:[ebx], dh
pop esp
add byte [ecx], al
jo 0x75555c80
jo 0x75555c82
inc ebx
add byte [edi], ch
insd dword es:[edi], dx
add byte [eax], dh
popal
add byte [eax + eax + 0x44], dh
add byte [ecx], ch
jae 0x75555c94
popal
add byte [edx], ah
insb byte es:[edi], dx
add byte [ebp], ah
inc esp
add byte [ecx], ch
arpl word [eax], ax
je 0x75555ca4
popal
add byte [eax + eax + 0x69], dh
add byte [edi], ch
outsb dx, byte [esi]
add byte [eax], al
add byte [ebx], dl
dec edi
add byte [esi], al
push esp
add byte [edi], dl
inc ecx
add byte [edx], dl
inc ebp
add byte [eax + eax + 0x4d], bl
add byte [ecx], ch
arpl word [eax], ax
jb 0x75555cca
outsd dx, dword [esi]
add byte [ebx], dh
outsd dx, dword [esi]
add byte [esi], ah
je 0x75555cd4
pop esp
add byte [ebx], dl
jo 0x75555cda
add byte gs:[ebp], ah
arpl word [eax], ax
push 0x50005c00
add byte [edx], dh
add byte gs:[esi], ah
add byte gs:[edx], dh
add byte gs:[esi], ch
arpl word [eax], ax
add byte gs:[ebx], dh
pop esp
add byte [ecx], al
jo 0x75555d00
jo 0x75555d02
inc ebx
add byte [edi], ch
insd dword es:[edi], dx
add byte [eax], dh
popal
add byte [eax + eax + 0x44], dh
add byte [ecx], ch
jae 0x75555d14
popal
add byte [edx], ah
insb byte es:[edi], dx
add byte [ebp], ah
dec ebp
add byte [ebx], dl
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
push ebx
add byte [edi], cl
inc esi
add byte [eax + eax + 0x57], dl
add byte [ecx], al
push edx
add byte [ebp], al
pop esp
add byte [ebp], cl
imul eax, dword [eax], 0x720063
outsd dx, dword [esi]
add byte [ebx], dh
outsd dx, dword [esi]
add byte [esi], ah
je 0x75555d4c
pop esp
add byte [ebx], dl
jo 0x75555d52
add byte gs:[ebp], ah
arpl word [eax], ax
push 0x50005c00
add byte [edx], dh
add byte gs:[esi], ah
add byte gs:[edx], dh
add byte gs:[esi], ch
arpl word [eax], ax
add byte gs:[ebx], dh
add byte [eax], al
mov eax, 0xb406f714
adc al, 0xf7
push es
mov al, 0x14
test dword [esi], 0x6f714ac
movsb byte es:[edi], byte [esi]
adc al, 0xf7
push es
mov word [edi + esi*8], ss
push es
js 0x75555da2
test dword [esi], 0x6f71468
push ebx
add byte [eax], ch
popal
add byte [edx], dh
add byte gs:[eax + eax + 0x61], al
add byte [eax + eax + 0x61], dh
je 0x75555da4
popal
add byte [eax], al
add byte [ecx], al
add byte fs:[eax + eax + 0x52], ah
add byte [ebp], ah
insd dword es:[edi], dx
add byte [edi], ch
jbe 0x75555db8
add byte gs:[edi], dl
outsd dx, dword [esi]
add byte [edx], dh
add byte fs:[eax], al
add byte [eax + eax + 0x75], dl
add byte [eax + eax + 0x6f], dh
add byte [edx], dh
imul eax, dword [eax], 0x6c0061
add byte [eax], al
add byte [eax], al
push esi
add byte [edi], ch