Function at 0x101753f0
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 0x10175409
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14
push edi
mov edi, dword [esp + 0x38]
test edi, edi
jne 0x1017542d
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.NULL_passed_to_OFB_encryptor
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 0x1017545c
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 + 0x18]
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 0x10175481
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.OFB_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 0x10175476
mov al, byte [0x1026e91c]
mov ecx, dword [esp + 0x40]
push esi
mov byte [esp + 0x40], al
call fcn.100f6330
mov ecx, dword [esp + 0x44]
mov esi, eax
lea eax, [esi + ebx]
mov dword [esp + 0x10], eax
add eax, 0x20
push eax
call fcn.1001cc40
test al, al
jne 0x101754d2
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Unable_to_allocate_OFB_encrypt_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.10018050
cmp byte [esp + 0x40], 0
mov esi, eax
je 0x101755b8
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 0x10175524
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 0x10175510
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 0x10175573
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 0x10175550
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 0x10175524
xor ecx, ecx
test eax, eax
jbe 0x101756f9
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 0x101755a0
jmp 0x101756f9
mov eax, dword [ebp + 0x80]
cmp eax, 0x10
jne 0x1017568f
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 0x10175600
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 edi, 0x10
add esi, 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 0x10175600
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.10018270
pop esi
pop edi
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14
cmp eax, 8
jne 0x10175707
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 edi, 8
add esi, 8
sub ebx, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jne 0x101756b0
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.10018270
pop esi
pop edi
pop ebp
mov al, 1
pop ebx
add esp, 0x24
ret 0x14