Function at 0x1006b160
Capabilities:
Read file on windows

Disassembly:
sub esp, 0xc
push ebp
mov ebp, dword [esp + 0x14]
push esi
push edi
push eax
xor edi, edi
call fcn.1006aa20
push 0x1009a3d0
push eax
call fcn.1007735a
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1006b19d
push str.Unable_to_open_public_key_file
push 0xfffffffffffffff0
push ebp
call fcn.1006cb50
add esp, 0xc
pop edi
pop esi
pop ebp
add esp, 0xc
ret
push esi
call fcn.100792e5
add esp, 4
test eax, eax
jne 0x1006b1e1
lea ebx, [ebx]
push esi
push 1
lea eax, [esp + 0x17]
push 1
push eax
call fcn.10075b4e
add esp, 0x10
cmp eax, 1
jne 0x1006b1e1
mov al, byte [esp + 0xf]
cmp al, 0xd
je 0x1006b1e1
cmp al, 0xa
je 0x1006b1e1
push esi
inc edi
call fcn.100792e5
add esp, 4
test eax, eax
je 0x1006b1b0
push esi
call fcn.100792e5
add esp, 4
test eax, eax
je 0x1006b1ef
dec edi
push esi
call fcn.1007921f
add esp, 4
cmp edi, 1
ja 0x1006b21a
push esi
call fcn.100770d2
push str.Invalid_data_in_public_key_file
push 0xfffffffffffffff0
push ebp
call fcn.1006cb50
add esp, 0x10
pop edi
pop esi
pop ebp
add esp, 0xc
ret
mov ecx, dword [ebp + 4]
push ebx
push ebp
push edi
call ecx
add esp, 8
mov ebx, eax
push esi
test ebx, ebx
jne 0x1006b249
call fcn.100770d2
push str.Unable_to_allocate_memory_for_public_key_data
push 0xfffffffffffffffa
push ebp
call fcn.1006cb50
add esp, 0x10
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc
ret
push edi
push 1
push ebx
call fcn.10075b4e
add esp, 0x10
cmp eax, edi
je 0x1006b27e
mov edx, dword [ebp + 0xc]
push ebp
push ebx
call edx
push esi
call fcn.100770d2
push str.Unable_to_read_public_key_from_file
push 0xfffffffffffffff0
push ebp
call fcn.1006cb50
add esp, 0x18
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc
ret
push esi
call fcn.100770d2
add esp, 4
test edi, edi
je 0x1006b2ad
jmp 0x1006b290
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.10076697
add esp, 4
test eax, eax
je 0x1006b2a9
sub edi, 1
jne 0x1006b290
jmp 0x1006b2ad
test edi, edi
jne 0x1006b2cc
mov ecx, dword [ebp + 0xc]
push ebp
push ebx
call ecx
push str.Missing_public_key_data
push 0xfffffffffffffff0
push ebp
call fcn.1006cb50
add esp, 0x14
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc
ret
push edi
push 0x20
push ebx
call fcn.10078070
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1006b2fd
mov edx, dword [ebp + 0xc]
push ebp
push ebx
call edx
push str.Invalid_public_key_data
push 0xfffffffffffffff0
push ebp
call fcn.1006cb50
add esp, 0x14
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc
ret
inc esi
mov eax, edi
sub eax, esi
lea ecx, [eax + ebx + 1]
push ecx
push 0x20
push esi
call fcn.10078070
add esp, 0xc
test eax, eax
jne 0x1006b319
lea eax, [edi + ebx]
sub eax, esi
push eax
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x20]
push eax
push ebp
call sym.EUFyncFtp.dll_libssh2_base64_decode
add esp, 0x14
test eax, eax
je 0x1006b353
mov ecx, dword [ebp + 0xc]
push ebp
push ebx
call ecx
push str.Invalid_key_data__not_base64_encoded
push 0xfffffffffffffff0
push ebp
call fcn.1006cb50
add esp, 0x14
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc
ret
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
sub esi, ebx
mov dword [edx], ebx
mov edx, dword [esp + 0x2c]
dec esi
mov dword [eax], esi
mov eax, dword [esp + 0x18]
pop ebx
mov dword [edx], ecx
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
mov dword [ecx], eax
xor eax, eax
pop ebp
add esp, 0xc
ret