Function at 0x1799c12
Capabilities:
Encode data using xor

Disassembly:
dec ebp
arpl cx, cx
pop eax
dec edx
mov dword [esp + edx - 0x3b29], 0xb8264994
inc eax
and ch, ch
dec ebp
adc eax, ecx
and esi, eax
inc esi
mov esp, dword [ebx + edx - 0x3b25]
inc ecx
mov eax, dword [edx + ebx - 0x3b21]
inc ecx
mul esp
inc edx
mov edi, dword [esp + edx - 0x3b28]
dec esi
lea ecx, [esi + edx*8 + 0xeb5bc07]
inc edx
mov dword [ebx + edx*2 - 0x764e], edx
inc edx
sal byte [esp + edx - 0x3b24], 0xc1
inc ecx
mov dword [edx + ebx - 0x3b21], eax
jbe 0x1302759
mov dl, 0x1a
inc esp
mov esi, 0x4f0d5e7c
push 0xfffffffffffffffb
jp 0x13010bd
sub eax, 0x40fb6a4f
insb byte es:[edi], dx
sbb eax, 0x66fb6a4f
dec esp
sti
dec sp
xor dword [edi + 0x6a], ecx
sti
pop eax
insb byte es:[edi], dx
cld
or al, 0x7f
sti
imul edi, dword [eax], 5
fidivr word [eax]
add eax, 0x52894432
add edx, dword [ebx + 0x70]
insb byte es:[edi], dx
pop esp
push ss
shr byte [edi - 0x1c], cl
pop esi
mov ecx, 0xc677b66a
push 0xffffffffffffffb6
ja 0x1301051
xor dword [ebp - 0x2b], 0x28
xchg edx, eax
dec edx
adc ah, byte [edi + edi*8 + 0x21]
insb byte es:[edi], dx
mov al, 0x5d
push esp
inc ecx
rcl bh, 0x37
xor byte [esi - 0x61], dh
pop esp
xor eax, 0xdc7f703e
mov ebx, dword [eax - 0x13e3918]
jg 0x1301064
mov edi, dword [ecx]
jnp 0x13010f0
inc edi
jno 0x1301087
retf
cmp eax, 0x570f43a0
push es
mov dh, 0xef
add byte [edi - 0x6a], dl
add byte [edi - 0x46ba04cb], bh
sub ebx, dword [eax]
mov esi, 0xe6ac56b4
pop eax
push esp
in eax, dx
nop
sbb eax, dword [esi + 0x5a]
faddp st(1)
jge 0x1301131
daa
adc al, 0x90
lahf
jns 0x1301114
ror ch, 1
xchg al, cl
ror dword [ebx + 0x57b938fd], cl
push edi
je 0x130110c
rcr byte [eax - 0x3049e956], 0x94
pop esi
invalid
mul byte [ebp + 0xd]
aam 0x7f
sbb al, 0xfa
dec ebx
outsb dx, byte [esi]
mov ch, 0xf
cmp eax, 0x94f884a1
pop es
push esi
push es
sbb dword [eax + 0x3c], eax
add ah, byte [ebx + 0x6300d018]
mov esp, 0xe32b129b
div byte [ebp + 0x5d]
pop ebp
dec eax
sbb dword [ebp - 0x14a7d1fb], edi
dec edi
add esi, dword [edx - 0x358d97fa]
pop ebp
std
out 0xe2, eax
adc eax, 0xa576e296
mov al, byte [0x12edf50b]
adc al, 0x4e
dec edi
scasd eax, dword es:[edi]
loopne 0x130116e
lcall 0xeb69, 0x6002e8cf
and al, 0x28
add ch, dh
aad 0x86
sub byte [edi], al
pop es
test bl, bh
adc dword [eax + 0x10], esi
inc ebp
dec ebx
xor al, 0x29
out dx, eax
mov dword [ebx], ebx
insd dword es:[edi], dx
rol ecx, cl
mov dl, 0x98
movsd dword es:[edi], dword [esi]
push cs
sub dword [edi + 0x14], 0xffffffac
fld dword [edi + esi*4 - 0x75]
in eax, 0x10
fldcw word [ecx]
mov ebp, 0x5cd0dbfc
mov al, byte [0x867a58c9]
xor al, 0x8c
cmpsd dword [esi], dword es:[edi]
jg 0x1301197
sbb byte [ecx - 0x8e7f8c7], al
sub dword [ecx + 0x5c], 0xffffffbb
add byte [edx], al
adc bl, byte [eax]
xchg edx, eax
test dword [ebx + 0xbb5c69], 0x92181202
mov edx, esi
cld
add eax, 0xf85ba346
dec esi
push cs
mov ebp, 0x8dfc770c
adc cl, dl
movsb byte es:[edi], byte [esi]
popal
adc ch, byte [esi + 0x70022d2]
loop 0x1301163
push ebx
push ss
xchg ah, dh
int 0x81
adc ecx, eax
sar byte [edx + esi*4], 1
cmc
lcall 0x556d, 0xd2f15006
invalid
inc edx
adc cl, byte [esp + ebx - 0x141]
dec ecx
lea ebx, [edx + ebx - 0x3b25]
dec esi
mov dword [esp + edx - 0x3b29], eax
ret
inc cx
shl ebx, cl
inc edx
sub dword [esp + edx - 0x3b1f], 0x5a837fb3
inc ecx
dec ecx
inc ecx
mov edi, 0xa90c56bc
dec esi
mov dword [esp + edx - 0x3b21], ebp
inc ecx
mov ebp, 0xdb26d890
inc esi
xor dword [esp + edx - 0x3b21], ecx
dec eax
lea ebp, [ebp*8 + 0x711ded01]
dec esi
mov dword [esp + edx*8 - 0x1d948], ebx
dec esi
mov ebp, dword [esp + edx - 0x3b21]
dec ecx
lea esi, [edx - 0x55738856]
jmp 0x1300ff5