Function at 0x45ae10
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x188
mov rbx, qword [rcx]
movsxd rbp, edx
lea rdx, [rsp + 0x3c]
mov rsi, rcx
lea rax, [rbp + rbp*4]
mov rdi, qword [rcx + rax*8 + 0x1d0]
mov rcx, rdi
call fcn.0051fc60
test rax, rax
mov r12, rax
je 0x45aff0
cmp byte [rbx + 0x368], 0
jne 0x45af80
lea rdx, str._t_server_certificate_verification_SKIPPED_n
mov rcx, rbx
call fcn.0044e9e0
mov rcx, rdi
call fcn.0051b420
mov ecx, eax
call fcn.00520290
lea rdx, str._t_compression:__s_n
mov r8, rax
mov rcx, rbx
call fcn.0044e9e0
mov rcx, rdi
call fcn.0051b340
mov ecx, eax
call fcn.00520c10
lea rdx, str._t_cipher:__s_n
mov r8, rax
mov rcx, rbx
call fcn.0044e9e0
mov rcx, rdi
call fcn.0051b3c0
mov ecx, eax
call fcn.00520d80
lea rdx, str._t_MAC:__s_n
mov r8, rax
mov rcx, rbx
lea rbx, [0x0045b550]
call fcn.0044e9e0
lea rax, [rbp + rbp*4]
xor edx, edx
mov rcx, rdi
mov dword [rsi + rax*8 + 0x1cc], 2
lea rax, [rsi + rbp*8]
lea rbp, [rsp + 0x68]
mov qword [rax + 0x1a8], rbx
lea rbx, [0x0045ace0]
mov r8, rbp
mov qword [rax + 0x1b8], rbx
call fcn.00521050
mov rcx, qword [rsp + 0x68]
call qword [sub.msvcrt.dll_malloc]
mov rbx, rax
mov eax, 0x1b
test rbx, rbx
je 0x45af69
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.00521050
lea rdx, [rsp + 0x60]
xor r8d, r8d
mov rcx, rsi
call fcn.0044a9d0
test eax, eax
je 0x45b1f3
mov r8, qword [rsp + 0x68]
mov rdx, rbx
mov rcx, rsi
call fcn.0044ac30
test eax, eax
jne 0x45b1e0
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.00521830
test eax, eax
js 0x45b030
test byte [rsp + 0x40], 2
je 0x45b050
cmp byte [rbx + 0x368], 0
je 0x45b205
mov r9, qword [rbx + 0x380]
mov r8, qword [rbx + 0x378]
lea rax, [0x0065f00e]
lea rdx, str.server_certificate_verification_failed._CAfile:__s_CRLfile:__s
mov rcx, rbx
test r9, r9
cmove r9, rax
test r8, r8
cmove r8, rax
call fcn.0044ea90
mov eax, 0x3c
jmp 0x45af69
movzx eax, byte [rbx + 0x368]
test al, al
jne 0x45b008
cmp byte [rbx + 0x369], 0
je 0x45b220
cmp dword [rbx + 0x3d8], 1
je 0x45b2c0
lea rdx, str.failed_to_get_server_cert
mov rcx, rbx
call fcn.0044ea90
mov eax, 0x33
jmp 0x45af69
lea rdx, str.server_cert_verify_failed:__d
mov r8d, eax
mov rcx, rbx
call fcn.0044ea90
mov eax, 0x23
jmp 0x45af69
lea rdx, str._t_server_certificate_verification_OK_n
mov rcx, rbx
call fcn.0044e9e0
lea rcx, [rsp + 0x48]
call fcn.00522140
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
mov rdx, r12
call fcn.00522230
cmp qword [rbx + 0x388], 0
je 0x45b144
lea rcx, [rsp + 0x50]
call fcn.00522140
mov rcx, qword [rbx + 0x388]
lea rdx, [0x0065f13b]
call sub.msvcrt.dll_fopen
test rax, rax
mov r12, rax
je 0x45b380
xor edx, edx
mov r8d, 2
mov rcx, rax
call sub.msvcrt.dll_fseek
test eax, eax
je 0x45b2f0
xor r14d, r14d
xor r13d, r13d
mov rcx, r12
call sub.msvcrt.dll_fclose
mov edx, r14d
mov rax, r13
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x78], edx
lea rdx, [rsp + 0x70]
mov r8d, 1
mov qword [rsp + 0x70], rax
call fcn.00522230
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
call fcn.005278d0
mov rcx, qword [rsp + 0x70]
mov r12d, eax
call qword [sub.msvcrt.dll_free]
mov rax, qword [rbx + 0x388]
lea r8, [0x0065f00e]
test rax, rax
cmovne r8, rax
test r12d, r12d
jle 0x45b2a3
lea rdx, str._t_server_certificate_issuer_check_OK__Issuer_Cert:__s__n
mov rcx, rbx
call fcn.0044e9e0
lea r13, [rsp + 0x58]
lea r12, [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
lea rdx, [0x0065f1b0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x58], 0x100
call fcn.005228e0
test eax, eax
jne 0x45b390
mov rdx, qword [rsi + 0xa8]
mov rcx, qword [rsp + 0x48]
call fcn.00528be0
test eax, eax
jne 0x45b360
cmp byte [rbx + 0x369], 0
mov r9, qword [rsi + 0xb0]
mov r8, r12
je 0x45b242
lea rdx, str.SSL:_certificate_subject_name___s__does_not_match_target_host_name__s
mov rcx, rbx
call fcn.0044ea90
mov rcx, qword [rsp + 0x48]
call fcn.005221e0
mov eax, 0x33
jmp 0x45af69
mov rcx, rbx
call qword [sub.msvcrt.dll_free]
mov eax, 0x1b
jmp 0x45af69
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call fcn.0044ab80
jmp 0x45af51
lea rdx, str._t_server_certificate_verification_FAILED_n
mov rcx, rbx
call fcn.0044e9e0
jmp 0x45b05f
cmp qword [rbx + 0x388], 0
jne 0x45b008
lea rdx, str._t_common_name:_WARNING_couldnt_obtain_n
mov rcx, rbx
call fcn.0044e9e0
jmp 0x45ae52
lea rdx, str._t_common_name:__s__does_not_match__s__n
mov rcx, rbx
call fcn.0044e9e0
mov rcx, qword [rsp + 0x48]
call fcn.00522ce0
cmp rax, 0xffffffffffffffff
mov r14, rax
je 0x45b3b0
xor ecx, ecx
mov r15, qword [sym.imp.msvcrt.dll__time64]
call r15
cmp r14, rax
jge 0x45b3c9
cmp byte [rbx + 0x368], 0
je 0x45b41b
lea rdx, str.server_certificate_expiration_date_has_passed.
mov rcx, rbx
call fcn.0044ea90
mov eax, 0x33
jmp 0x45af69
lea rdx, str.server_certificate_issuer_check_failed__IssuerCert:__s_
mov rcx, rbx
call fcn.0044ea90
mov eax, 0x53
jmp 0x45af69
cmp qword [rbx + 0x3c8], 0
je 0x45b015
test al, al
jne 0x45b015
mov rcx, rdi
call fcn.0051b340
test eax, eax
je 0x45b015
jmp 0x45b22e
mov rcx, r12
call sub.msvcrt.dll_ftell
test eax, eax
mov r14d, eax
js 0x45b0c8
xor r8d, r8d
xor edx, edx
mov rcx, r12
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x45b0c8
movsxd r15, r14d
mov rcx, r15
call qword [sub.msvcrt.dll_malloc]
test rax, rax
mov r13, rax
je 0x45b0c8
mov r9, r12
mov r8, r15
mov edx, 1
mov rcx, rax
call sub.msvcrt.dll_fread
cmp r15, rax
jbe 0x45b0ce
mov rcx, r13
call qword [sub.msvcrt.dll_free]
jmp 0x45b0c8
lea rdx, str._t_common_name:__s__matched__n
mov r8, r12
mov rcx, rbx
call fcn.0044e9e0
jmp 0x45b251
xor edx, edx
xor eax, eax
jmp 0x45b0dc
mov ecx, eax
call fcn.0051c6a0
lea rdx, str.error_fetching_CN_from_cert:_s_n
mov r8, rax
mov rcx, rbx
call fcn.0044e9e0
jmp 0x45b183
lea rdx, str.server_cert_expiration_date_verify_failed
mov rcx, rbx
call fcn.0044ea90
mov eax, 0x23
jmp 0x45af69
lea rdx, str._t_server_certificate_expiration_date_OK_n
mov rcx, rbx
call fcn.0044e9e0
mov rcx, qword [rsp + 0x48]
call fcn.00522c80
cmp rax, 0xffffffffffffffff
mov r14, rax
je 0x45b42c
xor ecx, ecx
call r15
cmp r14, rax
jle 0x45b445
cmp byte [rbx + 0x368], 0
je 0x45b535
lea rdx, str.server_certificate_not_activated_yet.
mov rcx, rbx
call fcn.0044ea90
mov eax, 0x33
jmp 0x45af69
lea rdx, str._t_server_certificate_expiration_date_FAILED_n
mov rcx, rbx
call fcn.0044e9e0
jmp 0x45b3d8
lea rdx, str.server_cert_activation_date_verify_failed
mov rcx, rbx
call fcn.0044ea90
mov eax, 0x23
jmp 0x45af69
lea rdx, str._t_server_certificate_activation_date_OK_n
mov rcx, rbx
call fcn.0044e9e0
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x44]
call fcn.005233c0
mov ecx, eax
call fcn.00528d30
lea rdx, str._t_certificate_public_key:__s_n
mov r8, rax
mov rcx, rbx
call fcn.0044e9e0
mov rcx, qword [rsp + 0x48]
call fcn.00522bb0
lea rdx, str._t_certificate_version:__d_n
mov r8d, eax
mov rcx, rbx
call fcn.0044e9e0
mov rcx, qword [rsp + 0x48]
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x58], 0x100
call fcn.005226f0
lea rdx, str._t_subject:__s_n
mov r8, r12
mov rcx, rbx
call fcn.0044e9e0
mov rcx, qword [rsp + 0x48]
call fcn.00522c80
lea rdx, str.start_date
mov r8, rax
mov rcx, rbx
call fcn.0045ad40
mov rcx, qword [rsp + 0x48]
call fcn.00522ce0
lea rdx, str.expire_date
mov r8, rax
mov rcx, rbx
call fcn.0045ad40
mov rcx, qword [rsp + 0x48]
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x58], 0x100
call fcn.00522510
lea rdx, str._t_issuer:__s_n
mov rcx, rbx
mov r8, r12
call fcn.0044e9e0
mov rcx, qword [rsp + 0x48]
call fcn.005221e0
jmp 0x45ae6e
lea rdx, str._t_server_certificate_activation_date_FAILED_n
mov rcx, rbx
call fcn.0044e9e0
jmp 0x45b454