Function at 0x5bc1c0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [esp + 0x34]
test ebx, ebx
push ebp
mov ebp, ecx
jne 0x5bc1d9
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14
push edi
mov edi, dword [esp + 0x38]
test edi, edi
jne 0x5bc1fd
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.NULL_passed_to_OFB_encryptor
call edx
pop edi
pop ebp
xor al, al
pop ebx
add esp, 0x24
ret 0x14
mov ecx, dword [ebp + 0x80]
cmp ecx, 1
ja 0x5bc22c
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [ebp]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [eax + 0x18]
push ebx
push edi
push ecx
mov ecx, ebp
call edx
pop edi
pop ebp
pop ebx
add esp, 0x24
ret 0x14
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
je 0x5bc251
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.OFB_input_not_a_multiple_of_the_cipher_block_size.
call edx
pop edi
pop ebp
xor al, al
pop ebx
add esp, 0x24
ret 0x14
test eax, eax
mov dword [esp + 0x38], eax
je 0x5bc246
mov al, byte [0x7950a8]
mov ecx, dword [esp + 0x40]
push esi
mov byte [esp + 0x40], al
call fcn.00544a30
mov ecx, dword [esp + 0x44]
mov esi, eax
lea eax, [esi + ebx]
mov dword [esp + 0x10], eax
add eax, 0x20
push eax
call fcn.0046c5f0
test al, al
jne 0x5bc2a2
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Unable_to_allocate_OFB_encrypt_output_buffer.
call eax
pop esi
pop edi
pop ebp
xor al, al
pop ebx
add esp, 0x24
ret 0x14
mov ecx, dword [esp + 0x44]
push esi
call fcn.00467dd0
cmp byte [esp + 0x40], 0
mov esi, eax
je 0x5bc388
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x38], edi
mov edi, esi
mov esi, dword [ebp + 0x80]
add ebx, 8
xor eax, eax
test esi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], edi
jbe 0x5bc2f4
lea ecx, [esp + 0x14]
sub ebx, ecx
lea ecx, [esp + eax + 0x14]
mov dl, byte [ebx + ecx]
mov byte [esp + eax + 0x24], dl
add eax, 1
cmp eax, esi
mov byte [ecx], dl
jb 0x5bc2e0
mov edx, dword [ebp]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call edx
xor eax, eax
cmp dword [ebp + 0x80], eax
jbe 0x5bc343
mov esi, dword [esp + 0x38]
mov edx, edi
lea ecx, [esp + 0x24]
sub esi, edi
sub edx, ecx
lea ecx, [esp + eax + 0x24]
lea edi, [edx + ecx]
mov bl, byte [edi + esi]
xor bl, byte [ecx]
add eax, 1
mov byte [edi], bl
cmp eax, dword [ebp + 0x80]
mov cl, byte [ecx]
mov byte [esp + eax + 0x13], cl
jb 0x5bc320
mov edi, dword [esp + 0x48]
mov eax, dword [ebp + 0x80]
add dword [esp + 0x38], eax
add edi, eax
sub dword [esp + 0x3c], 1
mov dword [esp + 0x48], edi
jne 0x5bc2f4
xor ecx, ecx
test eax, eax
jbe 0x5bc4c9
mov eax, dword [esp + 0x40]
lea esi, [esp + 0x24]
sub esi, eax
mov edi, edi
mov dl, byte [esi + eax]
mov byte [eax], dl
add ecx, 1
add eax, 1
cmp ecx, dword [ebp + 0x80]
jb 0x5bc370
jmp 0x5bc4c9
mov eax, dword [ebp + 0x80]
cmp eax, 0x10
jne 0x5bc45f
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
jmp 0x5bc3d0
mov edx, dword [ebp]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call edx
mov edx, dword [edi + 4]
mov ecx, dword [edi]
xor edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
xor ecx, eax
mov dword [esi + 4], edx
mov dword [esi], ecx
mov edx, dword [edi + 8]
mov ebx, dword [edi + 0xc]
xor edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
xor ebx, ecx
mov dword [esi + 8], edx
mov edx, dword [esp + 0x28]
mov dword [esi + 0xc], ebx
mov ebx, dword [esp + 0x2c]
add edi, 0x10
add esi, 0x10
sub dword [esp + 0x3c], 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ecx
jne 0x5bc3d0
mov esi, dword [esp + 0x38]
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0x10]
mov dword [esi + 8], eax
mov eax, ebx
push ecx
mov ecx, dword [esp + 0x48]
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], eax
call fcn.00467ff0
pop esi
pop edi
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14
cmp eax, 8
jne 0x5bc4d7
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
lea ebx, [ebx]
mov edx, dword [ebp]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call edx
mov edx, dword [edi + 4]
mov ecx, dword [edi]
mov eax, dword [esp + 0x24]
xor edx, dword [esp + 0x28]
xor ecx, eax
mov dword [esi], ecx
mov ecx, dword [esp + 0x28]
mov dword [esi + 4], edx
add edi, 8
add esi, 8
sub ebx, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jne 0x5bc480
mov edx, dword [esp + 0x38]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
push eax
call fcn.00467ff0
pop esi
pop edi
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14