Function at 0x1a513ca
Capabilities:
Encode data using xor

Disassembly:
or ecx, esi
jmp ecx
mov eax, dword [edi]
mov cx, word ss:[eax]
mov eax, 0x578b9911
lea edi, [edi + eax - 0x578b990f]
bts eax, eax
mov edx, eax
push edx
mov word [edx + edi - 0x578b9911], cx
xchg edx, eax
sbb byte [esp + edx - 0x578b990f], al
movsx ecx, al
mov edx, dword [eax + esi - 0x578b9911]
sar byte [esp + ecx*2 - 0x1f], 3
push eax
lea esi, [esi + eax - 0x578b990d]
xor dword [esp + eax - 0x578b9911], ecx
xor eax, ecx
xor edx, ebx
ror ecx, 0xa9
btc cx, ax
btr ecx, 0x8e
rol edx, 3
imul cx, ax
setae cl
inc ax
bswap edx
shl ecx, cl
adc cx, 0x8793
pop eax
dec edx
sub ecx, ecx
adc word [esp + eax - 0x578b98fe], ax
shr ecx, 0x5b
not edx
and eax, eax
ror al, 0xa1
imul ecx, eax
bswap edx
inc edx
bswap edx
xor ebx, edx
add ebp, edx
push eax
push ecx
and word [esp + ecx + 9], 0x29ab
adc dword [esp + ecx], ebp
ret 8
xor ebx, ecx
xchg edx, eax
idiv eax
add esi, ecx
sub eax, eax
mov edi, dword [edx + edi - 0x9802aad]
sal eax, 0x11
imul eax, eax
jae fcn.019f5515
push es
cmpsd dword [esi], dword es:[edi]
out dx, eax
shr byte [esi + 0x76], cl
dec edi
or al, 5
lea ecx, [edi + 0x2d]
movsd dword es:[edi], dword [esi]
or al, 0x4d
dec esp
js 0x10b6875
lahf
daa
mov edx, 0x92575262
pushfd
lodsd eax, dword [esi]
dec edi
das
xor dword [edi - 0x6e], esp
adc eax, dword [ebx + 0x68]
invalid
add dl, ah
sub ebx, dword [edx - 0x3eea1c19]
mov edi, 0xbdcaaad1
xor bl, byte [ebp - 0x56075465]
jg 0x10b68f3
push edi
in eax, dx
aas
pop esi
and dword [ebp - 0x918fb87], esi
inc edi
sal byte [ecx + 0x72699826], 1
invalid
and eax, 0x44b2e431
nop
lodsd eax, dword [esi]
xchg edi, eax
mov bh, 0x36
mov ch, byte cs:[ebp + 0x52740657]
invalid
add ebp, 4
jmp 0x1a017f4
mov edx, 0x1332ea19
movzx eax, dx
lea esi, [edx + esi - 0x1332ea1d]
dec al
cbw
dec dl
mov eax, dword [edx + esi - 0x1332ea18]
xor eax, ebx
jmp 0x1acdc67
lea eax, [esp + eax + 4]
jae 0xfe5184
mov edx, dword [ebp]
mov eax, 0xbf82c194
not eax
mov eax, dword [ebp + eax - 0x407d3e67]
add ebp, 4
mov ecx, 0x88049883
imul ecx, ecx
and edx, eax
lea eax, [ecx + ecx*2 + 0x6e2c3c18]
dec eax
not edx
mov dword [ecx + ebp - 0x4ef3d309], edx
lea ecx, [ecx*4 - 0x63e8c26b]
mov eax, dword [edi + eax - 0x5b07b532]
movzx edx, cl
shr ecx, cl
sbb edx, 0xc4adc43c
lea edi, [ecx + edi - 0x67]
xor eax, ebx
lea eax, [eax + edx*2 + 0x686231c6]
not eax
inc eax
ror edx, 0xeb
neg cl
jnp 0x1ab69c3
rol eax, 1
or edx, edx
dec dl
bts edx, 0x8e
neg eax
lea eax, [eax + edx*2 - 0x556f3661]
xor cx, cx
and edx, edx
sbb ecx, ecx
ror eax, 1
xor ebx, eax
btr dx, 0x96
sar edx, 0xd5
adc esi, eax
shr ecx, 0x81
jns 0xff3034
idiv dword [esp + eax*4 - 0x2714]
xor bl, cl
call fcn.0130842b
mov edx, 0xa19ee0b9
mov eax, dword [edi]
bts edx, edx
sal edx, 0xba
mov ecx, edx
adc edi, 4
dec dx
push edx
jns 0x1a8ee5b
mov dword [esp], eax
mov eax, ecx
shr eax, 0x98
ror eax, 0x18
popfd
or cl, 0xb6
or dl, 0xf
mov ecx, dword [esi + eax - 0xe400]
lea esi, [esi + eax - 0xe3fc]
rol dx, 0xe8
push eax
xor byte [esp + eax*4 - 0x38ffe], dh
xor ecx, ebx
shl byte [esp + eax*2 - 0x1c7ff], 0xe5
neg byte [esp + eax - 0xe3fe]
sub word [esp + eax - 0xe3fe], dx
ror ecx, 2
sal dword [esp + eax*8 - 0x72000], 0xcf
cdq
cdq
sbb ecx, edx
sar eax, 0x3e
rol ax, 0xe4
bswap ecx
push edx
not ecx
cwd
bswap ecx
bts edx, eax
dec edx
push edx
xor ebx, ecx
rol dword [esp + edx*2 + 4], 0x46
call fcn.0100582c
sub esi, 4
mov edx, dword [esi]
mov eax, 0x2302d9b3
xor edx, ebx
shl ax, 0x29
ror edx, 1
inc edx
sar eax, 0x41
movzx ecx, al
push eax
not edx
inc byte [esp + eax - 0x11813300]
rol edx, 2
mov byte [esp + eax - 0x118132ff], al
shl dword [esp + eax*2 - 0x23026600], 0x93
rol eax, 0x4c
bswap edx
and ax, 0xf8b2
not edx
pop eax
neg ax
xchg ah, cl
xor ebx, edx
add edi, edx
inc al
neg al
lea edx, [eax + 0x21be5c35]
mov ax, word [ebp + eax*2 - 0x1001fe]
shl edx, 0x21
btr edx, ecx
setb cl
mov dx, word [ebp + ecx*2 + 2]
or cl, byte [ecx + ebp + 4]
jmp 0x1abd17a
cbw
dec cl
jmp 0x1baaac7
call fcn.01a8d1fe
pop ecx
dec esi
dec edx
jb 0x1a017e6
sar byte [ecx - 0x15], 0xa0
in eax, dx
cmp dword [ebx], esp
inc edx
test eax, 0xdd14422d
xor dl, byte [ecx + 0x49]
cwde
pop ebp
invalid
inc cl
ror edx, 0xa8
pop edx
ror word [esp + eax*2 - 0x1389], 0x67
neg cl
movsx edx, byte [esp + eax - 0x9c5]
jmp 0x19f9e56
lea edi, [edi + edx*2 - 0xed6e601]
shr edx, 0x5e
cmova ax, dx
sbb ax, dx
movzx eax, byte [eax + edi - 0x40000000]
xor al, bl
shl dl, 0x22
lea edx, [edx*2 + 0x60a0263e]
xor al, 0xe
not edx
inc edx
dec al
sar dl, 0xe2
not dx
not al
bt dx, 0x23
ror al, 1
xor dx, dx
xor al, 0x10
sar dx, 0x66
push edx
adc al, 0x89
imul edx, dword [esp]
sub word [esp + edx*2], 0x9810
sar edx, 0x67
xor bl, al
sal dx, 0x84
jp 0x19ddd2c
jmp 0x10e1367
mov cx, word [edx + edi - 0x31c0a936]
bswap edx
and dx, 0xbb80
sets dl
lea edi, [edx + edi - 0x38a97fff]
sar edx, 0xe1
and dx, dx
or ax, cx
not ax
mov ecx, edx
mov word [edi + edx*4 - 0x71530000], ax
push edx
mov ecx, dword [esi + edx - 0x1c54c000]
rol byte [esp + edx*2 - 0x38a98000], 0x41
lea esi, [esi + edx*2 - 0x38a97ffc]
movzx eax, dl
imul eax
adc dword [esp + eax], 0x1c304e93
xor ecx, ebx
add ax, dx
sal al, 0x87
inc ecx
sub edx, 0x738a9230
jo 0x10b67f4
or edx, edx
rol ecx, 3
shr eax, 0x61
lea ecx, [eax + ecx - 0x309063be]
cwd
neg ecx
xchg edx, eax
xor ebx, ecx
xchg dword [esp + edx*8], eax
lea eax, [edx + edx - 0x11feaed7]
and ax, 0xbb07
adc ebp, ecx
xchg dx, ax
mov dword [esp + edx - 0x1101], ebp
ret
jmp 0x10c1a59
neg eax
mov ecx, edx
push ecx
not word [esp + edx - 0x1332ea18]
lea eax, [edx + eax + 0x56506e07]
add ecx, ecx
adc dword [esp + ecx*2 - 0x4ccba860], 0x5a3a6e80
neg eax
neg word [esp + edx - 0x1332ea16]
inc eax
lea ecx, [edx + edx - 0x71c7db5b]
dec edx
not eax
xor ebx, eax
xchg edx, ecx
mov dword [esp + ecx*2 - 0x2665d42e], ecx
add edi, eax
fstp qword [ecx + ebp - 0x1332ea17]
mov dword [esp + ecx - 0x1332ea17], edi
ret
lea eax, [edx*2 + 0x22144a37]
not edx
rol cl, 1
imul edx
bt eax, 0x10
not cl
setae al
lea edx, [edx + edx*8 + 0x4a22e229]
imul dl
xor bl, cl
add ecx, esp
shr eax, 0x4d
add eax, eax
sub eax, edx
mov ax, word [ecx + edx - 0x4a22a03e]
lea ecx, [edx + edx*2 + 0x6c359715]
lea edi, [edi + edx - 0x4a22a040]
setg dl
sar cl, 0x42
inc dx
mov word [edi + edx - 0x4a22a001], ax
btc edx, 0x82
adc cl, cl
mov ecx, dword [esi + ecx - 0x4a9d77e6]
movzx eax, dl
bswap eax
lea esi, [eax + esi - 0x4fffffc]
shr al, 0xa4
xor ecx, ebx
lea edx, [edx + 0x21a2eca6]
xor ecx, 0xfdadfabb
call fcn.0115d057
jmp 0x1096078