Function at 0x401550
Capabilities:
Encode data using xor

Disassembly:
push esi
push edi
mov edi, dword [esp + 0x10]
xor esi, esi
test edi, edi
je 0x401829
push ebx
mov ebx, dword [esp + 0x10]
push str.Operation_of_the_protocol_division
call fcn.00401cf0
sub byte [esi + ebx], 0x5b
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xe7
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 1
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 4
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x78
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x81
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xfe
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xd1
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xa9
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xa
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x6f
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x65
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x52
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xb2
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x9b
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xfc
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xb
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x15
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x8c
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xb5
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xd4
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xce
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xaf
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 4
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x2d
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x45
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x31
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x8b
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x25
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xcf
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x29
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x49
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x9a
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xe7
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xc
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x31
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x7f
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xaf
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x79
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x11
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x66
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xd8
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x17
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xc4
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xb9
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x19
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xda
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x38
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x55
add esp, 4
inc esi
cmp esi, edi
jb 0x401565
pop ebx
pop edi
pop esi
ret