Function at 0x463460
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.00467640
push 0x619c50
push eax
call fcn.005ec510
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x46349d
push str.Unable_to_open_public_key_file
push 0xfffffffffffffff0
push ebp
call fcn.00465bf0
add esp, 0xc
pop edi
pop esi
pop ebp
add esp, 0xc
ret
push esi
call fcn.005f6123
add esp, 4
test eax, eax
jne 0x4634e1
lea ebx, [ebx]
push esi
push 1
lea eax, [esp + 0x17]
push 1
push eax
call fcn.005f6345
add esp, 0x10
cmp eax, 1
jne 0x4634e1
mov al, byte [esp + 0xf]
cmp al, 0xd
je 0x4634e1
cmp al, 0xa
je 0x4634e1
push esi
inc edi
call fcn.005f6123
add esp, 4
test eax, eax
je 0x4634b0
push esi
call fcn.005f6123
add esp, 4
test eax, eax
je 0x4634ef
dec edi
push esi
call fcn.005f9ea9
add esp, 4
cmp edi, 1
ja 0x46351a
push esi
call fcn.005e80f3
push str.Invalid_data_in_public_key_file
push 0xfffffffffffffff0
push ebp
call fcn.00465bf0
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 0x463549
call fcn.005e80f3
push str.Unable_to_allocate_memory_for_public_key_data
push 0xfffffffffffffffa
push ebp
call fcn.00465bf0
add esp, 0x10
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc
ret
push edi
push 1
push ebx
call fcn.005f6345
add esp, 0x10
cmp eax, edi
je 0x46357e
mov edx, dword [ebp + 0xc]
push ebp
push ebx
call edx
push esi
call fcn.005e80f3
push str.Unable_to_read_public_key_from_file
push 0xfffffffffffffff0
push ebp
call fcn.00465bf0
add esp, 0x18
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc
ret
push esi
call fcn.005e80f3
add esp, 4
test edi, edi
je 0x4635ad
jmp 0x463590
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.005e74c0
add esp, 4
test eax, eax
je 0x4635a9
sub edi, 1
jne 0x463590
jmp 0x4635ad
test edi, edi
jne 0x4635cc
mov ecx, dword [ebp + 0xc]
push ebp
push ebx
call ecx
push str.Missing_public_key_data
push 0xfffffffffffffff0
push ebp
call fcn.00465bf0
add esp, 0x14
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc
ret
push edi
push 0x20
push ebx
call fcn.005e24a0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4635fd
mov edx, dword [ebp + 0xc]
push ebp
push ebx
call edx
push str.Invalid_public_key_data
push 0xfffffffffffffff0
push ebp
call fcn.00465bf0
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.005e24a0
add esp, 0xc
test eax, eax
jne 0x463619
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.Setup.exe_libssh2_base64_decode
add esp, 0x14
test eax, eax
je 0x463653
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.00465bf0
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