Function at 0x103f8b54
Capabilities:
Encode data using xor

Disassembly:
jmp 0x103f8b5e
pushal
call 0x103f8b64
pop ebp
sub ebp, 0x10
sub ebp, 0x3f8b54
mov al, byte [esp + 0x28]
cmp al, 1
je 0x103f8b88
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x103f8b91
mov eax, 0x3f8b54
add eax, ebp
add eax, 0x63
mov ecx, 0x5fe
mov edx, 0x4b2c2884
xor byte [eax], dl
inc eax
dec ecx
jne 0x103f8ba8
jmp 0x103f8bbb
cmovns ecx, dword [edi]
or eax, 0x848484b8
add eax, 0x84847c45
test byte [edi - 0x7b7dc3b7], al
test byte [esi + edi - 0x7b7b7b54], al
jae 0x103f8c3d
xchg dword [edi + ecx + 5], ecx
mov byte [esp + eax*4 - 0x2bbe787c], al
or eax, esp
mov al, byte [0xa0800d78]
in al, dx
or al, 0x2a
mov al, byte [esp + ebp*8 - 0x7b4ba7b1]
loopne 0x103f8b85
js 0x103f8bf4
and byte [eax - 0x75d5f314], 0x84
in al, dx
dec edi
pop eax
mov ah, 0x84
test dword [eax + 0x44f0eca0], ebp
js 0x103f8be3
test al, 0xa0
in al, dx
invalid
insb byte es:[edi], dx
add dword [esp + eax*4 - 0x7b55927c], 0xfd18484
push 0x848c010f
test byte [edi + ecx - 0x7b7b77ef], al
test byte [edi], cl
or dword [esp + eax*4 + 0x6d458484], edx
xchg byte [ebp - 0x7fb9f87a], dh
int 0x8b
add dword [eax + 0x7b], esi
jnp 0x103f8ca4
push gs
mov al, byte [0x80a0e009]
inc esi
mov byte [edi + ecx - 0x7b7f5ff8], al
test byte [esp + ebp*8 - 0x7b75d5f4], al
in al, dx
dec edi
pop eax
mov ah, 0x84
mov al, byte [esp + ebp*8 - 0x7b4ba7b1]
test dword [eax - 0x5f1ff660], ebp
js 0x103f8c59
mov byte [eax - 0x7b7b7e94], ah
test byte [ebp - 0x3d], ch
xchg byte [esp + eax*4 + 0x78a0e009], al
or eax, 0xe809a0a8
loopne 0x103f8bfb
js 0x103f8c6a
test al, 0xa0
or eax, ebp
mov al, byte [0x88f17b84]
jnp 0x103f8c59
mov word [esi + esi*8 - 0x7c], gs
test byte [edi + ecx - 0x7b7b73c7], al
test byte [0x71fc0e75], al
insb byte es:[edi], dx
test byte [esp + eax*4 - 0x73c6f07c], 0x84
test byte [ebp + eax + 0x71fc0e75], al
jno 0x103f8c66
in al, dx
add eax, 0x71fc0e75
in al, dx
mov bh, 0x4d
mov bh, 0x56
pop es
insb byte es:[edi], dx
or esp, 0x84ca008b
test byte [ebx + ecx*4 - 0x7b7b33f4], al
test dl, ah
sets byte [ebp - 0x749380fc]
add byte [esi + 0x4848484], bl
jg 0x103f8d11
test byte [esp + eax*4 - 0x749280fc], al
add byte [ebp - 0x1d7b7b7c], dl
add eax, 0x8ba17b7f
add byte [ecx - 0x3a7b7b7c], dl
insd dword es:[edi], dx
dec eax
jnp 0x103f8d35
mov eax, dword [eax]
xchg ebp, eax
test byte [esp + eax*4 + 0x7b7f05e2], al
mov eax, dword [0x8491008b]
test byte [ebp + eax*8 + 0x7b7b486d], al
jnp 0x103f8c69
enter 0xffffffffffff85bd, 7
inc ebp
add dword [edi], 0x396d806c
jnp 0x103f8d44
jnp 0x103f8c78
sar byte [ebp - 0x7dbaf87a], 1
pop es
outsb dx, byte [esi]
add byte [edi], 0x6c
sub dword [ebp + 0x2f], 0xd97b7b7b
inc esi
mov byte [ecx + edx*8 - 0x2c2d97f1], al
ror dword [edi], 1
int1
mov byte [edi], cl
stc
invalid
mov eax, dword [edi]
pop esp
jnp 0x103f8d91
jnp 0x103f8c9e
push esi
mov eax, dword [ecx]
add dword [esp + eax*4 - 0x3d6df17c], 0x78b5696
out dx, al
test byte [esp + eax*4 + 0x568644b7], al
mov eax, dword [ecx]
add dword [esp + eax*4 - 0x3d6df17c], 0x78b5696
scasb al, byte es:[edi]
test dword [esp + eax*4 + 0x18b5686], eax
add dword [esp + eax*4 - 0x3d6df17c], 0x44975696
xchg edx, eax
ret 0x5696
test byte [esp + eax*4 - 0x693d6df2], al
push esi
xchg edi, eax
inc esp
xchg byte [esi - 0x75], dl
add dword [ecx + 0xe848484], eax
xchg edx, eax
ret 0x5696
jnp 0x103f8e0e
jnp 0x103f8dd1
test dword [esp + eax*4 - 0x74a9797c], eax
add dword [ecx + 0xe848484], eax
xchg edx, eax
ret 0x5696
add dword [esp + eax*4 - 0x3d6df17c], 0x4d975696
xchg byte [esi - 0x75], dl
add dword [ecx + 0xe848484], eax
xchg edx, eax
ret 0x5696
add dword [esp + eax*4 - 0x3d6df17c], 0x4d975696
xchg byte [esi - 0x75], dl
add dword [ecx + 0xe848484], eax
xchg edx, eax
ret 0x5696