Function at 0x1041914
Capabilities:
Check if file exists

Disassembly:
push 0xb0
mov eax, 0x10c09ce
call fcn.01077e6d
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.0102f04f
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 0x1041962
mov dword [eax], esi
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x104196b
mov dword [eax], esi
push esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
push esi
mov eax, dword [0x10d2298]
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 0x1041a19
call fcn.01091f43
mov ebx, eax
mov esi, 0x8009200b
cmp ebx, esi
jne 0x10419dd
xor ebx, ebx
push ebx
push esi
call sub.certcli.dll_Ordinal_207
mov edi, eax
cmp edi, ebx
je 0x10419cc
push edi
push 0x1001d38
call fcn.0109c1a8
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push esi
push esi
push 0x11c90134
call fcn.0108c577
jmp 0x1041f93
mov esi, 0x80090016
cmp ebx, esi
jne 0x1041a0e
push 0x269
call fcn.0108bc14
push eax
call fcn.0109c1a8
mov dword [esp], 0x1004310
call fcn.0109c1a8
pop ecx
xor ebx, ebx
push esi
push esi
push 0x11d50134
jmp 0x10419d3
push ebx
push 0x11d70134
jmp 0x1041f8e
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.01093223
cmp eax, esi
je 0x1041a37
push 0x80092004
push eax
push 0x11da0134
call fcn.0108c577
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x1041a42
mov eax, dword [eax]
jmp 0x1041a44
xor eax, eax
push dword [0x10d2294]
push eax
push dword [ebp - 0x14]
call fcn.0103c5c5
cmp dword [0x10d2294], esi
jne 0x1041a76
push dword [ebp - 0x14]
call fcn.0103ea9b
push dword [ebp - 0x14]
call fcn.0103c9c4
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0103cae5
cmp dword [ebp - 0x18], 0xffffffff
je 0x1041a8c
push dword [ebp - 0x18]
call fcn.0103b6ef
movzx eax, al
mov dword [ebp - 0x3c], eax
jmp 0x1041ad6
lea eax, [ebp + 8]
push eax
push dword [ebp - 0x14]
call fcn.01097406
mov ebx, eax
cmp ebx, esi
je 0x1041aa9
push ebx
push 0x11ef0134
jmp 0x1041f8e
test byte [ebp + 8], 4
jne 0x1041abc
test byte [ebp + 8], 2
je 0x1041abc
mov dword [ebp - 0x3c], 1
cmp dword [0x10d2294], esi
jne 0x1041ad6
push dword [ebp + 8]
mov eax, 0x1009e20
push eax
push eax
push 1
push esi
call fcn.010583fb
mov eax, dword [ebp + 0xc]
cmp eax, esi
je 0x1041ae2
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
push dword [ebp - 0x14]
call fcn.0103c754
lea eax, [ebp - 0x80]
push eax
cmp dword [ebp - 0x18], 0xffffffff
je 0x1041b05
push 1
push esi
push dword [ebp - 0x18]
push esi
push dword [ebp - 0x14]
call fcn.01079dfe
jmp 0x1041b10
push esi
push esi
push dword [ebp - 0x14]
push esi
call fcn.0107ad15
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x70], esi
jge 0x1041b3a
call fcn.01091f43
mov ebx, eax
push ebx
push 0x121d0134
call fcn.0108c55a
push ebx
push 0x354
call fcn.0108bdaa
jmp 0x1041f93
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.01092b57
cmp eax, esi
je 0x1041b7d
push eax
push 0x12280134
call fcn.0108c55a
push 0x2d6
call fcn.0108bc14
push eax
call fcn.0109c1a8
mov esi, 0x1004310
push esi
call fcn.0109c1a8
pop ecx
pop ecx
jmp 0x1041b82
mov esi, 0x1004310
xor ebx, ebx
cmp dword [0x10d2280], ebx
jne 0x1041b9e
cmp dword [ebp - 0x18], 2
je 0x1041b9e
cmp dword [ebp - 0x18], 1
je 0x1041b9e
cmp dword [ebp - 0x18], 0xffffffff
jne 0x1041bfb
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x1c]
push eax
push 2
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0109228a
test eax, eax
jne 0x1041be9
call fcn.01091f43
mov ebx, eax
push ebx
push 0x12380134
call fcn.0108c55a
cmp dword [ebp - 0x18], 2
je 0x1041bde
cmp dword [ebp - 0x18], 1
je 0x1041bde
cmp dword [ebp - 0x18], 0xffffffff
jne 0x1041bf9
push ebx
push 0x123b0134
jmp 0x1041f8e
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0xc], ecx
cmp ecx, ebx
jne 0x1041d0c
jmp 0x1041bfb
xor ebx, ebx
cmp dword [ebp - 0x34], ebx
je 0x1041c5d
push esi
call fcn.0109c1a8
mov dword [esp], 0x9bd
call fcn.0108bc14
push eax
call fcn.0109c1a8
push esi
call fcn.0109c1a8
pop ecx
pop ecx
mov dword [ebp - 0x64], 0x1009e08
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.0105e619
cmp eax, ebx
je 0x1041cf5
push eax
push 0x12520134
call fcn.0108c55a
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x3c], ebx
je 0x1041e42
push ebx
push ebx
push eax
push dword [ebp - 0x20]
mov eax, dword [edi + 0xc]
add eax, 0x38
push eax
push 1
call fcn.0107cfbd
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0102f398
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x90]
cmp edi, ebx
je 0x1041e29
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x1041cb5
mov eax, 0x1002068
push SysReAllocString
push eax
lea ecx, [ebp - 0x4c]
call fcn.0102f329
mov byte [ebp - 4], 3
mov dword [ebp + 0xc], edi
push 0x80090022
push edi
push 0x128f0134
push dword [ebp - 0x4c]
call fcn.0108c4ae
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.0102f1f3
mov dword [ebp - 4], 1
jmp 0x1041e29
lea eax, [ebp - 0x64]
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1041c5d
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
jne 0x1041d0c
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.010951b6
mov dword [ebp - 0x44], eax
cmp eax, ebx
je 0x1041d36
cmp dword [0x10d2284], ebx
je 0x1041dca
push esi
call fcn.0109c1a8
mov dword [esp], 0x17e
call fcn.0108bc14
push eax
call fcn.0109c1a8
push esi
call fcn.0109c1a8
pop ecx
pop ecx
mov eax, dword [edi + 0xc]
mov eax, dword [eax]
inc eax
push eax
call fcn.0103cc3c
mov eax, dword [edi + 0xc]
push dword [eax + 0x6c]
push dword [eax + 0x68]
call fcn.0103c7fa
mov dword [ebp - 0x48], eax
mov ecx, dword [edi + 0xc]
add ecx, 0x38
push ecx
push eax
call fcn.010401d7
push ebx
push ebx
mov eax, dword [edi + 0xc]
add eax, 0x38
push eax
call fcn.01040ce3
push esi
call fcn.0109c1a8
mov dword [esp], 0x17d
call fcn.0108bc14
push eax
call fcn.0109c1a8
push esi
call fcn.0109c1a8
pop ecx
pop ecx
push dword [ebp + 0xc]
push dword [ebp - 0x48]
call fcn.010401d7
push ebx
push ebx
push dword [ebp + 0xc]
call fcn.01040ce3
push esi
call fcn.0109c1a8
pop ecx
cmp dword [ebp - 0x44], ebx
jne 0x1041c5d
push 0x17c
call fcn.0108bc14
push eax
call fcn.0109c1a8
push esi
call fcn.0109c1a8
pop ecx
pop ecx
mov eax, 0x8007000d
mov ebx, eax
push eax
push 0x12800134
jmp 0x1041f8e
mov byte [ebp - 4], 0
mov dword [ebp - 0xa0], 0x1002494
lea ecx, [ebp - 0xa0]
jmp 0x1041f01
push eax
push dword [ebp - 0x20]
mov eax, dword [edi + 0xc]
add eax, 0x38
push eax
push 1
call fcn.0107cb00
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xbc]
call fcn.0102f398
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0xac]
cmp edi, ebx
je 0x1041eed
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x1041e84
mov eax, 0x1002068
push SysReAllocString
push eax
lea ecx, [ebp - 0x40]
call fcn.0102f329
mov byte [ebp - 4], 7
mov dword [ebp - 0x44], edi
push 0x80090022
push edi
push 0x12990134
push dword [ebp - 0x40]
call fcn.0108c4ae
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call fcn.0102f1f3
mov dword [ebp - 4], 5
jmp 0x1041eed
mov byte [ebp - 4], 0
mov dword [ebp - 0xbc], 0x1002494
lea ecx, [ebp - 0xbc]
call fcn.0102d43a
mov ebx, dword [ebp - 0x70]
xor edi, edi
cmp ebx, edi
je 0x1041f29
push 0xa2d
call fcn.0108bc14
push eax
call fcn.0109c1a8
push esi
call fcn.0109c1a8
xor ebx, ebx
jmp 0x1041f60
mov eax, dword [ebp + 0x10]
cmp eax, edi
je 0x1041f3a
xor ecx, ecx
cmp dword [ebp - 0x2c], edi
sete cl
mov dword [eax], ecx
cmp dword [ebp - 0x2c], edi
je 0x1041f62
push edi
push 0x12aa0134
call fcn.0108c55a
push 0x301
call fcn.0108bc14
push eax
call fcn.0109c1a8
push esi
call fcn.0109c1a8
pop ecx
pop ecx
cmp dword [0x10d2294], edi
jne 0x1041f93
cmp dword [ebp - 0x34], edi
je 0x1041f93
push esi
call fcn.0109c1a8
pop ecx
push edi
push dword [ebp - 0x38]
push dword [ebp - 0x34]
call fcn.0103e8f7
mov ebx, eax
cmp ebx, edi
je 0x1041f93
push ebx
push 0x12b60134
call fcn.0108c55a
xor edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x28], edi
je 0x1041fa5
push dword [ebp - 0x28]
call esi
mov eax, dword [ebp - 0x34]
cmp eax, edi
je 0x1041fbf
mov ecx, dword [ebp - 0x38]
cmp ecx, edi
je 0x1041fba
mov byte [eax], 0
inc eax
dec ecx
jne 0x1041fb3
push dword [ebp - 0x34]
call esi
cmp dword [ebp - 0x54], edi
je 0x1041fc9
push dword [ebp - 0x54]
call esi
cmp dword [ebp - 0x1c], edi
je 0x1041fd3
push dword [ebp - 0x1c]
call esi
mov ecx, dword [ebp - 0x20]
cmp ecx, edi
je 0x1041fe0
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [ebp - 0x14], edi
je 0x1041fff
cmp dword [ebp - 0x18], 0xffffffff
je 0x1041ff7
push edi
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x1041fff
push dword [ebp - 0x14]
call sub.ncrypt.dll_NCryptFreeObject
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x80], 0x1002494
lea ecx, [ebp - 0x80]
call fcn.0102d43a
mov eax, ebx
call fcn.01077f21
ret 0xc