Function at 0x5bbbd0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0x34
test eax, eax
push edi
mov edi, ecx
jne 0x5bbbe7
mov al, 1
pop edi
add esp, 0x34
ret 0x14
push ebp
mov ebp, dword [esp + 0x44]
test ebp, ebp
jne 0x5bbc0a
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.NULL_passed_to_CFB_encryptor
call edx
pop ebp
xor al, al
pop edi
add esp, 0x34
ret 0x14
mov ecx, dword [edi + 0x80]
cmp ecx, 1
ja 0x5bbc37
mov ecx, dword [esp + 0x50]
mov edx, dword [edi]
mov edx, dword [edx + 0x18]
push ecx
mov ecx, dword [esp + 0x50]
push ecx
push eax
mov eax, dword [esp + 0x4c]
push ebp
push eax
mov ecx, edi
call edx
pop ebp
pop edi
add esp, 0x34
ret 0x14
xor edx, edx
div ecx
test edx, edx
je 0x5bbc59
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.CFB_input_not_a_multiple_of_the_cipher_block_size.
call edx
pop ebp
xor al, al
pop edi
add esp, 0x34
ret 0x14
push ebx
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x10], ebx
jne 0x5bbc6f
pop ebx
pop ebp
xor al, al
pop edi
add esp, 0x34
ret 0x14
mov al, byte [0x7950a8]
mov ecx, dword [esp + 0x50]
push esi
mov byte [esp + 0x13], al
call fcn.00544a30
mov ecx, dword [esp + 0x50]
mov esi, eax
lea eax, [esi + ecx]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
add eax, 0x20
push eax
call fcn.0046c5f0
test al, al
jne 0x5bbcbc
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Unable_to_allocate_CFB_encrypt_output_buffer.
call eax
pop esi
pop ebx
pop ebp
xor al, al
pop edi
add esp, 0x34
ret 0x14
mov ecx, dword [esp + 0x54]
push esi
call fcn.00467dd0
cmp byte [esp + 0x13], 0
mov esi, eax
mov eax, dword [edi + 0x80]
je 0x5bbd9d
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
add ebp, 8
test eax, eax
mov dword [esp + 0x58], ebp
mov dword [esp + 0x48], ecx
mov ebx, esi
jbe 0x5bbd01
push eax
lea edx, [esp + 0x38]
push ebp
push edx
call fcn.00630200
add esp, 0xc
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x38]
push edx
mov ecx, edi
call eax
xor ecx, ecx
cmp dword [edi + 0x80], ecx
jbe 0x5bbd4f
mov ebp, dword [esp + 0x48]
lea edx, [esp + 0x24]
mov esi, ebx
mov eax, edx
sub ebp, edx
sub esi, eax
mov edi, edi
lea edx, [esp + ecx + 0x24]
mov al, byte [edx + ebp]
xor al, byte [edx]
add ecx, 1
mov byte [esi + edx], al
cmp ecx, dword [edi + 0x80]
mov byte [esp + ecx + 0x33], al
jb 0x5bbd30
mov ebp, dword [esp + 0x58]
mov eax, dword [edi + 0x80]
add dword [esp + 0x48], eax
add ebx, eax
sub dword [esp + 0x14], 1
jne 0x5bbd01
sub ebx, eax
xor ecx, ecx
test eax, eax
jbe 0x5bbd83
mov esi, ebx
mov eax, ebp
sub esi, ebp
mov dl, byte [esi + eax]
mov byte [eax], dl
add ecx, 1
add eax, 1
cmp ecx, dword [edi + 0x80]
jb 0x5bbd70
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
push eax
call fcn.00467ff0
pop esi
pop ebx
pop ebp
mov al, 1
pop edi
add esp, 0x34
ret 0x14
cmp eax, 0x10
jne 0x5bbe5f
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, edi
call eax
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
xor ecx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
mov dword [esi], ecx
mov dword [esi + 4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
xor eax, dword [esp + 0x1c]
xor ecx, dword [esp + 0x20]
mov edx, dword [esi]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0xc]
add ebp, 0x10
add esi, 0x10
sub ebx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
jne 0x5bbdc6
mov ecx, dword [esi - 0x10]
mov eax, dword [esp + 0x48]
sub esi, 0x10
mov dword [eax + 8], ecx
mov edx, dword [esi + 4]
mov dword [eax + 0xc], edx
mov ecx, dword [esi + 8]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x50]
push eax
call fcn.00467ff0
pop esi
pop ebx
pop ebp
mov al, 1
pop edi
add esp, 0x34
ret 0x14
cmp eax, 8
jne 0x5bbed1
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, edi
call eax
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
xor ecx, dword [esp + 0x24]
xor edx, dword [esp + 0x28]
mov dword [esi], ecx
mov eax, ecx
mov dword [esi + 4], edx
mov ecx, edx
add ebp, 8
add esi, 8
sub ebx, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jne 0x5bbe76
mov edx, dword [esi - 8]
mov eax, dword [esp + 0x48]
mov dword [eax + 8], edx
mov ecx, dword [esi - 4]
mov edx, dword [esp + 0x50]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x54]
push edx
call fcn.00467ff0
pop esi
pop ebx
pop ebp
mov al, 1
pop edi
add esp, 0x34
ret 0x14