Function at 0x1047078f
Capabilities:
Encode data using xor

Disassembly:
mov ecx, 0x7831980
lea edx, [ecx*2 + 0x20a11535]
shl ecx, 7
mov cx, word [ebp + edx - 0x2fa74831]
bts edx, edx
lea ebp, [ebp + edx - 0x2fa74833]
neg edx
ror dx, 0x41
sbb edx, edx
shr cx, 1
call fcn.103a0481
mov ecx, 0x861e4206
mov edx, dword [edi + 4]
sar cl, 0x66
adc eax, edx
and cl, cl
push ecx
mov dword [edi + 4], eax
adc cx, 0xe89c
lea eax, [ecx + ecx*4 - 0x7c6501c9]
neg ecx
mov ecx, dword [ebp + eax - 0x2231d343]
jnp 0x103186ee
mov eax, 0x4b38fa8f
and ax, ax
mov ecx, dword [eax + edi - 0x4b38fa8f]
inc eax
or al, 0xd
sbb ax, ax
lea edi, [edi + eax - 0x4b37fffc]
shr eax, 0x4e
add ax, ax
xor ecx, ebx
ror ecx, 1
mul al
bswap ecx
inc ecx
movzx edx, ax
ror ecx, 3
xor ebx, ecx
add ebp, ecx
movsx ecx, al
lea edx, [ecx + eax + 0x4f243cb0]
mov ax, word [esi + eax*4 - 0x64000]
inc dx
dec ecx
mov cl, byte [esi + edx - 0x4f25ccaf]
or dl, dh
lea esi, [esi + edx - 0x4f25ccfb]
jno 0x103b261b
xor ecx, ebx
and dword [esp + eax - 0x2231d343], eax
movzx edx, byte [esp + eax - 0x2231d343]
sal eax, 0x78
xor ecx, 0xa50a0825
sub byte [esp + eax - 0x43000000], 0x33
jge 0x102da989
shr edx, 0xce
sbb ecx, 0xff035782
sar al, 0xe1
shr edx, 0x33
not ecx
shr dword [esp + eax - 0x43000000], 0xb6
call fcn.103b82de
sal ax, cl
mov word [esi], ax
call fcn.103c0429
sal edx, 0x2a
jp 0x10369baf
mul dl
neg cl
dec cl
xor bl, cl
lea ecx, [esp + ecx + 8]
lea eax, [edx + edx*4 + 0x4cafb412]
bswap edx
or dx, word [ecx + edx*2]
or eax, dword [esp + eax - 0x4cafb410]
mov word [ebp], dx
movsx ecx, al
mov dword [esp + ecx - 0x7a], esi
ret 4
mov edx, dword [edi + ecx - 0x539f4b1a]
xor edx, ebx
sub edx, 0x5138df19
movzx eax, cl
bswap edx
cwde
shr eax, cl
shr eax, 0xcc
rol edx, 2
dec edx
neg cl
xor edx, 0x46277f99
dec al
dec edx
bt ax, cx
ror edx, 2
idiv cl
xor ebx, edx
bts cx, 0xa5
mov dword [esp + ecx - 0x539f4be6], eax
sub cx, cx
adc ebp, edx
mov eax, dword [esi + ecx - 0x539f0000]
imul ecx, dword [esp + ecx - 0x539f0000]
movsx edx, cx
mov ecx, dword [esi + edx + 4]
xor edx, edx
inc dx
sub word [esp + edx + 1], dx
lea esi, [edx + esi + 7]
mov dword [eax + edx - 1], ecx
call fcn.104553f5
adc al, 0xe8
mov edx, 0x585313f7
push ss
mov bh, dh
out dx, eax
pop dword [esi + edx - 0x78]
test dword [ebx], 0x88164853
imul dword [edi + 0xf]
sub al, 0x16
mov bh, dh
outsd dx, dword [esi]
cvttps2pi mm2, qword [esi]
mov bh, dh
pop ebx
jecxz 0x104707ac
loop 0x10470815
test eax, 0x234f756a
int1
idiv byte [ebp - 0x81c440b]
pop ebp
xor al, 0xca
cdq
push 0xffffffffffffff85
dec edx
add eax, 0xad68bf00
sub al, 0x51
add byte [edi + 0x354ec968], bh
add byte [edi + 0x3977b568], bh
add byte [edi + 0x216d8168], bh
add byte [edi + 0x7d1aa168], bh
push esp
loop 0x1047082d
neg dword [ebp + 0x34]
retf 0x6a99
xchg ebx, eax
mov byte [edi], al
adc dword [ecx + 0x8720a5a], edi
cmp eax, 0x720a4a41
or byte [0x720a3e45], bh
or byte [ecx - 0x722031f7], cl
mov esi, 0x67cb426b
dec eax
nop
jecxz 0x104708c0
xchg esi, eax
outsb dx, byte [esi]
cmp byte [ebx], 0x17
inc ebp
mov al, byte [0x7499446c]
xchg dword [ebx - 3], edi
xor al, 0xae
sal dword [ebp + 0x46826bab], 0xe5
dec ebx
stosd dword es:[edi], eax
pop esi
stosd dword es:[edi], eax
imul eax, dword [edx - 0x54b41aba], 0x5e
adc byte [ebp + 0x6aae9bbd], dl
jmp 0x1047088c
or cl, byte [ecx - 0x451dab83]
mov ch, 0x11
and edi, dword [ebx]
mov edx, dword [edi + edx*2 - 0x7646236a]
add edi, 4
call fcn.1036f375
mov eax, 0xab07a6a5
mov eax, dword [edi]
jmp 0x102f4f13