Function at 0x407580
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c720
mov eax, dword fs:[0]
push eax
sub esp, 0x218
mov eax, dword [0x4ce6a8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x218]
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x224], eax
mov edx, 0x104
movlpd qword [ebp - 0x220], xmm0
mov dword [eax], 0
mov eax, ecx
sub esi, eax
nop word [eax + eax]
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x4075fe
movzx eax, word [esi + ecx]
test ax, ax
je 0x4075fe
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4075e0
lea eax, [ecx - 2]
test edx, edx
push 0x47065c
cmovne eax, ecx
xor ecx, ecx
push 0x104
mov word [eax], cx
lea eax, [ebp - 0x218]
push eax
call fcn.00407320
lea eax, [ebp - 0x218]
push eax
push 0
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
mov esi, eax
test esi, esi
setne bl
test esi, esi
jne 0x4076c6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x407664
test bl, bl
je 0x407693
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x40776f
jmp 0x407693
mov eax, dword [ebp + 4]
push 0x470574
push 0xc9
push eax
call fcn.00406570
add esp, 0xc
mov edi, eax
test bl, bl
je 0x40768f
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x407782
test edi, edi
js 0x407710
mov edi, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
lea eax, [edi*4]
mov dword [ecx], eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00447cbd
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x21c], 0
push eax
push esi
call fcn.00405c30
mov edi, eax
add esp, 8
test edi, edi
jns 0x40773c
mov eax, dword [ebp + 4]
push edi
push 0x470574
push 0xcf
push eax
call fcn.004065c0
add esp, 0x10
test bl, bl
je 0x407710
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x407795
mov eax, dword [ebp + 4]
push edi
push 0x470574
push 0x62
push eax
call fcn.004065c0
mov ecx, dword [ebp + 4]
push edi
push 0x470574
push 0x6b
push ecx
call fcn.004065c0
add esp, 0x20
mov eax, edi
jmp 0x4076aa
mov eax, dword [ebp - 0x21c]
cdq
mov edi, eax
test bl, bl
je 0x407699
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x407699
mov eax, dword [ebp + 4]
push str.C:ITSAzure_Agent_01_work58_sITSEdgeSecureBrowserpackagesMicrosoft.Windows.ImplementationLibrary.1.0.200519.2includewil_resource.h
push 0x924
push eax
call fcn.004078c0
mov eax, dword [ebp + 4]
push str.C:ITSAzure_Agent_01_work58_sITSEdgeSecureBrowserpackagesMicrosoft.Windows.ImplementationLibrary.1.0.200519.2includewil_resource.h
push 0x924
push eax
call fcn.004078c0
mov eax, dword [ebp + 4]
push str.C:ITSAzure_Agent_01_work58_sITSEdgeSecureBrowserpackagesMicrosoft.Windows.ImplementationLibrary.1.0.200519.2includewil_resource.h
push 0x924
push eax
call fcn.004078c0
mov eax, dword [ebp + 4]
push str.C:ITSAzure_Agent_01_work58_sITSEdgeSecureBrowserpackagesMicrosoft.Windows.ImplementationLibrary.1.0.200519.2includewil_resource.h
push 0x924
push eax
call fcn.004078c0
int3