Function at 0x1400a8330
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x1d8], rbx
mov rax, qword [0x1404b3fb8]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov r13, r8
mov rdi, rcx
mov r8d, 0x50
lea rcx, [rbp - 0x20]
test edx, edx
jne 0x1400a8397
lea rdx, [0x1401a0c78]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea rdx, [0x1401a0c98]
jmp 0x1400a83ab
lea rdx, str._____BEGIN_RSA_PRIVATE_KEY_____
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea rdx, str._____END_RSA_PRIVATE_KEY_____
mov r8d, 0x50
lea rcx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
or ebx, 0xffffffff
xor r14d, r14d
mov r15d, r14d
xor r12b, r12b
mov r8, rdi
lea edx, [rbx + 0x51]
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
je 0x1400a842f
nop dword [rax]
lea rax, [rbp - 0x20]
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x1400a83f0
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x20]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x1400a8424
mov r8, rdi
mov edx, 0x50
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
jne 0x1400a83e0
jmp 0x1400a842f
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebx, eax
mov r8, rdi
mov edx, 0x50
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
je 0x1400a859a
movsd xmm0, qword [str.Proc_Type]
movsd qword [rsp + 0x78], xmm0
movzx ecx, word [0x1401a0d00]
mov word [rbp - 0x80], cx
lea rax, [rsp + 0x78]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x1400a8470
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400a859a
mov r8, rdi
lea edx, [rax + 0x50]
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
je 0x1400a859a
lea rdx, [0x1401a0d04]
lea rcx, [rbp - 0x70]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
mov rsi, rax
lea rdx, [0x1401389b0]
lea rcx, [rbp - 0x70]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
mov rbx, rax
test rsi, rsi
jne 0x1400a84ea
lea rdx, [0x1401a0d08]
lea rcx, [rbp - 0x70]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
mov rsi, rax
test r13, r13
je 0x1400a876d
test rsi, rsi
je 0x1400a856d
test rbx, rbx
je 0x1400a856d
cmp rsi, rbx
jae 0x1400a856d
mov r8, rbx
sub r8, rsi
mov rdx, rsi
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov rax, r13
sub rax, rsi
mov byte [rax + rbx], r14b
movups xmm0, xmmword [rbx + 1]
movups xmmword [r13 + 0x50], xmm0
movups xmm1, xmmword [rbx + 0x11]
movups xmmword [r13 + 0x60], xmm1
lea rdx, [0x1401a0d0c]
lea rcx, [rbp - 0x70]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x1400a855b
lea rdx, reloc.WS2_32.dll_ioctlsocket
lea rcx, [rbp - 0x70]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x1400a856d
cmp rax, rbx
jbe 0x1400a856d
sub eax, ebx
dec eax
mov dword [r13 + 0x70], eax
mov byte [r13 + 0x74], 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebx, eax
mov r8, rdi
mov edx, 0x50
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
je 0x1400a859a
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebx, eax
mov r8, rdi
mov edx, 0x50
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
je 0x1400a8603
lea rax, [rbp + 0x30]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x1400a85c0
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x1400a8600
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov r15d, eax
mov r8, rdi
mov edx, 0x50
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
jne 0x1400a85b1
jmp 0x1400a8603
mov r12b, 1
cmp ebx, 0xffffffff
je 0x1400a876d
test r12b, r12b
je 0x1400a876d
sub r15d, ebx
mov edx, r15d
lea rcx, [rsp + 0x58]
call fcn.1400ca590
nop
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
movsxd rbx, r15d
lea rcx, [rsp + 0x58]
call fcn.14009a0e0
mov rcx, rax
mov r9, rdi
mov r8d, 1
mov rdx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 1
jne 0x1400a875e
lea rcx, [rsp + 0x58]
call fcn.14009a0e0
mov rbx, rax
mov dword [rsp + 0x24], r15d
mov ecx, r15d
test r15d, r15d
jne 0x1400a867f
mov rax, r14
jmp 0x1400a8689
call fcn.14012e8dc
mov r15d, dword [rsp + 0x24]
mov qword [rsp + 0x28], rax
mov r8d, r15d
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x3c], r14d
mov qword [rsp + 0x40], r14
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.140085f60
mov r8d, dword [rsp + 0x3c]
xor edx, edx
mov rcx, qword [rsp + 0x40]
call sub.VCRUNTIME140.dll_memset
nop
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x38]
call fcn.1400aeb60
nop
mov ebx, dword [rsp + 0x24]
mov ecx, reloc.WS2_32.dll_recv
call fcn.14012e898
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400a8703
mov edx, ebx
mov rcx, rax
call fcn.1400ace50
mov r14, rax
mov qword [rsp + 0x78], r14
mov rdi, qword [rsp + 0x28]
mov rcx, r14
call fcn.14009a0e0
mov rcx, rax
mov r8, rbx
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
nop
mov r8d, dword [rsp + 0x3c]
mov rbx, qword [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.14012e770
nop
mov r8d, dword [rsp + 0x24]
mov rbx, qword [rsp + 0x28]
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.14012e770
nop
lea rcx, [rsp + 0x58]
call fcn.140099c10
mov rax, r14
jmp 0x1400a876f
xor eax, eax
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.14012e750
mov rbx, qword [rsp + 0x1d8]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret