Function at 0x40a410
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42ccc1
mov eax, dword fs:[0]
push eax
mov eax, 0x1498
call fcn.0042c2f0
mov eax, dword [0x43a00c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov dword [ebp - 0x149c], esi
mov ebx, ecx
cmp dword [ebx + 0x14], 0x10
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14a0], eax
mov eax, ebx
jb 0x40a45f
mov eax, dword [ebx]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
push eax
call edi
test eax, eax
je 0x40a63a
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x40a47a
mov eax, dword [esi]
push eax
call edi
test eax, eax
je 0x40a63a
cmp dword [0x43ba80], 0
je 0x40a4f9
lea ecx, [ebp - 0x147c]
call fcn.004011a0
cmp dword [eax + 0x14], 0x10
jb 0x40a4a1
mov eax, dword [eax]
push 0x15c
push str.D:qianliu_agentworkspace0mq_gitlab7538NetProxyInstCaByodProxyInstCa.cpp
push eax
push str._ERROR___s__s:_d_texist_strTmCertPath_n
push dword [0x43ba80]
call fcn.00402120
mov edx, dword [ebp - 0x1468]
add esp, 0x14
cmp edx, 0x10
jb 0x40a4f9
mov ecx, dword [ebp - 0x147c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a4ef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ab46
push edx
push ecx
call fcn.0040f6ee
add esp, 8
cmp dword [ebx + 0x14], 0x10
mov ecx, ebx
jb 0x40a503
mov ecx, dword [ebx]
call fcn.0040df50
mov edi, eax
test edi, edi
je 0x40a63a
cmp dword [0x43ba80], 0
je 0x40a586
lea ecx, [ebp - 0x147c]
call fcn.004011a0
cmp dword [eax + 0x14], 0x10
jb 0x40a52e
mov eax, dword [eax]
push 0x15f
push str.D:qianliu_agentworkspace0mq_gitlab7538NetProxyInstCaByodProxyInstCa.cpp
push eax
push str._ERROR___s__s:_d_tpCertContext___NULL_n
push dword [0x43ba80]
call fcn.00402120
mov edx, dword [ebp - 0x1468]
add esp, 0x14
cmp edx, 0x10
jb 0x40a586
mov ecx, dword [ebp - 0x147c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a57c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ab4b
push edx
push ecx
call fcn.0040f6ee
add esp, 8
mov ecx, edi
call fcn.0040eba0
cmp dword [0x43ba80], 0
mov dword [ebp - 0x1498], eax
je 0x40a60d
lea ecx, [ebp - 0x147c]
call fcn.004011a0
cmp dword [eax + 0x14], 0x10
jb 0x40a5af
mov eax, dword [eax]
push dword [ebp - 0x1498]
push 0x161
push str.D:qianliu_agentworkspace0mq_gitlab7538NetProxyInstCaByodProxyInstCa.cpp
push eax
push str._ERROR___s__s:_d_tCheckCertTimeValidity_nRet_d_n
push dword [0x43ba80]
call fcn.00402120
mov edx, dword [ebp - 0x1468]
add esp, 0x18
cmp edx, 0x10
jb 0x40a60d
mov ecx, dword [ebp - 0x147c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a603
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ab50
push edx
push ecx
call fcn.0040f6ee
add esp, 8
push edi
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
cmp dword [ebp - 0x1498], 0
jne 0x40a63a
sub esp, 0x18
mov ecx, esp
push ebx
call fcn.004084b0
mov ecx, esi
call fcn.00409e90
add esp, 0x18
test eax, eax
jne 0x40ab2a
push 0x104
lea eax, [ebp - 0x424]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov edi, dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x21c]
push eax
call edi
mov esi, dword [sym.imp.SHLWAPI.dll_StrCatW]
lea eax, [ebp - 0x21c]
push str.proxyopenssl.exe
push eax
call esi
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x62c]
push eax
call edi
push str.proxyopenssl.cnf
lea eax, [ebp - 0x62c]
push eax
call esi
push 0x618
lea eax, [ebp - 0xc44]
push 0
push eax
call fcn.004136c0
add esp, 0xc
lea eax, [ebp - 0x1464]
push 0x820
push 0
push eax
call fcn.004136c0
mov esi, dword [ebp - 0x149c]
add esp, 0xc
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x40a6df
mov eax, dword [esi]
push 0x800
push eax
push 0x457
push str.genrsa__des3__passout_pass:_d__out___S___d
lea eax, [ebp - 0xc44]
push 0x30c
push eax
call fcn.0040ce80
mov edi, eax
add esp, 0x18
test edi, edi
jns 0x40a78f
cmp dword [0x43ba80], 0
je 0x40ab2a
lea ecx, [ebp - 0x147c]
call fcn.004011a0
cmp dword [eax + 0x14], 0x10
jb 0x40a72d
mov eax, dword [eax]
push edi
push 0x17e
push str.D:qianliu_agentworkspace0mq_gitlab7538NetProxyInstCaByodProxyInstCa.cpp
push eax
push str._ERROR___s__s:_d_tget_cmdline_openssl_genrsa_with_error_0x_x_n
push dword [0x43ba80]
call fcn.00402120
mov edx, dword [ebp - 0x1468]
add esp, 0x18
cmp edx, 0x10
jb 0x40ab2a
mov ecx, dword [ebp - 0x147c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a780
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ab55
push edx
push ecx
call fcn.0040f6ee
add esp, 8
jmp 0x40ab2a
mov eax, dword [ebp - 0x14a0]
cmp dword [eax + 0x14], 0x10
jb 0x40a79d
mov eax, dword [eax]
cmp dword [ebx + 0x14], 0x10
jb 0x40a7a5
mov ebx, dword [ebx]
cmp dword [esi + 0x14], 0x10
jb 0x40a7ad
mov esi, dword [esi]
push eax
lea eax, [ebp - 0x62c]
push eax
push ebx
push 0x457
push esi
push str.req__new__x509__sha256__utf8__days_3650__key___S___passin_pass:_d__out___S___config___s___subj__S
lea eax, [ebp - 0x1464]
push 0x410
push eax
call fcn.0040ce80
mov esi, eax
add esp, 0x20
test esi, esi
jns 0x40a857
cmp dword [0x43ba80], 0
je 0x40ab2a
lea ecx, [ebp - 0x147c]
call fcn.004011a0
cmp dword [eax + 0x14], 0x10
jb 0x40a7fb
mov eax, dword [eax]
push esi
push 0x18c
push str.D:qianliu_agentworkspace0mq_gitlab7538NetProxyInstCaByodProxyInstCa.cpp
push eax
push str._ERROR___s__s:_d_tget_cmdline_openssl_req_with_error_0x_x_n
push dword [0x43ba80]
call fcn.00402120
mov edx, dword [ebp - 0x1468]
add esp, 0x18
cmp edx, 0x10
jb 0x40ab2a
mov ecx, dword [ebp - 0x147c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a780
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ab5a
jmp 0x40a780
sub esp, 0x18
xor eax, eax
mov ecx, esp
mov dword [ebp - 0x14a0], esp
push 4
push str.open
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004030b0
sub esp, 0x18
mov dword [ebp - 4], 0
mov edx, esp
mov dword [ebp - 0x149c], esp
xor eax, eax
lea ecx, [ebp - 0xc44]
lea esi, [ecx + 2]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 7
mov word [edx], ax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a8b0
sub ecx, esi
lea eax, [ebp - 0xc44]
sar ecx, 1
push ecx
push eax
mov ecx, edx
call fcn.004030b0
sub esp, 0x18
mov byte [ebp - 4], 1
mov edx, esp
lea ecx, [ebp - 0x21c]
xor eax, eax
lea esi, [ecx + 2]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 7
mov word [edx], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a8f3
sub ecx, esi
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
mov ecx, edx
call fcn.004030b0
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
call fcn.00408c30
add esp, 0x48
mov ebx, eax
push 0x1388
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x43ba80], 0
mov edi, eax
je 0x40a9bb
lea ecx, [ebp - 0x147c]
call fcn.004011a0
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x40a954
mov esi, dword [esi]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
lea eax, [ebp - 0xc44]
push eax
push 0x197
push str.D:qianliu_agentworkspace0mq_gitlab7538NetProxyInstCaByodProxyInstCa.cpp
push esi
push str._ERROR___s__s:_d_twait_hProcess_finish_szCmd0_S__dwWaitRet:_u__error:_u_n
push dword [0x43ba80]
call fcn.00402120
mov edx, dword [ebp - 0x1468]
add esp, 0x20
cmp edx, 0x10
jb 0x40a9bb
mov ecx, dword [ebp - 0x147c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a9b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ab5f
push edx
push ecx
call fcn.0040f6ee
add esp, 8
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 0x18
xor eax, eax
mov ecx, esp
mov dword [ebp - 0x14a0], esp
push 4
push str.open
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004030b0
sub esp, 0x18
mov dword [ebp - 4], 2
mov edx, esp
mov dword [ebp - 0x149c], esp
xor eax, eax
lea ecx, [ebp - 0x1464]
lea esi, [ecx + 2]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 7
mov word [edx], ax
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40aa20
sub ecx, esi
lea eax, [ebp - 0x1464]
sar ecx, 1
push ecx
push eax
mov ecx, edx
call fcn.004030b0
sub esp, 0x18
mov byte [ebp - 4], 3
mov edx, esp
lea ecx, [ebp - 0x21c]
xor eax, eax
lea esi, [ecx + 2]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 7
mov word [edx], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40aa63
sub ecx, esi
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
mov ecx, edx
call fcn.004030b0
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
call fcn.00408c30
add esp, 0x48
mov edi, eax
push 0x1388
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x43ba80], 0
mov ebx, eax
je 0x40ab23
lea ecx, [ebp - 0x1494]
call fcn.004011a0
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x40aac0
mov esi, dword [esi]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
lea eax, [ebp - 0x1464]
push eax
push 0x1a2
push str.D:qianliu_agentworkspace0mq_gitlab7538NetProxyInstCaByodProxyInstCa.cpp
push esi
push str._ERROR___s__s:_d_twait_hProcess_finish_szCmd1_S__dwWaitRet:_u__error:_u_n
push dword [0x43ba80]
call fcn.00402120
mov edx, dword [ebp - 0x1480]
add esp, 0x20
cmp edx, 0x10
jb 0x40ab23
mov ecx, dword [ebp - 0x1494]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ab19
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ab64
push edx
push ecx
call fcn.0040f6ee
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040f469
mov esp, ebp
pop ebp
ret
call fcn.00415003
call fcn.00415003
call fcn.00415003
call fcn.00415003
call fcn.00415003
call fcn.00415003
call fcn.00415003
int3