Function at 0x10004ca7c
Capabilities:
Check if file exists

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov qword [rsp + 0x130], 0xfffffffffffffffe
mov rsi, r8
mov r13, rdx
mov r12, rcx
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov r15, rbx
mov qword [rsp + 0x58], rbx
mov byte [r11 + 0x10], 5
mov byte [r11 + 0x11], bl
mov edi, ebx
mov dword [rsp + 0x50], ebx
mov r14, rbx
lea rax, [0x10000d630]
mov qword [r11 - 0xb0], rax
mov qword [r11 - 0xa8], rbx
mov qword [r11 - 0xa0], rbx
mov qword [r11 - 0x98], rbx
mov dword [rsp + 0xe8], 0x80004005
mov dword [rsp + 0xec], ebx
mov qword [r11 - 0x88], rbx
lea rcx, [r11 - 0xb0]
call fcn.100038984
nop
mov qword [rsp + 0xc0], rbx
xor eax, eax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
xor edx, edx
lea r8d, [rbx + 0x30]
lea rcx, [rsp + reloc.certcli.dll_Ordinal_256]
call sub.msvcrt.dll_memset
cmp r13, rbx
je 0x10004cb56
mov dword [r13], ebx
cmp rsi, rbx
je 0x10004cb5d
mov dword [rsi], ebx
mov eax, dword [0x10011bd18]
neg eax
sbb edx, edx
and edx, 0x40
bts edx, 0x10
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x198]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.CRYPT32.dll_CryptAcquireCertificatePrivateKey]
cmp eax, ebx
jne 0x10004cc5e
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
call fcn.1000b7bec
mov esi, eax
mov r12d, 0x8009200b
cmp eax, r12d
jne 0x10004cbfb
xor edx, edx
mov ecx, r12d
call sub.certcli.dll_Ordinal_207
mov rdi, rax
cmp rax, rbx
je 0x10004cbdc
mov rdx, rax
lea rcx, [0x1000048e8]
call fcn.1000b99b0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, ebx
mov r9d, r12d
mov r8d, r12d
mov edx, 0x11c90134
xor ecx, ecx
call fcn.1000b51b8
mov r12d, 1
jmp 0x10004d4d6
mov edi, 0x80090016
cmp eax, edi
jne 0x10004cc41
mov ecx, 0x269
call fcn.1000ba420
mov rcx, rax
call fcn.1000b99b0
lea rcx, [0x10000c564]
call fcn.1000b99b0
mov esi, ebx
mov r9d, edi
mov r8d, edi
mov edx, 0x11d50134
xor ecx, ecx
call fcn.1000b51b8
mov r12d, 1
jmp 0x10004d4d6
xor r9d, r9d
mov r8d, eax
mov edx, 0x11d70134
xor ecx, ecx
call fcn.1000b51b8
mov r12d, 1
jmp 0x10004d4d6
lea rdx, [rsp + 0xc0]
mov rcx, r12
call fcn.1000be8f0
cmp eax, ebx
je 0x10004cc87
mov r9d, 0x80092004
mov r8d, eax
mov edx, 0x11da0134
xor ecx, ecx
call fcn.1000b51b8
mov rax, qword [rsp + 0xc0]
cmp rax, rbx
je 0x10004cc99
mov rdx, qword [rax]
jmp 0x10004cc9c
mov rdx, rbx
mov r8d, dword [0x10011bd14]
mov rcx, qword [rsp + 0x40]
call fcn.10004c034
cmp dword [0x10011bd14], ebx
jne 0x10004ccda
mov rcx, qword [rsp + 0x40]
call fcn.10004c6d0
mov rcx, qword [rsp + 0x40]
call fcn.10004c800
mov edx, dword [rsp + 0x198]
mov rcx, qword [rsp + 0x40]
call fcn.10004c95c
mov eax, dword [rsp + 0x198]
cmp eax, 0xffffffff
je 0x10004cd15
cmp eax, 2
je 0x10004cd03
cmp eax, 0x5dc
je 0x10004cd03
cmp eax, 0x9c4
je 0x10004cd03
mov eax, ebx
mov r12d, 1
jmp 0x10004cd0c
mov r12d, 1
mov eax, r12d
movzx edi, al
mov dword [rsp + 0x50], edi
jmp 0x10004cd87
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call fcn.1000c3774
mov esi, eax
cmp eax, ebx
je 0x10004cd47
xor r9d, r9d
mov r8d, eax
mov edx, 0x11ef0134
xor ecx, ecx
call fcn.1000b51b8
mov r12d, 1
jmp 0x10004d4c0
mov eax, dword [rsp + 0x48]
test al, 4
jne 0x10004cd61
test al, 2
mov r12d, 1
cmovne edi, r12d
mov dword [rsp + 0x50], edi
jmp 0x10004cd67
mov r12d, 1
cmp dword [0x10011bd14], ebx
jne 0x10004cd87
mov dword [rsp + 0x20], eax
lea r8, [0x100014580]
mov r9, r8
mov dl, r12b
xor ecx, ecx
call fcn.10006c924
cmp r13, rbx
je 0x10004cd90
mov dword [r13], edi
mov rcx, qword [rsp + 0x40]
call fcn.10004c474
mov r8d, dword [rsp + 0x198]
cmp r8d, 0xffffffff
je 0x10004cdd6
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], r12b
xor r9d, r9d
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.100099600
mov r14, rax
mov qword [rsp + 0xb8], rax
jmp 0x10004ce00
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
xor ecx, ecx
call fcn.100097f34
mov r14, rax
mov qword [rsp + 0xb8], rax
cmp dword [rsp + 0xe8], ebx
jge 0x10004ce40
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
call fcn.1000b7bec
mov esi, eax
xor r9d, r9d
mov r8d, eax
mov edx, 0x121d0134
xor ecx, ecx
call fcn.1000b51b8
xor r9d, r9d
mov r8d, esi
mov edx, 0x354
xor ecx, ecx
call fcn.1000ba5ac
jmp 0x10004d4c0
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x50]
mov rcx, rax
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0xa8]
call fcn.1000bd39c
cmp eax, ebx
je 0x10004ce9a
xor r9d, r9d
mov r8d, eax
mov edx, 0x12280134
xor ecx, ecx
call fcn.1000b51b8
mov ecx, 0x2d6
call fcn.1000ba420
mov rcx, rax
call fcn.1000b99b0
lea r13, [0x10000c564]
mov rcx, r13
call fcn.1000b99b0
jmp 0x10004cea1
lea r13, [0x10000c564]
cmp dword [0x10011bd00], ebx
jne 0x10004cec5
mov edx, dword [rsp + 0x198]
cmp edx, 2
je 0x10004cecc
cmp edx, r12d
je 0x10004cecc
cmp edx, 0xffffffff
jne 0x10004cf61
jmp 0x10004cecc
mov edx, dword [rsp + 0x198]
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8d, 2
mov rcx, qword [rsp + 0x40]
call fcn.1000b8360
cmp eax, ebx
jne 0x10004cf4b
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
call fcn.1000b7bec
mov esi, eax
xor r9d, r9d
mov r8d, eax
mov edx, 0x12380134
xor ecx, ecx
call fcn.1000b51b8
mov edx, dword [rsp + 0x198]
cmp edx, 2
je 0x10004cf2f
cmp edx, r12d
je 0x10004cf2f
cmp edx, 0xffffffff
je 0x10004cf2f
mov r15, qword [rsp + 0x58]
jmp 0x10004cf61
xor r9d, r9d
mov r8d, esi
mov edx, 0x123b0134
xor ecx, ecx
call fcn.1000b51b8
mov r15, qword [rsp + 0x58]
jmp 0x10004d4c0
mov r15, qword [rsp + 0x58]
mov qword [rsp + 0x90], r15
cmp r15, rbx
jne 0x10004d033
cmp qword [rsp + 0xa8], rbx
je 0x10004d026
mov rcx, r13
call fcn.1000b99b0
mov ecx, 0x9bd
call fcn.1000ba420
mov rcx, rax
call fcn.1000b99b0
mov rcx, r13
call fcn.1000b99b0
lea rdx, [0x100014598]
mov qword [rsp + reloc.certcli.dll_Ordinal_256], rdx
lea rax, [rsp + 0x188]
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x108], 2
mov dword [rsp + 0x128], ebx
lea r9, [rsp + 0x118]
lea r8, [rsp + 0x120]
mov edx, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
call fcn.10007bd68
cmp eax, ebx
je 0x10004d009
xor r9d, r9d
mov r8d, eax
mov edx, 0x12520134
xor ecx, ecx
call fcn.1000b51b8
mov rsi, qword [rsp + 0x180]
jmp 0x10004d167
lea rax, [rsp + reloc.certcli.dll_Ordinal_256]
mov qword [rsp + 0x90], rax
lea rcx, [rsp + reloc.certcli.dll_Ordinal_256]
cmp rcx, rbx
jne 0x10004d033
mov rsi, qword [rsp + 0x180]
jmp 0x10004d167
mov rsi, qword [rsp + 0x180]
mov rax, qword [rsi + 0x18]
lea r9, [rax + 0x60]
lea r8, [rsp + reloc.certcli.dll_Ordinal_256]
cmp r15, rbx
cmovne r8, r15
mov edx, ebx
cmp dword [rax], ebx
sete dl
mov ecx, r12d
call fcn.1000be0f4
mov dword [rsp + 0x48], eax
cmp eax, ebx
je 0x10004d075
cmp dword [0x10011bd04], ebx
je 0x10004d12d
mov rcx, r13
call fcn.1000b99b0
mov ecx, 0x17e
call fcn.1000ba420
mov rcx, rax
call fcn.1000b99b0
mov rcx, r13
call fcn.1000b99b0
mov rdx, qword [rsi + 0x18]
mov ecx, dword [rdx]
add ecx, r12d
call fcn.10004e724
mov rcx, qword [rsi + 0x18]
mov rdx, qword [rcx + 0xc8]
mov ecx, dword [rcx + 0xc0]
call fcn.10004c55c
mov edi, eax
mov rdx, qword [rsi + 0x18]
add rdx, 0x60
mov ecx, eax
call fcn.10004dccc
mov rcx, qword [rsi + 0x18]
add rcx, 0x60
xor r8d, r8d
xor edx, edx
call fcn.1000524dc
mov rcx, r13
call fcn.1000b99b0
mov ecx, 0x17d
call fcn.1000ba420
mov rcx, rax
call fcn.1000b99b0
mov rcx, r13
call fcn.1000b99b0
mov rdx, qword [rsp + 0x90]
mov ecx, edi
call fcn.10004dccc
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x90]
call fcn.1000524dc
mov rcx, r13
call fcn.1000b99b0
mov eax, dword [rsp + 0x48]
cmp eax, ebx
jne 0x10004d167
mov ecx, 0x17c
call fcn.1000ba420
mov rcx, rax
call fcn.1000b99b0
mov rcx, r13
call fcn.1000b99b0
mov esi, 0x8007000d
xor r9d, r9d
mov r8d, esi
mov edx, 0x12800134
xor ecx, ecx
call fcn.1000b51b8
jmp 0x10004d4c0
cmp dword [rsp + 0x50], ebx
je 0x10004d2bd
mov rdx, qword [rsi + 0x18]
add rdx, 0x60
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x4c]
mov r8, r14
mov ecx, r12d
call fcn.10009b73c
lea rsi, [0x10000d630]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x80], 0x80004005
mov dword [rsp + 0x84], ebx
mov qword [rsp + 0x88], rbx
lea rcx, [rsp + 0x60]
call fcn.100038984
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x60]
call fcn.10003865c
nop
cmp dword [rsp + 0x80], ebx
je 0x10004d285
lea rdx, [0x10000d4b0]
mov rdi, qword [rsp + 0x68]
cmp rdi, rbx
cmovne rdx, rdi
mov r8d, 0x7fffffff
lea rcx, [rsp + 0x90]
call fcn.1000385c8
nop
mov r9d, 0x80090022
mov r8d, dword [rsp + 0x80]
mov edx, 0x128f0134
mov rcx, qword [rsp + 0x90]
call fcn.1000b51b8
nop
mov rcx, qword [rsp + 0x98]
call sub.msvcrt.dll_free
mov qword [rsp + 0x98], rbx
jmp 0x10004d28a
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x60], rsi
mov rcx, rdi
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x70]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
jmp 0x10004d3fe
mov rdx, qword [rsi + 0x18]
add rdx, 0x60
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4c]
mov r8, r14
mov ecx, r12d
call fcn.10009a774
lea rsi, [0x10000d630]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x80], 0x80004005
mov dword [rsp + 0x84], ebx
mov qword [rsp + 0x88], rbx
lea rcx, [rsp + 0x60]
call fcn.100038984
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x60]
call fcn.10003865c
nop
cmp dword [rsp + 0x80], ebx
je 0x10004d3cb
mov rdi, qword [rsp + 0x68]
cmp rdi, rbx
je 0x10004d350
mov rdx, rdi
jmp 0x10004d357
lea rdx, [0x10000d4b0]
mov r8d, 0x7fffffff
lea rcx, [rsp + 0x90]
call fcn.1000385c8
nop
mov r9d, 0x80090022
mov r8d, dword [rsp + 0x80]
mov edx, 0x12990134
mov rcx, qword [rsp + 0x90]
call fcn.1000b51b8
nop
mov rcx, qword [rsp + 0x98]
call sub.msvcrt.dll_free
mov qword [rsp + 0x98], rbx
jmp 0x10004d3d0
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x60], rsi
mov rcx, rdi
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x70]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
mov esi, dword [rsp + 0xe8]
cmp esi, ebx
je 0x10004d427
mov ecx, 0xa2d
call fcn.1000ba420
mov rcx, rax
call fcn.1000b99b0
mov rcx, r13
call fcn.1000b99b0
mov esi, ebx
jmp 0x10004d477
mov rdx, qword [rsp + 0x190]
cmp rdx, rbx
je 0x10004d443
mov eax, ebx
mov ecx, dword [rsp + 0x4c]
cmp ecx, ebx
sete al
mov dword [rdx], eax
jmp 0x10004d447
mov ecx, dword [rsp + 0x4c]
cmp ecx, ebx
je 0x10004d477
xor r9d, r9d
xor r8d, r8d
mov edx, 0x12aa0134
xor ecx, ecx
call fcn.1000b51b8
mov ecx, 0x301
call fcn.1000ba420
mov rcx, rax
call fcn.1000b99b0
mov rcx, r13
call fcn.1000b99b0
cmp dword [0x10011bd14], ebx
jne 0x10004d4c0
cmp qword [rsp + 0xa8], rbx
je 0x10004d4c0
mov rcx, r13
call fcn.1000b99b0
xor r8d, r8d
mov edx, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
call fcn.10004be18
mov esi, eax
cmp eax, ebx
je 0x10004d4c0
xor r9d, r9d
mov r8d, eax
mov edx, 0x12b60134
xor ecx, ecx
call fcn.1000b51b8
mov rax, qword [rsp + 0xc0]
cmp rax, rbx
je 0x10004d4d6
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rdi, qword [rsp + 0xa8]
cmp rdi, rbx
je 0x10004d4fc
mov ecx, dword [rsp + 0xa0]
xor eax, eax
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x120]
cmp rcx, rbx
je 0x10004d50f
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp r15, rbx
je 0x10004d51d
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp r14, rbx
je 0x10004d52d
mov rax, qword [r14]
mov edx, r12d
mov rcx, r14
call qword [rax]
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x10004d551
cmp dword [rsp + 0x198], 0xffffffff
je 0x10004d54b
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x10004d551
call sub.ncrypt.dll_NCryptFreeObject
nop
lea rax, [0x10000d630]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xd0]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xd8]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xf0]
call sub.msvcrt.dll_free
mov eax, esi
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret