Function at 0x5bc4f0
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 0x5bc509
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14
push edi
mov edi, dword [esp + 0x38]
test edi, edi
jne 0x5bc52d
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.NULL_passed_to_OFB_decryptor
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 0x5bc55c
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 + 0x1c]
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 0x5bc581
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.OFB_decrypt_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 0x5bc576
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 0x5bc5d2
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Unable_to_allocate_OFB_decrypt_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 0x5bc6b8
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 0x5bc624
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 0x5bc610
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 0x5bc673
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 0x5bc650
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 0x5bc624
xor ecx, ecx
test eax, eax
jbe 0x5bc7f9
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 0x5bc6a0
jmp 0x5bc7f9
mov eax, dword [ebp + 0x80]
cmp eax, 0x10
jne 0x5bc78f
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 0x5bc700
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 esi, 0x10
add edi, 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 0x5bc700
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 0x5bc807
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 esi, 8
add edi, 8
sub ebx, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jne 0x5bc7b0
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