Function at 0x36f097a
Capabilities:
Encode data using xor

Disassembly:
rol ecx, 2
not dl
inc ecx
shl eax, 0xb9
inc eax
xor ebx, ecx
ror dl, 0x43
ror ax, 0x46
inc ax
adc esi, ecx
movzx ecx, dx
not dx
xadd dl, ch
mov cx, word [ebp + eax - 0x403]
neg eax
rol dl, 7
add eax, 0x663baf9d
movzx eax, byte [edi + eax - 0x663baba2]
neg edx
lea edi, [edi + edx - 0x51753848]
push edx
jno 0x361345b
xor ebx, eax
or ecx, ecx
adc esi, eax
movzx eax, cl
jmp fcn.03d5ea4f
inc ecx
inc esp
dec edx
sub dword [esp + ebx - 0x5e2acb00], 0x72926baf
inc ecx
rol esp, 3
dec eax
not esi
inc eax
movsx edx, dh
dec esi
mov dword [esp + ebx - 0x5e2acb00], ebp
inc esp
xor dword [esp + eax - 0x2d2bee8f], esp
inc cx
sub edx, ebx
dec eax
not esi
inc ecx
pop ebp
inc cx
inc ecx
js 0x365b95e
mov edi, 0xf318e803
dec eax
neg edi
dec eax
shr esi, cl
movzx edx, byte [esp]
dec eax
mov dword [ebp + edx - 0xa1], esi
xor word [esp + edx - 0xa0], dx
inc ecx
mov ecx, dword [eax + edx*4 - 0x284]
rol byte [esp + edx - 0x9e], 0xe1
dec ebp
lea eax, [eax + edx - 0x9d]
inc ecx
xor ecx, ebp
inc esp
movsx ebx, di
mov ebx, 0x15aa722a
dec eax
neg ebx
rol ecx, 3
inc ecx
pop esi
inc ebp
mov esp, esi
inc ecx
movsx esi, ah
inc ecx
call fcn.03d62e30
mov eax, 0x8a3d0884
sub edi, 4
movzx ecx, al
shr eax, 3
mov eax, dword [edi + eax*2 - 0x228f4220]
mov edx, 0xf3b0c493
and edx, 0xfe09eba3
xor eax, ebx
inc ecx
neg dx
add edx, ecx
rol eax, 3
neg eax
neg dl
ror eax, 3
shl dx, 0x42
neg eax
shl ecx, 0x4a
rol eax, 1
inc edx
and cx, dx
and edx, 0x23b48a2f
bswap eax
sets cl
lea eax, [eax + ecx*2 + 0x5f9a001d]
ror eax, 3
call fcn.0234f3ec
not eax
xadd dword [esp + ecx*2 - 0x404a], ecx
inc eax
rol cx, 0xe6
not eax
bswap edx
sbb dword [esp + edx*4 - 0x4ff42998], 0xd313a10f
pop ecx
bswap eax
shl edx, cl
sbb eax, 0xea0b09a1
not edx
inc ecx
xor ebx, eax
mov dword [ebp - 4], eax
movzx edx, byte [edi - 9]
sub edi, 9
xor dl, bl
and cx, cx
movzx eax, cl
xor dl, 0xa4
xor eax, 0x3482efa4
neg dl
xor dl, 0x38
ror dl, 1
sar cl, cl
ror ecx, cl
xor bl, dl
jmp 0x368b168
jns fcn.03cfab6b
and word [esp + edx - 0x51753842], dx
xor al, bl
and byte [esp + edx - 0x51753841], 0x20
call fcn.03d6fdce
mov ecx, 0x41981a8b
movzx edx, cl
lea edi, [edi + edx - 0x8f]
lea eax, [ecx*4 - 0x5ae59967]
not edx
mov ecx, dword [edi + ecx - 0x41981a8b]
xor ecx, ebx
call fcn.03d60c3f
rol dword [esp + ecx*2 - 0x80], 0xca
shl cx, 0x65
lea edi, [edi + ecx*4 - 0x2005]
xor dl, bl
mov eax, 0xbc869122
neg eax
xor dl, 0xa4
neg dl
rol eax, 0x52
sbb ecx, ecx
xor dl, 0x38
ror dl, 1
xor bl, dl
add dword [esp], eax
lea edx, [esp + edx + 4]
adc cx, ax
or eax, 0xd71ac282
mov ecx, dword [edx]
mov dword [ebp], ecx
pop ecx
jmp esi
inc edx
movzx eax, byte [eax + eax - 0x2d2bee8f]
dec ecx
not ecx
inc ecx
mov ebx, ebx
dec ebp
lea eax, [eax + edx*8 - 0x1ab7f]
inc ebp
movzx edi, cx
inc ecx
xor al, ch
call fcn.036a7ab9
call fcn.03616f34
inc esp
mov esi, eax
dec ebp
arpl sp, sp
jb 0x3cdc9a7
mov eax, 0x319e1caf
mov edx, 0xcfa34f27
mov eax, dword [ebp + eax*2 - 0x633c395e]
jmp 0x3d820dc
neg cl
add edx, esp
jmp 0x3d72b7d
sub esi, 4
lea eax, [ecx*4 - 0x7964a3ca]
mov eax, dword [esi]
xor eax, ebx
lea eax, [eax + ecx + 0x61fe74fe]
lea edx, [ecx + ecx + 0x3906594]
shr edx, cl
neg eax
inc cl
call fcn.03cf3ed1
xor ebx, edx
add esi, edx
pop edx
mov dword [esp + edx*2 - 0x66734e74], esi
ret 0xc
lea ecx, [eax + eax + 0x6e2249a0]
mov dword [esp + ecx - 0x6e2249a0], eax
xor bl, dl
bswap ecx
mov word [ebp + eax*2 - 2], dx
mov ecx, dword [eax + edi - 5]
shr eax, 0xd2
movzx edx, al
xor ecx, ebx
sar eax, 0xae
jns 0x3d86fdb
bswap eax
bswap ecx
xor eax, 0x1fb16a83
ror eax, 1
xor ebx, eax
xchg dx, cx
add edi, eax
mov edx, dword [ebp + edx - 0x7711ffff]
mov ecx, dword [ebp + 4]
mov dword ss:[edx], ecx
mov ecx, 0xd920b22c
movzx eax, byte [esi - 5]
sar ecx, 0x61
sbb esi, 5
jmp 0x3d0eb8a
dec ebp
add edx, esp
dec esp
mov esi, dword [ebp + eax - 0x2d2bee8f]
dec eax
lea ebp, [eax + ebp - 0x2d2bee87]
jmp 0x362f53d
movzx edx, cx
xor al, bl
push ecx
xadd dword [esp + edx - 0x5916], edx
neg al
not dword [esp]
not dl
add al, 0x36
xor al, 0
dec al
xchg dh, dl
call fcn.022c2c0c
add dword [esi + 0x795f8ed6], edi
call 0x3780af97
pushfd
and byte [ecx - 0x6d], dl
rcr dword [ebx - 0x6caedf30], cl
mov edi, 0x5120aca7
xchg ebx, eax
cmp dword [ebx - 0x6caedf48], 0xfffffff7
invalid
mov eax, dword [edx + eax*4 - 0x2addc14]
dec cl
mov dword [ebp + ecx - 0x47e1d8ca], eax
sbb byte [esp + ecx - 0x47e1d8b9], cl
adc dword [esp + ecx - 0x47e1d8bd], ecx
lea ebp, [ecx + ebp - 0x47e1d8ca]
pop ecx
pop eax
pop edx
pop ecx
pop eax
ja fcn.03623c8d
neg byte [ebx + edi*8]
xchg esi, eax
adc eax, 0xcf2ce0c8
rcr dword [edi - 0x731a0902], 0xd6
mov esi, 0xd1ce16fb
add eax, dword [ebx]
xchg esi, eax
into
rol dword [ebx], 1
rol dword [esi + 0x3d1ce16], cl
xor esp, dword [esi + 1]
xor byte [ebx - 0x10ff7701], ah
or dword [eax - 0x4c], edx
push ds
pop eax
jmp 0x3d3e27e
push ecx
or eax, 0x8fc9be82
stosb byte es:[edi], al
mov al, byte [0xb59b5dc1]
std
invalid
or eax, eax
mov eax, dword [edx + eax*2 - 0x6905de04]
and cx, 0x6c0d
movsx edx, cx
mov dword [ebp + edx*4 - 0x101c], eax
lea ebp, [ebp + edx*2 - 0x812]
jg 0x360ba33
fld qword [ebp]
mov ecx, 0x5c2f9cb0
lea ecx, [ecx + ecx*4 - 0x4266dc6b]
jmp 0x36e216e
call fcn.03d211de
xor bl, dl
lea ecx, [eax + eax*4 + 0x1d2f53af]
lea edx, [esp + edx + 0x14]
shr eax, cl
bswap ecx
ja 0x3d3e1d5
bswap ecx
neg dx
xchg dword [esp + eax], eax
lea ecx, [ecx + eax + 0x1d957087]
jge 0x3d95bcd
setl dl
ror ecx, 2
pop edx
add eax, eax
not ecx
xor edx, 0xae8a382a
ja 0x22bc9b5
inc ecx
mov ebx, 0x5e2acb00
inc edi
mov esp, dword [eax + ebx - 0x5e2acb00]
dec ecx
lea eax, [ebx - 0x30fedc71]
dec ebp
lea eax, [eax + eax*2 - 0x5a57dd1a]
inc ebp
xor esp, ebp
movzx esi, al
inc esp
movsx ecx, al
dec edx
lea edi, [esi + ebx*2 + 0x218b5627]
inc ecx
bswap esp
inc ecx
ror esp, 2
push eax
jmp 0x234bba1