Function at 0x103a8c2c
Capabilities:
Encode data using xor

Disassembly:
jmp 0x103a8c36
pushal
call 0x103a8c3c
pop ebp
sub ebp, 0x10
sub ebp, 0x3a8c2c
mov al, byte [esp + 0x28]
cmp al, 1
je 0x103a8c60
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x103a8c69
mov eax, 0x3a8c2c
add eax, ebp
add eax, 0x63
mov ecx, 0x5f5
mov edx, 0x636d76e
xor byte [eax], dl
inc eax
dec ecx
jne 0x103a8c80
jmp 0x103a8c93
in eax, 0xa3
in eax, 0xe7
push edx
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
out dx, eax
scasd eax, dword es:[edi]
xchg esi, eax
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
insd dword es:[edi], dx
mov dword [0x6e6e6ad6], eax
outsb dx, byte [esi]
aam 0x46
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
cdq
mov word [ebp - 0x5a], gs
in eax, 0xef
bound ebp, qword [esi + 0x6e]
outsb dx, byte [esi]
insd dword es:[edi], dx
stosd dword es:[edi], eax
push es
stosb byte es:[edi], al
pop ss
pushal
outsb dx, byte [esi]
push es
or byte [edx + eax*2 + 0x6e], bh
outsd dx, dword [esi]
inc edx
dec edx
push es
mov al, 0xd0
out 0x56, eax
xchg byte [ebx + 0x6e], ch
outsb dx, byte [esi]
outsb dx, byte [esi]
xchg dword [edx + 0x6e], ebx
outsb dx, byte [esi]
outsb dx, byte [esi]
jecxz 0x103a8ce3
dec edx
xchg edx, eax
out 0x42, eax
dec edx
in eax, 0x82
in eax, 0xeb
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
in eax, 0xfb
bound ebp, qword [esi + 0x6e]
outsb dx, byte [esi]
in eax, 0xe3
jle 0x103a8d5e
outsb dx, byte [esi]
outsb dx, byte [esi]
scasd eax, dword es:[edi]
xchg dword [edi + ebx*2 + 0x6c], ebp
in eax, dx
lodsb al, byte [esi]
push 0x27
popal
jmp 0x103a8c98
or ch, ah
jb 0x103a8db9
out dx, al
xchg ebp, eax
xchg byte [ecx - 0x16], ah
je 0x103a8dd7
outsb dx, byte [esi]
outsb dx, byte [esi]
out dx, al
xchg ebp, eax
xchg dword [ecx - 0x16], esp
jg 0x103a8de0
outsb dx, byte [esi]
outsb dx, byte [esi]
or bh, ch
xchg ebp, eax
xchg ecx, eax
dec ebx
popal
ljmp 0x872f
insb byte es:[edi], dx
in eax, dx
scasd eax, dword es:[edi]
push 0xed6a84ed
xchg byte [ebx - 0x79], ch
lds edx, [ecx - 0x53cc6e6f]
bound ebp, qword [esi + 0x3b]
in eax, 0x82
cmp byte [ecx], bh
cmp esp, ebp
sbb esp, dword [edx - 0x1b]
adc esp, dword [esi - 0x6e]
fsub st(6), st(0)
in al, 0x68
out dx, eax
test al, 0x6f
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
out 0x69, al
out dx, eax
test eax, 0x6e6e6e6f
aad 0x6c
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x61], bh
js 0x103a8e01
jl 0x103a8d97
popal
in eax, dx
mov dh, 0x91
xchg ecx, eax
xchg ecx, eax
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x61], bh
in eax, dx
add al, 0x6e
outsb dx, byte [esi]
outsb dx, byte [esi]
pop ebp
scasb al, byte es:[edi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x61], bh
jl 0x103a8dbf
popal
in eax, dx
inc esp
outsd dx, dword [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x7d], bh
scasb al, byte es:[edi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x7d], bh
scasb al, byte es:[edi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x7d], bh
scasb al, byte es:[edi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x7d], bh
scasb al, byte es:[edi]
popal
ljmp 0xb1e5