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 0x401825
push ebx
mov ebx, dword [esp + 0x10]
push str.Operation_of_the_protocol_division
call fcn.00401cf0
sub byte [esi + ebx], 0x1e
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x6d
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x78
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xd3
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xbf
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], 0x2b
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 9
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
add byte [esi + ebx], 0x4c
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], 0xee
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], 8
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x74
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xba
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xb5
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x5d
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xe6
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], 0xd8
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 7
push str.Operation_of_the_protocol_division
call fcn.00401cf0
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xe5
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
xor byte [esi + ebx], 0x1e
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], 0x7a
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x67
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x98
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], 0xc
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xab
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x12
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xd2
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
xor byte [esi + ebx], 0x53
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xd
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x7f
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xed
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x1d
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x5a
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x44
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 9
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xbd
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x67
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xac
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xa2
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xc0
add esp, 4
inc esi
cmp esi, edi
jb 0x401565
pop ebx
pop edi
pop esi
ret