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 0x401824
push ebx
mov ebx, dword [esp + 0x10]
push str.Operation_of_the_protocol_division
call fcn.00401cf0
sub byte [esi + ebx], 0x28
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x14
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xf9
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x56
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x3e
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x76
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xb
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x4d
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], 0xf3
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x1d
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
add byte [esi + ebx], 0x75
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x76
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xa7
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x24
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xb1
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x9c
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], 0xf6
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x30
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xd1
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x71
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x14
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x9d
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xdc
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x9c
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0xf8
push str.Operation_of_the_protocol_division
call fcn.00401cf0
dec byte [esi + ebx]
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x13
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x1b
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x51
add esp, 0x40
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x71
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x15
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], 0x5b
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xa8
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
add byte [esi + ebx], 0x71
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xc7
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x14
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x16
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x38
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0xd7
push str.Operation_of_the_protocol_division
call fcn.00401cf0
push str.Operation_of_the_protocol_division
call fcn.00401cf0
xor byte [esi + ebx], 0x61
push str.Operation_of_the_protocol_division
call fcn.00401cf0
add byte [esi + ebx], 0x10
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], 0x6f
add esp, 4
inc esi
cmp esi, edi
jb 0x401565
pop ebx
pop edi
pop esi
ret