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
add byte [esi + ebx], 0x47
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x28
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x6d
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xe3
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xfa
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xf2
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x20
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xb6
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
add byte [esi + ebx], 0xfa
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xde
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x36
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x2e
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xe2
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
add byte [esi + ebx], 0x30
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xbb
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], 0xb3
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x89
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x1e
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xbb
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], 0x3a
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xfc
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xfa
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xa4
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], 0xab
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x39
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xa5
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x2b
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xdd
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x82
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xad
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x4c
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xc5
push str.Operation_of_the_protocol_division
call fcn.00401cf0
sub byte [esi + ebx], 0x80
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x9e
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xc4
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x9e
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x93
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x7c
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
xor byte [esi + ebx], 0xc9
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xf5
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xaa
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xf4
add esp, 4
inc esi
cmp esi, edi
jb 0x401565
pop ebx
pop edi
pop esi
ret