Function at 0x49cb60
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x304
xor ecx, ecx
mov eax, 1
push ebx
push esi
mov edx, eax
mov byte [esp + ecx + 0x10c], al
mov byte [esp + ecx + 0x20b], al
mov byte [esp + eax + 0xc], cl
and dl, 0x80
inc ecx
neg dl
sbb edx, edx
lea esi, [eax + eax]
and edx, 0x11b
xor edx, esi
xor eax, edx
cmp eax, 1
jne 0x49cb6f
xor ecx, ecx
mov edx, eax
mov byte [ecx + 0x7cf924], al
and dl, 0x80
neg dl
sbb edx, edx
add eax, eax
and edx, 0x11b
xor eax, edx
inc ecx
cmp ecx, 0x1e
jb 0x49cb9f
xor eax, eax
test al, al
je 0x49cbe1
mov ecx, eax
xor edx, edx
and ecx, 0xff
mov dl, byte [esp + ecx + 0xc]
lea ecx, [esp + 0x20b]
sub ecx, edx
xor edx, edx
mov dl, byte [ecx]
jmp 0x49cbe3
xor edx, edx
lea ecx, [edx + edx]
xor ecx, edx
shl ecx, 1
xor ecx, edx
shl ecx, 1
xor ecx, edx
shl ecx, 1
xor edx, ecx
mov ecx, edx
sar ecx, 8
xor cl, dl
xor cl, 0x63
mov byte [esp + 8], cl
mov byte [eax*4 + 0x7cd125], cl
mov esi, dword [esp + 8]
mov byte [eax*4 + 0x7ccd27], cl
mov byte [eax*4 + 0x7cc927], cl
mov byte [eax*4 + 0x7cc426], cl
mov byte [eax + 0x7c9970], cl
mov byte [eax*4 + 0x7cd124], cl
mov byte [eax*4 + 0x7ccd24], cl
mov byte [eax*4 + 0x7cc926], cl
mov byte [eax*4 + 0x7cc425], cl
je 0x49cc5f
mov edx, esi
xor ebx, ebx
and edx, 0xff
mov bl, byte [esp + edx + 0xc]
xor edx, edx
mov dl, byte [esp + ebx + 0x125]
jmp 0x49cc61
xor edx, edx
test cl, cl
mov byte [eax*4 + 0x7cd127], dl
mov byte [eax*4 + 0x7ccd26], dl
mov byte [eax*4 + 0x7cc925], dl
mov byte [eax*4 + 0x7cc424], dl
je 0x49cc9a
and esi, 0xff
xor ecx, ecx
mov cl, byte [esp + esi + 0xc]
mov edx, ecx
xor ecx, ecx
mov cl, byte [esp + edx + 0x10d]
jmp 0x49cc9c
xor ecx, ecx
mov esi, eax
mov byte [eax*4 + 0x7cd126], cl
and esi, 0xff
mov byte [eax*4 + 0x7ccd25], cl
mov byte [eax*4 + 0x7cc924], cl
mov byte [eax*4 + 0x7cc427], cl
lea ecx, [esi*8]
xor ecx, esi
shl ecx, 2
xor ecx, esi
shl ecx, 1
mov edx, ecx
sar edx, 8
xor dl, cl
xor dl, 5
je 0x49cd15
lea ecx, [esi*8]
xor ecx, esi
shl ecx, 2
xor ecx, esi
shl ecx, 1
mov edx, ecx
and ecx, 0xff
sar edx, 8
and edx, 0xff
xor edx, ecx
xor ecx, ecx
xor edx, 5
mov cl, byte [esp + edx + 0xc]
lea edx, [esp + 0x20b]
sub edx, ecx
mov bl, byte [edx]
jmp 0x49cd17
xor bl, bl
mov byte [esp + 8], bl
mov byte [eax + 0x7cc824], bl
mov esi, dword [esp + 8]
test bl, bl
je 0x49cd44
mov ecx, esi
xor edx, edx
and ecx, 0xff
mov dl, byte [esp + ecx + 0xc]
mov ecx, edx
xor edx, edx
mov dl, byte [esp + ecx + 0x174]
jmp 0x49cd46
xor edx, edx
mov ecx, esi
mov byte [eax*4 + 0x7cf126], dl
and ecx, 0xff
mov byte [eax*4 + 0x7ce925], dl
test bl, bl
mov byte [eax*4 + 0x7ce124], dl
mov byte [eax*4 + 0x7cd927], dl
mov byte [ecx*4 + 0x7ced26], dl
mov byte [ecx*4 + 0x7ce525], dl
mov byte [ecx*4 + 0x7cdd24], dl
mov byte [ecx*4 + 0x7cd527], dl
je 0x49cd9d
xor edx, edx
mov dl, byte [esp + ecx + 0xc]
mov esi, edx
xor edx, edx
mov dl, byte [esp + esi + 0x1d3]
jmp 0x49cd9f
xor edx, edx
test bl, bl
mov byte [eax*4 + 0x7cf124], dl
mov byte [eax*4 + 0x7ce927], dl
mov byte [eax*4 + 0x7ce126], dl
mov byte [eax*4 + 0x7cd925], dl
mov byte [ecx*4 + 0x7ced24], dl
mov byte [ecx*4 + 0x7ce527], dl
mov byte [ecx*4 + 0x7cdd26], dl
mov byte [ecx*4 + 0x7cd525], dl
je 0x49cdee
xor edx, edx
mov dl, byte [esp + ecx + 0xc]
mov esi, edx
xor edx, edx
mov dl, byte [esp + esi + 0x1fa]
jmp 0x49cdf0
xor edx, edx
test bl, bl
mov byte [eax*4 + 0x7cf125], dl
mov byte [eax*4 + 0x7ce924], dl
mov byte [eax*4 + 0x7ce127], dl
mov byte [eax*4 + 0x7cd926], dl
mov byte [ecx*4 + 0x7ced25], dl
mov byte [ecx*4 + 0x7ce524], dl
mov byte [ecx*4 + 0x7cdd27], dl
mov byte [ecx*4 + 0x7cd526], dl
je 0x49ce3f
xor edx, edx
mov dl, byte [esp + ecx + 0xc]
mov esi, edx
xor edx, edx
mov dl, byte [esp + esi + 0x1eb]
jmp 0x49ce41
xor edx, edx
mov byte [eax*4 + 0x7cf127], dl
mov byte [eax*4 + 0x7ce926], dl
mov byte [eax*4 + 0x7ce125], dl
mov byte [eax*4 + 0x7cd924], dl
inc eax
mov byte [ecx*4 + 0x7ced27], dl
cmp eax, 0x100
mov byte [ecx*4 + 0x7ce526], dl
mov byte [ecx*4 + 0x7cdd25], dl
mov byte [ecx*4 + 0x7cd524], dl
jl 0x49cbc0
pop esi
pop ebx
add esp, 0x304
ret