Function at 0x10174c00
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 0x10174c19
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14
push esi
mov esi, dword [esp + 0x38]
test esi, esi
jne 0x10174c3d
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 0x10174c6c
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 0x10174c91
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
test eax, eax
mov dword [esp + 0x38], eax
je 0x10174c86
mov al, byte [0x1026e91c]
mov ecx, dword [esp + 0x40]
push edi
mov byte [esp + 0x40], al
call fcn.100f6330
mov ecx, dword [esp + 0x44]
mov edi, eax
add ebx, edi
mov dword [esp + 0x10], ebx
add ebx, 0x20
push ebx
call fcn.1001cc40
test al, al
jne 0x10174ce1
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.10018050
cmp byte [esp + 0x40], 0
mov edi, eax
mov eax, dword [ebp + 0x80]
je 0x10174dc8
mov ecx, dword [esp + 0x38]
add ecx, 8
test eax, eax
mov dword [esp + 0x48], ecx
mov ebx, esi
mov dword [esp + 0x38], edi
jbe 0x10174d22
push eax
push ecx
lea ecx, [esp + 0x2c]
push ecx
call sub.MSVCR80.dll_memcpy
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 0x10174d67
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]
add ecx, 1
mov byte [edi + eax], dl
cmp ecx, dword [ebp + 0x80]
jb 0x10174d50
mov esi, dword [ebp + 0x80]
add dword [esp + 0x38], esi
xor eax, eax
test esi, esi
jbe 0x10174d90
mov edi, ebx
lea ecx, [esp + 0x24]
sub edi, ecx
nop
lea ecx, [esp + eax + 0x24]
mov dl, byte [edi + ecx]
add eax, 1
cmp eax, esi
mov byte [ecx], dl
jb 0x10174d80
add ebx, esi
sub dword [esp + 0x3c], 1
jne 0x10174d22
xor ecx, ecx
test esi, esi
jbe 0x10174ec6
mov eax, dword [esp + 0x48]
lea esi, [esp + 0x24]
sub esi, eax
lea ecx, [ecx]
mov dl, byte [esi + eax]
mov byte [eax], dl
add ecx, 1
add eax, 1
cmp ecx, dword [ebp + 0x80]
jb 0x10174db0
jmp 0x10174ec6
cmp eax, 0x10
jne 0x10174e67
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
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 0x10174df1
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 0x10174ec6
cmp eax, 8
jne 0x10174ed4
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
mov edi, edi
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 0x10174e80
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
push eax
call fcn.10018270
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14