Function at 0x570aab
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
push ebx
push esi
xor esi, esi
mov dword [ebp - 0xb0], 0x7f
inc esi
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x68], esi
mov edx, ecx
mov dword [ebp - 0xc], ecx
mov ebx, ecx
mov dword [ebp - 0x20], ecx
push edi
mov dword [ebp - 0x4c], ecx
mov edi, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x60], eax
mov word [ebp - 0x5c], cx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xa8], eax
mov word [ebp - 0xa4], cx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x54], eax
mov word [ebp - 0x50], cx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x9c], eax
mov word [ebp - 0x98], cx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x90], eax
mov word [ebp - 0x8c], cx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x84], eax
mov word [ebp - 0x80], cx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x78], eax
mov word [ebp - 0x74], cx
jmp 0x570b93
mov edx, esi
inc esi
mov eax, dword [ecx + esi*4]
cmp word [eax + 8], bx
jne 0x570b67
mov ebx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov dword [ebp - 0x34], esi
or esi, 0xffffffff
cmp dword [ebp - 0x34], 0
jbe 0x5b10a9
test bx, bx
je 0x570bdd
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x68]
mov ecx, eax
push eax
mov dword [ebp - 0x24], edi
call fcn.0057107f
inc dword [ebp - 0x68]
or esi, 0xffffffff
mov dword [ebp - 0x28], eax
test eax, eax
je 0x570e61
mov dword [0x4d1528], ecx
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov edx, ecx
mov ecx, dword [eax + 4]
push 0x7f
pop esi
push 0xffffffffffffffff
mov eax, dword [ecx]
movzx ebx, word [eax + 8]
cmp bx, si
mov dword [ebp - 0x14], ebx
pop esi
je 0x570b88
push 0x7f
mov esi, edx
pop ebx
jmp 0x570b67
mov eax, dword [eax]
cmp eax, 0x13
jg 0x570c97
cmp eax, 0x12
jge 0x5b10d1
sub eax, 4
cmp eax, 0xa
ja 0x570b8d
jmp dword [eax*4 + 0x402785]
cmp eax, 0x20
jg 0x570d9f
je 0x570dc4
sub eax, 0x14
je 0x5b1221
sub eax, 1
je 0x5b11cc
sub eax, 1
je 0x5b1173
sub eax, 1
je 0x5b1155
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
sub eax, 1
jne 0x570b93
jmp 0x5b10fc
mov edx, dword [ebp - 8]
jmp 0x570b93
sub eax, 0x21
jne 0x570ecb
mov eax, dword [ecx + 4]
push 0x7f
pop ecx
cmp word [eax + 8], cx
jne 0x5b12d5
sub dword [ebp - 0x4c], 1
jne 0x5b130f
jmp 0x570dd4
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp eax, 1
jg 0x5b1304
push dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
push dword [ebp - 0xc]
mov eax, dword [ebp - 8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push ebx
push eax
push dword [ebp - 0x10]
push edi
call fcn.00571200
test eax, eax
jns 0x570d01
jmp 0x570e80
push dword [ebp - 0x18]
push dword [ebp - 0xc]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push ebx
push edx
push dword [ebp - 0x10]
xor ebx, ebx
push ebx
call fcn.00571200
test eax, eax
js 0x570e80
mov esi, ebx
lea ecx, [ebp - 0x7c]
call fcn.005710a2
lea ecx, [ebp - 0x88]
call fcn.005710a2
lea ecx, [ebp - 0x94]
call fcn.005710a2
lea ecx, [ebp - 0xa0]
call fcn.005710a2
lea ecx, [ebp - 0x58]
call fcn.005710a2
lea ecx, [ebp - 0xac]
call fcn.005710a2
lea ecx, [ebp - 0x64]
call fcn.005710a2
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret
sub eax, 4
je 0x5b129e
sub eax, 1
je 0x5b124f
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
sub eax, 5
jne 0x570b93
jmp 0x570dc4
out dx, al
insd dword es:[edi], dx
inc ecx
and byte [edi], bh
fisttp dword [0xcf57fa76]
cmovl ecx, dword [edx - 7]
cmp dword [edi + 0x1a], edi
invalid
jl 0x5b1138
int3
invalid
sub edi, dword [ebx - 0x3bb7f7c9]
fmul dword [edi - 0x516864f0]
pop ebx
mov ch, 0xd7
jae 0x5b1158
stc
frstor dword [ecx + edi*8]
jns 0x5b1149
pushal
js 0x5b116b
mov cs, esp
fstp xword [edx - 0x594143b]
mov es, ebp
inc edx
cld
push 0xfe41da9
sahf
test eax, 0x9e0fe41d
setle byte [edi + ebp*4 + 0x25]
inc ebp
mov al, byte [0xcb7f5529]
insb byte es:[edi], dx
scasd eax, dword es:[edi]
and eax, 0x5529a045
jg 0x5b10d2
adc dword [ecx + 0x67], edx
in al, 0xd9
ficom word [ecx - 0x3059f8d8]
out dx, al
cmp byte [ebp + 0x328c5eb9], ah
invalid
das
dec ebx
cdq
pop ss
sbb ch, bh
add dword [ebp + 0x6f20956f], esi
sbb al, 0x2b
enter 0xffffffffffffdf99, 0xffffffffffffffcb
xchg esp, eax
jl 0x5b10f9
jge 0x5b10c7
sbb bh, byte [ebx + ebx*8 - 0x4f0a257]
invalid
jl 0x5b1190
inc edi
invalid
adc dword [ebp + 0x6f], 0xef4c6e3f
aas
outsb dx, byte [esi]
dec esp
out dx, eax
pop eax
xor dword [ebx - 1], esi
test dword [edi - 0x18], ecx
popal
leave
popal
pop ecx
push edx
mov bh, 0xe7
add byte [edx], bh
leave
cmp cl, cl
daa
mov ds, esi
sbb eax, 0xb0eb5a6c
test eax, 0x89c83270
sbb eax, esi
popfd
scasd eax, dword es:[edi]
test al, 0x81
rcr byte [ebx + 0x51], 0xc9
invalid
jmp 0x5b1125
inc edi
xor byte [edi], bl
or byte [ebx], al
sub byte [ebx - 0x3a5e20fd], cl
push cs
mov dl, 0x5c
mov eax, dword [0x5cb20ec5]
inc edi
sbb eax, 0x58bc9bb1
jg 0x5b11d6
xchg dword [ebx + 0x18dd040c], edi
loope 0x5b120f
leave
fistp word [0xa5bdc5ac]
sub ebx, dword [eax + eax*4]
pop esi
dec esi
jo 0x5b1187
inc esi
mov word [esi + 0x39ecb79a], fs
sbb dword [ebp - 0x3b], ecx
clc
fistp word [edi - 0x13a86867]
cdq
xchg edi, eax
push edi
in al, dx
ljmp 0xff4e:0xf684457b
cli
cmp byte [edx + edx - 0x78], ch
mov eax, edi
lahf
aad 0x85
adc cl, byte [eax - 0x2a603875]
test edx, eax
invalid
ret 0x57fe
sub cl, byte [eax + 0xe]
fdivr qword [esi + esi*8 + 0xa]
and ebp, edi
stc
xor byte [esi - 0x6bb411e3], bl
mov ebx, 0xce641bcf
pop edi
in eax, 0xef
aam 0xe8
push ebp
sbb eax, 0x34beccde
jnp 0x5b11c1
iretd
call 0xcd392f83
mov esi, 0xf88f7b34
clc
pop ecx
mov bl, 0xf9
dec eax
or ebp, dword [edi]
dec ebx
sahf
jge 0x5b12b5
mov cl, 0x51
mov ch, 0xfd
pop ds
aad 0x14
mov al, 0xbf
mov ebx, 0xca0a5296
je 0x5b11cf
jnp 0x5b1237
das
in eax, 0xab
sbb dword [ebp + ebp - 0x45], 0x20
wait
jnp 0x5b1229
int 0x67
pop edi
aaa
mov ecx, edx
push ss
dec edx
out dx, al
adc eax, 0xbb1f9f2d
in eax, 0xcf
inc edi
adc eax, edx
add dword [edi], ebx
stosd dword es:[edi], eax
les esp, [eax + 0x6c]
inc edi
mov edi, 0x5190ab56
jp 0x5b129b
into
dec eax
call 0x4822e64
or al, 0x6b
outsb dx, byte [esi]
ret 0x5f8
add ah, byte [0xf0efc9ab]
push edi
invalid
leave
out dx, eax
invalid
pop ds
sub eax, 0x2bdf8c62
jp 0x5b133a
enter 0xffffffffffffb07b, 0xffffffffffffffba
invalid
sbb dword [ebp - 0xd85c6e3], esp
cmp eax, 0xdeacdd38
mov byte [0x919f5fad], al
pushfd
invalid
pop esi
sahf
sbb dl, byte [0x4abd88c1]
sbb eax, 0xedc5417b
xor dword [ecx + 0x6c], edx
or eax, 0xde9305b1
insb byte es:[edi], dx
wait
retf