Function at 0x4c0a40
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ebb69
mov eax, dword fs:[0]
push eax
sub esp, 0x148
mov eax, dword [0x8307c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 0xc], 0
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0xbc]
push 0x50
jne 0x4c0a9f
push str._____BEGIN_CERTIFICATE_____
push eax
call esi
push 0x50
push str._____END_CERTIFICATE_____
jmp 0x4c0aae
push str._____BEGIN_RSA_PRIVATE_KEY_____
push eax
call esi
push 0x50
push str._____END_RSA_PRIVATE_KEY_____
lea eax, [ebp - 0x10c]
push eax
call esi
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
add esp, 0x18
or eax, 0xffffffff
xor ebx, ebx
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 0x10d], bl
push edi
push 0x50
push eax
call esi
add esp, 0xc
test eax, eax
je 0x4c0b33
lea ecx, [ebp - 0xbc]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c0af0
sub ecx, edx
lea eax, [ebp - 0x6c]
push ecx
push eax
lea eax, [ebp - 0xbc]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
push edi
test eax, eax
je 0x4c0b24
lea eax, [ebp - 0x6c]
push 0x50
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x4c0ae1
jmp 0x4c0b33
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
add esp, 4
mov dword [ebp - 0x114], eax
push edi
lea eax, [ebp - 0x6c]
push 0x50
push eax
call esi
add esp, 0xc
test eax, eax
je 0x4c0c9b
movq xmm0, qword [str.Proc_Type]
lea ecx, [ebp - 0x1c]
mov ax, word [0x567fd8]
lea edx, [ecx + 1]
movq qword [ebp - 0x1c], xmm0
mov word [ebp - 0x14], ax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c0b64
sub ecx, edx
lea eax, [ebp - 0x6c]
push ecx
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x4c0c9b
push edi
lea eax, [ebp - 0x6c]
push 0x50
push eax
call esi
add esp, 0xc
test eax, eax
je 0x4c0c9b
mov ebx, dword [sym.imp.VCRUNTIME140.dll_strstr]
lea eax, [ebp - 0x6c]
push 0x567fdc
push eax
call ebx
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x6c]
push 0x4ff458
push eax
call ebx
mov ecx, dword [ebp - 0x114]
add esp, 0x10
mov ebx, eax
test ecx, ecx
jne 0x4c0be6
lea eax, [ebp - 0x6c]
push 0x567fe0
push eax
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
mov dword [ebp - 0x114], eax
mov ecx, eax
mov edx, dword [ebp - 0x118]
test edx, edx
je 0x4c0e4f
test ecx, ecx
je 0x4c0c6e
test ebx, ebx
je 0x4c0c6e
cmp ecx, ebx
jae 0x4c0c6e
mov eax, ebx
sub eax, ecx
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0x118]
mov eax, edx
sub eax, dword [ebp - 0x114]
push 0x567fe4
mov byte [eax + ebx], 0
lea eax, [ebp - 0x6c]
movups xmm0, xmmword [ebx + 1]
push eax
movups xmmword [edx + 0x50], xmm0
movups xmm0, xmmword [ebx + 0x11]
movups xmmword [edx + 0x60], xmm0
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 0x14
test eax, eax
jne 0x4c0c5a
lea eax, [ebp - 0x6c]
push 0x4fde44
push eax
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x4c0c6e
cmp eax, ebx
jbe 0x4c0c6e
mov edx, dword [ebp - 0x118]
sub eax, ebx
dec eax
mov dword [edx + 0x70], eax
mov byte [edx + 0x74], 1
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
push edi
call ebx
push edi
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x6c]
push 0x50
push eax
call esi
add esp, 0x10
test eax, eax
je 0x4c0c99
push edi
call ebx
add esp, 4
mov dword [ebp - 0x114], eax
xor ebx, ebx
push edi
lea eax, [ebp - 0x6c]
push 0x50
push eax
call esi
add esp, 0xc
test eax, eax
je 0x4c0cff
nop dword [eax + eax]
lea ecx, [ebp - 0x10c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c0cc0
sub ecx, edx
lea eax, [ebp - 0x6c]
push ecx
push eax
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x4c0d70
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
push edi
mov ebx, eax
lea eax, [ebp - 0x6c]
push 0x50
push eax
call esi
add esp, 0x10
test eax, eax
jne 0x4c0cb0
mov al, byte [ebp - 0x10d]
mov esi, dword [ebp - 0x114]
cmp esi, 0xffffffff
je 0x4c0e4f
test al, al
je 0x4c0e4f
sub ebx, esi
lea ecx, [ebp - 0x154]
push ebx
call fcn.004dff40
push 0
push esi
push edi
mov dword [ebp - 4], 0
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
lea ecx, [ebp - 0x154]
push edi
push 1
push ebx
call fcn.004b61e0
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x4c0d74
lea ecx, [ebp - 0x154]
xor edi, edi
call fcn.004b2f70
mov eax, edi
jmp 0x4c0e51
mov al, 1
jmp 0x4c0d05
push ebx
lea ecx, [ebp - 0x154]
call fcn.004b61e0
push eax
lea ecx, [ebp - 0x13c]
call fcn.004a05c0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x124], 0
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x11c], eax
call fcn.004c68c0
mov esi, dword [ebp - 0x138]
push 8
mov byte [ebp - 4], 3
call fcn.004e7e10
add esp, 4
mov dword [ebp - 0x118], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4c0de9
push esi
mov ecx, eax
call fcn.004c4e20
mov edi, eax
jmp 0x4c0deb
xor edi, edi
mov dword [ebp - 0x118], edi
push esi
push dword [ebp - 0x134]
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.004b3510
push eax
call sub.VCRUNTIME140.dll_memcpy
push dword [ebp - 0x124]
mov esi, dword [ebp - 0x120]
push 0
push esi
call sub.VCRUNTIME140.dll_memset
push esi
call fcn.004e8cdc
push dword [ebp - 0x138]
mov esi, dword [ebp - 0x134]
push 0
push esi
call sub.VCRUNTIME140.dll_memset
push esi
call fcn.004e8cdc
add esp, 0x2c
lea ecx, [ebp - 0x154]
call fcn.004b2f70
mov eax, edi
jmp 0x4c0e51
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004e7e02
mov esp, ebp
pop ebp
ret