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], 0xc
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
xor byte [esi + ebx], 0xfc
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], 0xe3
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xe
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xa2
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xd
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xea
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x12
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x42
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
add byte [esi + ebx], 0x5c
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
add byte [esi + ebx], 0x41
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x88
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x8e
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xaa
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x95
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], 0x6d
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xe0
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x19
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xc0
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x73
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x59
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], 0xba
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xc1
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x95
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x4a
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x5e
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x5f
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x3f
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xa2
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
xor byte [esi + ebx], 0xaa
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x33
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xf3
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x46
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xc1
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x28
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xd6
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x62
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 3
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x35
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xdd
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x51
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x4c
add esp, 4
inc esi
cmp esi, edi
jb 0x401565
pop ebx
pop edi
pop esi
ret