Function at 0x5411d0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [esp + 0x34]
push ebp
mov ebp, ecx
test ebx, ebx
jne 0x5411e9
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14
push esi
mov esi, dword [esp + 0x38]
test esi, esi
jne 0x54120d
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.NULL_passed_to_CFB_decryptor
call edx
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x24
ret 0x14
mov ecx, dword [ebp + 0x80]
cmp ecx, 1
ja 0x54123c
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 esi
push ecx
mov ecx, ebp
call edx
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 0x14
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
je 0x541261
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.CFB_decrypt_input_not_a_multiple_of_the_cipher_block_size.
call edx
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x24
ret 0x14
mov dword [esp + 0x38], eax
test eax, eax
je 0x541256
mov al, byte [0x643062]
mov ecx, dword [esp + 0x40]
push edi
mov byte [esp + 0x40], al
call fcn.0051d090
mov ecx, dword [esp + 0x44]
mov edi, eax
add ebx, edi
mov dword [esp + 0x10], ebx
add ebx, 0x20
push ebx
call fcn.0044b660
test al, al
jne 0x5412b1
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Unable_to_allocate_CFB_decrypt_output_buffer.
call eax
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x24
ret 0x14
mov ecx, dword [esp + 0x44]
push edi
call fcn.00446fb0
cmp byte [esp + 0x40], 0
mov edi, eax
mov eax, dword [ebp + 0x80]
je 0x541394
mov ecx, dword [esp + 0x38]
add ecx, 8
mov dword [esp + 0x48], ecx
mov ebx, esi
mov dword [esp + 0x38], edi
test eax, eax
jbe 0x5412f2
push eax
push ecx
lea ecx, [esp + 0x2c]
push ecx
call fcn.00554d40
add esp, 0xc
mov edx, dword [ebp]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, ebp
call edx
xor ecx, ecx
cmp dword [ebp + 0x80], ecx
jbe 0x541335
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x14]
mov esi, ebx
mov edx, eax
sub esi, eax
sub edi, edx
lea eax, [esp + ecx + 0x14]
mov dl, byte [esi + eax]
xor dl, byte [eax]
inc ecx
mov byte [edi + eax], dl
cmp ecx, dword [ebp + 0x80]
jb 0x541320
mov esi, dword [ebp + 0x80]
add dword [esp + 0x38], esi
xor eax, eax
test esi, esi
jbe 0x54135e
mov edi, ebx
lea ecx, [esp + 0x24]
sub edi, ecx
lea ecx, [ecx]
lea ecx, [esp + eax + 0x24]
mov dl, byte [edi + ecx]
inc eax
mov byte [ecx], dl
cmp eax, esi
jb 0x541350
add ebx, esi
sub dword [esp + 0x3c], 1
jne 0x5412f2
xor ecx, ecx
test esi, esi
jbe 0x541496
mov eax, dword [esp + 0x48]
lea esi, [esp + 0x24]
sub esi, eax
jmp 0x541380
mov dl, byte [esi + eax]
mov byte [eax], dl
inc ecx
inc eax
cmp ecx, dword [ebp + 0x80]
jb 0x541380
jmp 0x541496
cmp eax, 0x10
jne 0x541436
mov eax, dword [esp + 0x38]
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
lea ecx, [ecx]
mov eax, dword [ebp]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, ebp
call eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
xor ecx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
xor eax, dword [esp + 0x1c]
xor ecx, dword [esp + 0x20]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov ebx, dword [esi + 0xc]
add edi, 0x10
add esi, 0x10
sub dword [esp + 0x3c], 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebx
jne 0x5413c0
mov esi, dword [esp + 0x38]
mov dword [esi + 0x10], edx
mov edx, ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 0x14], edx
jmp 0x541496
cmp eax, 8
jne 0x5414a4
mov ebx, dword [esp + 0x38]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
lea ecx, [ecx]
mov eax, dword [ebp]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, ebp
call eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
xor ecx, dword [esp + 0x24]
xor edx, dword [esp + 0x28]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add edi, 8
add esi, 8
sub dword [esp + 0x3c], 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jne 0x541450
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
push eax
call fcn.004471d0
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14