Function at 0x1041182
Capabilities:
Check if file exists

Disassembly:
push 0xb0
mov eax, 0x10bd83a
call fcn.01074c7d
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x24], 5
mov byte [ebp - 0x23], 0
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x20], esi
lea ecx, [ebp - 0x80]
call fcn.0102e94f
mov dword [ebp - 4], esi
mov dword [ebp - 0x28], esi
xor eax, eax
lea edi, [ebp - 0x38]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x64]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0xc]
cmp eax, esi
je 0x10411d0
mov dword [eax], esi
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x10411d9
mov dword [eax], esi
push esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
push esi
mov eax, dword [0x10cf208]
neg eax
sbb eax, eax
and eax, 0x40
or eax, 0x10000
push eax
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.CRYPT32.dll_CryptAcquireCertificatePrivateKey]
test eax, eax
jne 0x1041287
call fcn.0108edc3
mov ebx, eax
mov esi, 0x8009200b
cmp ebx, esi
jne 0x104124b
xor ebx, ebx
push ebx
push esi
call sub.certcli.dll_Ordinal_207
mov edi, eax
cmp edi, ebx
je 0x104123a
push edi
push 0x1001d04
call fcn.01099014
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push esi
push esi
push 0x11c90134
call fcn.01089403
jmp 0x1041801
mov esi, 0x80090016
cmp ebx, esi
jne 0x104127c
push 0x269
call fcn.01088aa0
push eax
call fcn.01099014
mov dword [esp], 0x1004208
call fcn.01099014
pop ecx
xor ebx, ebx
push esi
push esi
push 0x11d50134
jmp 0x1041241
push ebx
push 0x11d70134
jmp 0x10417fc
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.010900a3
cmp eax, esi
je 0x10412a5
push 0x80092004
push eax
push 0x11da0134
call fcn.01089403
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x10412b0
mov eax, dword [eax]
jmp 0x10412b2
xor eax, eax
push dword [0x10cf204]
push eax
push dword [ebp - 0x14]
call fcn.0103be36
cmp dword [0x10cf204], esi
jne 0x10412e4
push dword [ebp - 0x14]
call fcn.0103e30b
push dword [ebp - 0x14]
call fcn.0103c235
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0103c356
cmp dword [ebp - 0x18], 0xffffffff
je 0x10412fa
push dword [ebp - 0x18]
call fcn.0103af60
movzx eax, al
mov dword [ebp - 0x3c], eax
jmp 0x1041344
lea eax, [ebp + 8]
push eax
push dword [ebp - 0x14]
call fcn.01094284
mov ebx, eax
cmp ebx, esi
je 0x1041317
push ebx
push 0x11ef0134
jmp 0x10417fc
test byte [ebp + 8], 4
jne 0x104132a
test byte [ebp + 8], 2
je 0x104132a
mov dword [ebp - 0x3c], 1
cmp dword [0x10cf204], esi
jne 0x1041344
push dword [ebp + 8]
mov eax, 0x1009d18
push eax
push eax
push 1
push esi
call fcn.01057c48
mov eax, dword [ebp + 0xc]
cmp eax, esi
je 0x1041350
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
push dword [ebp - 0x14]
call fcn.0103bfc5
lea eax, [ebp - 0x80]
push eax
cmp dword [ebp - 0x18], 0xffffffff
je 0x1041373
push 1
push esi
push dword [ebp - 0x18]
push esi
push dword [ebp - 0x14]
call fcn.01076c4a
jmp 0x104137e
push esi
push esi
push dword [ebp - 0x14]
push esi
call fcn.01077bce
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x70], esi
jge 0x10413a8
call fcn.0108edc3
mov ebx, eax
push ebx
push 0x121d0134
call fcn.010893e6
push ebx
push 0x354
call fcn.01088c36
jmp 0x1041801
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x34]
push ecx
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x28]
push eax
call fcn.0108f9d7
cmp eax, esi
je 0x10413eb
push eax
push 0x12280134
call fcn.010893e6
push 0x2d6
call fcn.01088aa0
push eax
call fcn.01099014
mov esi, 0x1004208
push esi
call fcn.01099014
pop ecx
pop ecx
jmp 0x10413f0
mov esi, 0x1004208
xor ebx, ebx
cmp dword [0x10cf1f0], ebx
jne 0x104140c
cmp dword [ebp - 0x18], 2
je 0x104140c
cmp dword [ebp - 0x18], 1
je 0x104140c
cmp dword [ebp - 0x18], 0xffffffff
jne 0x1041469
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x1c]
push eax
push 2
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0108f10a
test eax, eax
jne 0x1041457
call fcn.0108edc3
mov ebx, eax
push ebx
push 0x12380134
call fcn.010893e6
cmp dword [ebp - 0x18], 2
je 0x104144c
cmp dword [ebp - 0x18], 1
je 0x104144c
cmp dword [ebp - 0x18], 0xffffffff
jne 0x1041467
push ebx
push 0x123b0134
jmp 0x10417fc
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0xc], ecx
cmp ecx, ebx
jne 0x104157a
jmp 0x1041469
xor ebx, ebx
cmp dword [ebp - 0x34], ebx
je 0x10414cb
push esi
call fcn.01099014
mov dword [esp], 0x9bd
call fcn.01088aa0
push eax
call fcn.01099014
push esi
call fcn.01099014
pop ecx
pop ecx
mov dword [ebp - 0x64], 0x1009d00
lea eax, [ebp - 0x24]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], 2
mov dword [ebp - 0x50], ebx
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x38]
push dword [ebp - 0x34]
call fcn.0105de77
cmp eax, ebx
je 0x1041563
push eax
push 0x12520134
call fcn.010893e6
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x3c], ebx
je 0x10416b0
push ebx
push ebx
push eax
push dword [ebp - 0x20]
mov eax, dword [edi + 0xc]
add eax, 0x38
push eax
push 1
call fcn.01079e76
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0102ec81
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x90]
cmp edi, ebx
je 0x1041697
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x1041523
mov eax, 0x1002030
push 0x7fffffff
push eax
lea ecx, [ebp - 0x4c]
call fcn.0102ec12
mov byte [ebp - 4], 3
mov dword [ebp + 0xc], edi
push 0x80090022
push edi
push 0x128f0134
push dword [ebp - 0x4c]
call fcn.0108933a
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.0102eadc
mov dword [ebp - 4], 1
jmp 0x1041697
lea eax, [ebp - 0x64]
mov dword [ebp + 0xc], eax
test eax, eax
je 0x10414cb
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
jne 0x104157a
mov ecx, eax
mov eax, dword [edi + 0xc]
lea edx, [eax + 0x38]
push edx
push ecx
xor ecx, ecx
cmp dword [eax], ebx
sete cl
push ecx
push 1
call fcn.01092035
mov dword [ebp - 0x44], eax
cmp eax, ebx
je 0x10415a4
cmp dword [0x10cf1f4], ebx
je 0x1041638
push esi
call fcn.01099014
mov dword [esp], 0x17e
call fcn.01088aa0
push eax
call fcn.01099014
push esi
call fcn.01099014
pop ecx
pop ecx
mov eax, dword [edi + 0xc]
mov eax, dword [eax]
inc eax
push eax
call fcn.0103c4ad
mov eax, dword [edi + 0xc]
push dword [eax + 0x6c]
push dword [eax + 0x68]
call fcn.0103c06b
mov dword [ebp - 0x48], eax
mov ecx, dword [edi + 0xc]
add ecx, 0x38
push ecx
push eax
call fcn.0103fa47
push ebx
push ebx
mov eax, dword [edi + 0xc]
add eax, 0x38
push eax
call fcn.01040551
push esi
call fcn.01099014
mov dword [esp], 0x17d
call fcn.01088aa0
push eax
call fcn.01099014
push esi
call fcn.01099014
pop ecx
pop ecx
push dword [ebp + 0xc]
push dword [ebp - 0x48]
call fcn.0103fa47
push ebx
push ebx
push dword [ebp + 0xc]
call fcn.01040551
push esi
call fcn.01099014
pop ecx
cmp dword [ebp - 0x44], ebx
jne 0x10414cb
push 0x17c
call fcn.01088aa0
push eax
call fcn.01099014
push esi
call fcn.01099014
pop ecx
pop ecx
mov eax, 0x8007000d
mov ebx, eax
push eax
push 0x12800134
jmp 0x10417fc
mov byte [ebp - 4], 0
mov dword [ebp - 0xa0], 0x100245c
lea ecx, [ebp - 0xa0]
jmp 0x104176f
push eax
push dword [ebp - 0x20]
mov eax, dword [edi + 0xc]
add eax, 0x38
push eax
push 1
call fcn.010799b9
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xbc]
call fcn.0102ec81
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0xac]
cmp edi, ebx
je 0x104175b
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x10416f2
mov eax, 0x1002030
push 0x7fffffff
push eax
lea ecx, [ebp - 0x40]
call fcn.0102ec12
mov byte [ebp - 4], 7
mov dword [ebp - 0x44], edi
push 0x80090022
push edi
push 0x12990134
push dword [ebp - 0x40]
call fcn.0108933a
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call fcn.0102eadc
mov dword [ebp - 4], 5
jmp 0x104175b
mov byte [ebp - 4], 0
mov dword [ebp - 0xbc], 0x100245c
lea ecx, [ebp - 0xbc]
call fcn.0102cd3a
mov ebx, dword [ebp - 0x70]
xor edi, edi
cmp ebx, edi
je 0x1041797
push 0xa2d
call fcn.01088aa0
push eax
call fcn.01099014
push esi
call fcn.01099014
xor ebx, ebx
jmp 0x10417ce
mov eax, dword [ebp + 0x10]
cmp eax, edi
je 0x10417a8
xor ecx, ecx
cmp dword [ebp - 0x2c], edi
sete cl
mov dword [eax], ecx
cmp dword [ebp - 0x2c], edi
je 0x10417d0
push edi
push 0x12aa0134
call fcn.010893e6
push 0x301
call fcn.01088aa0
push eax
call fcn.01099014
push esi
call fcn.01099014
pop ecx
pop ecx
cmp dword [0x10cf204], edi
jne 0x1041801
cmp dword [ebp - 0x34], edi
je 0x1041801
push esi
call fcn.01099014
pop ecx
push edi
push dword [ebp - 0x38]
push dword [ebp - 0x34]
call fcn.0103e167
mov ebx, eax
cmp ebx, edi
je 0x1041801
push ebx
push 0x12b60134
call fcn.010893e6
xor edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x28], edi
je 0x1041813
push dword [ebp - 0x28]
call esi
mov eax, dword [ebp - 0x34]
cmp eax, edi
je 0x104182d
mov ecx, dword [ebp - 0x38]
cmp ecx, edi
je 0x1041828
mov byte [eax], 0
inc eax
dec ecx
jne 0x1041821
push dword [ebp - 0x34]
call esi
cmp dword [ebp - 0x54], edi
je 0x1041837
push dword [ebp - 0x54]
call esi
cmp dword [ebp - 0x1c], edi
je 0x1041841
push dword [ebp - 0x1c]
call esi
mov ecx, dword [ebp - 0x20]
cmp ecx, edi
je 0x104184e
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [ebp - 0x14], edi
je 0x104186d
cmp dword [ebp - 0x18], 0xffffffff
je 0x1041865
push edi
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x104186d
push dword [ebp - 0x14]
call sub.ncrypt.dll_NCryptFreeObject
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x80], 0x100245c
lea ecx, [ebp - 0x80]
call fcn.0102cd3a
mov eax, ebx
call fcn.01074d31
ret 0xc