Function at 0x104184c
Capabilities:
Check if file exists

Disassembly:
push 0xb0
mov eax, 0x10c0a1e
call fcn.01077dad
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.0102efbf
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 0x104189a
mov dword [eax], esi
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x10418a3
mov dword [eax], esi
push esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
push esi
mov eax, dword [0x10d22b8]
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 0x1041951
call fcn.01091f1e
mov ebx, eax
mov esi, 0x8009200b
cmp ebx, esi
jne 0x1041915
xor ebx, ebx
push ebx
push esi
call sub.certcli.dll_Ordinal_207
mov edi, eax
cmp edi, ebx
je 0x1041904
push edi
push 0x1001d34
call fcn.0109c1c3
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push esi
push esi
push 0x11c90134
call fcn.0108c520
jmp 0x1041ecb
mov esi, 0x80090016
cmp ebx, esi
jne 0x1041946
push 0x269
call fcn.0108bbbd
push eax
call fcn.0109c1c3
mov dword [esp], 0x10042f8
call fcn.0109c1c3
pop ecx
xor ebx, ebx
push esi
push esi
push 0x11d50134
jmp 0x104190b
push ebx
push 0x11d70134
jmp 0x1041ec6
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.010931fe
cmp eax, esi
je 0x104196f
push 0x80092004
push eax
push 0x11da0134
call fcn.0108c520
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x104197a
mov eax, dword [eax]
jmp 0x104197c
xor eax, eax
push dword [0x10d22b4]
push eax
push dword [ebp - 0x14]
call fcn.0103c4c3
cmp dword [0x10d22b4], esi
jne 0x10419ae
push dword [ebp - 0x14]
call fcn.0103e9d0
push dword [ebp - 0x14]
call fcn.0103c8c2
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0103c9e3
cmp dword [ebp - 0x18], 0xffffffff
je 0x10419c4
push dword [ebp - 0x18]
call fcn.0103b5ed
movzx eax, al
mov dword [ebp - 0x3c], eax
jmp 0x1041a0e
lea eax, [ebp + 8]
push eax
push dword [ebp - 0x14]
call fcn.010973e7
mov ebx, eax
cmp ebx, esi
je 0x10419e1
push ebx
push 0x11ef0134
jmp 0x1041ec6
test byte [ebp + 8], 4
jne 0x10419f4
test byte [ebp + 8], 2
je 0x10419f4
mov dword [ebp - 0x3c], 1
cmp dword [0x10d22b4], esi
jne 0x1041a0e
push dword [ebp + 8]
mov eax, 0x1009e08
push eax
push eax
push 1
push esi
call fcn.01058339
mov eax, dword [ebp + 0xc]
cmp eax, esi
je 0x1041a1a
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
push dword [ebp - 0x14]
call fcn.0103c652
lea eax, [ebp - 0x80]
push eax
cmp dword [ebp - 0x18], 0xffffffff
je 0x1041a3d
push 1
push esi
push dword [ebp - 0x18]
push esi
push dword [ebp - 0x14]
call fcn.01079d8a
jmp 0x1041a48
push esi
push esi
push dword [ebp - 0x14]
push esi
call fcn.0107aca2
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x70], esi
jge 0x1041a72
call fcn.01091f1e
mov ebx, eax
push ebx
push 0x121d0134
call fcn.0108c503
push ebx
push 0x354
call fcn.0108bd53
jmp 0x1041ecb
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.01092b32
cmp eax, esi
je 0x1041ab5
push eax
push 0x12280134
call fcn.0108c503
push 0x2d6
call fcn.0108bbbd
push eax
call fcn.0109c1c3
mov esi, 0x10042f8
push esi
call fcn.0109c1c3
pop ecx
pop ecx
jmp 0x1041aba
mov esi, 0x10042f8
xor ebx, ebx
cmp dword [0x10d22a0], ebx
jne 0x1041ad6
cmp dword [ebp - 0x18], 2
je 0x1041ad6
cmp dword [ebp - 0x18], 1
je 0x1041ad6
cmp dword [ebp - 0x18], 0xffffffff
jne 0x1041b33
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x1c]
push eax
push 2
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.01092265
test eax, eax
jne 0x1041b21
call fcn.01091f1e
mov ebx, eax
push ebx
push 0x12380134
call fcn.0108c503
cmp dword [ebp - 0x18], 2
je 0x1041b16
cmp dword [ebp - 0x18], 1
je 0x1041b16
cmp dword [ebp - 0x18], 0xffffffff
jne 0x1041b31
push ebx
push 0x123b0134
jmp 0x1041ec6
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0xc], ecx
cmp ecx, ebx
jne 0x1041c44
jmp 0x1041b33
xor ebx, ebx
cmp dword [ebp - 0x34], ebx
je 0x1041b95
push esi
call fcn.0109c1c3
mov dword [esp], 0x9bd
call fcn.0108bbbd
push eax
call fcn.0109c1c3
push esi
call fcn.0109c1c3
pop ecx
pop ecx
mov dword [ebp - 0x64], 0x1009df0
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.0105e568
cmp eax, ebx
je 0x1041c2d
push eax
push 0x12520134
call fcn.0108c503
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x3c], ebx
je 0x1041d7a
push ebx
push ebx
push eax
push dword [ebp - 0x20]
mov eax, dword [edi + 0xc]
add eax, 0x38
push eax
push 1
call fcn.0107cf4a
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0102f308
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x90]
cmp edi, ebx
je 0x1041d61
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x1041bed
mov eax, 0x1002060
push SysReAllocString
push eax
lea ecx, [ebp - 0x4c]
call fcn.0102f299
mov byte [ebp - 4], 3
mov dword [ebp + 0xc], edi
push 0x80090022
push edi
push 0x128f0134
push dword [ebp - 0x4c]
call fcn.0108c457
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.0102f163
mov dword [ebp - 4], 1
jmp 0x1041d61
lea eax, [ebp - 0x64]
mov dword [ebp + 0xc], eax
test eax, eax
je 0x1041b95
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
jne 0x1041c44
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.01095198
mov dword [ebp - 0x44], eax
cmp eax, ebx
je 0x1041c6e
cmp dword [0x10d22a4], ebx
je 0x1041d02
push esi
call fcn.0109c1c3
mov dword [esp], 0x17e
call fcn.0108bbbd
push eax
call fcn.0109c1c3
push esi
call fcn.0109c1c3
pop ecx
pop ecx
mov eax, dword [edi + 0xc]
mov eax, dword [eax]
inc eax
push eax
call fcn.0103cb71
mov eax, dword [edi + 0xc]
push dword [eax + 0x6c]
push dword [eax + 0x68]
call fcn.0103c6f8
mov dword [ebp - 0x48], eax
mov ecx, dword [edi + 0xc]
add ecx, 0x38
push ecx
push eax
call fcn.0104010c
push ebx
push ebx
mov eax, dword [edi + 0xc]
add eax, 0x38
push eax
call fcn.01040c18
push esi
call fcn.0109c1c3
mov dword [esp], 0x17d
call fcn.0108bbbd
push eax
call fcn.0109c1c3
push esi
call fcn.0109c1c3
pop ecx
pop ecx
push dword [ebp + 0xc]
push dword [ebp - 0x48]
call fcn.0104010c
push ebx
push ebx
push dword [ebp + 0xc]
call fcn.01040c18
push esi
call fcn.0109c1c3
pop ecx
cmp dword [ebp - 0x44], ebx
jne 0x1041b95
push 0x17c
call fcn.0108bbbd
push eax
call fcn.0109c1c3
push esi
call fcn.0109c1c3
pop ecx
pop ecx
mov eax, 0x8007000d
mov ebx, eax
push eax
push 0x12800134
jmp 0x1041ec6
mov byte [ebp - 4], 0
mov dword [ebp - 0xa0], 0x100248c
lea ecx, [ebp - 0xa0]
jmp 0x1041e39
push eax
push dword [ebp - 0x20]
mov eax, dword [edi + 0xc]
add eax, 0x38
push eax
push 1
call fcn.0107ca8d
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xbc]
call fcn.0102f308
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0xac]
cmp edi, ebx
je 0x1041e25
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x1041dbc
mov eax, 0x1002060
push SysReAllocString
push eax
lea ecx, [ebp - 0x40]
call fcn.0102f299
mov byte [ebp - 4], 7
mov dword [ebp - 0x44], edi
push 0x80090022
push edi
push 0x12990134
push dword [ebp - 0x40]
call fcn.0108c457
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call fcn.0102f163
mov dword [ebp - 4], 5
jmp 0x1041e25
mov byte [ebp - 4], 0
mov dword [ebp - 0xbc], 0x100248c
lea ecx, [ebp - 0xbc]
call fcn.0102d3aa
mov ebx, dword [ebp - 0x70]
xor edi, edi
cmp ebx, edi
je 0x1041e61
push 0xa2d
call fcn.0108bbbd
push eax
call fcn.0109c1c3
push esi
call fcn.0109c1c3
xor ebx, ebx
jmp 0x1041e98
mov eax, dword [ebp + 0x10]
cmp eax, edi
je 0x1041e72
xor ecx, ecx
cmp dword [ebp - 0x2c], edi
sete cl
mov dword [eax], ecx
cmp dword [ebp - 0x2c], edi
je 0x1041e9a
push edi
push 0x12aa0134
call fcn.0108c503
push 0x301
call fcn.0108bbbd
push eax
call fcn.0109c1c3
push esi
call fcn.0109c1c3
pop ecx
pop ecx
cmp dword [0x10d22b4], edi
jne 0x1041ecb
cmp dword [ebp - 0x34], edi
je 0x1041ecb
push esi
call fcn.0109c1c3
pop ecx
push edi
push dword [ebp - 0x38]
push dword [ebp - 0x34]
call fcn.0103e82c
mov ebx, eax
cmp ebx, edi
je 0x1041ecb
push ebx
push 0x12b60134
call fcn.0108c503
xor edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x28], edi
je 0x1041edd
push dword [ebp - 0x28]
call esi
mov eax, dword [ebp - 0x34]
cmp eax, edi
je 0x1041ef7
mov ecx, dword [ebp - 0x38]
cmp ecx, edi
je 0x1041ef2
mov byte [eax], 0
inc eax
dec ecx
jne 0x1041eeb
push dword [ebp - 0x34]
call esi
cmp dword [ebp - 0x54], edi
je 0x1041f01
push dword [ebp - 0x54]
call esi
cmp dword [ebp - 0x1c], edi
je 0x1041f0b
push dword [ebp - 0x1c]
call esi
mov ecx, dword [ebp - 0x20]
cmp ecx, edi
je 0x1041f18
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [ebp - 0x14], edi
je 0x1041f37
cmp dword [ebp - 0x18], 0xffffffff
je 0x1041f2f
push edi
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x1041f37
push dword [ebp - 0x14]
call sub.ncrypt.dll_NCryptFreeObject
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x80], 0x100248c
lea ecx, [ebp - 0x80]
call fcn.0102d3aa
mov eax, ebx
call fcn.01077e61
ret 0xc