Function at 0x101748f0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0x34
test eax, eax
push edi
mov edi, ecx
jne 0x10174907
mov al, 1
pop edi
add esp, 0x34
ret 0x14
push ebp
mov ebp, dword [esp + 0x44]
test ebp, ebp
jne 0x1017492a
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 0x10174957
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 0x10174979
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 0x1017498f
pop ebx
pop ebp
xor al, al
pop edi
add esp, 0x34
ret 0x14
mov al, byte [0x1026e91c]
mov ecx, dword [esp + 0x50]
push esi
mov byte [esp + 0x13], al
call fcn.100f6330
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.1001cc40
test al, al
jne 0x101749dc
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.10018050
cmp byte [esp + 0x13], 0
mov esi, eax
mov eax, dword [edi + 0x80]
je 0x10174abd
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 0x10174a21
push eax
lea edx, [esp + 0x38]
push ebp
push edx
call sub.MSVCR80.dll_memcpy
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 0x10174a6f
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 0x10174a50
mov ebp, dword [esp + 0x58]
mov eax, dword [edi + 0x80]
add dword [esp + 0x48], eax
add ebx, eax
sub dword [esp + 0x14], 1
jne 0x10174a21
sub ebx, eax
xor ecx, ecx
test eax, eax
jbe 0x10174aa3
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 0x10174a90
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
push eax
call fcn.10018270
pop esi
pop ebx
pop ebp
mov al, 1
pop edi
add esp, 0x34
ret 0x14
cmp eax, 0x10
jne 0x10174b7f
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 0x10174ae6
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.10018270
pop esi
pop ebx
pop ebp
mov al, 1
pop edi
add esp, 0x34
ret 0x14
cmp eax, 8
jne 0x10174bf1
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 0x10174b96
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.10018270
pop esi
pop ebx
pop ebp
mov al, 1
pop edi
add esp, 0x34
ret 0x14