Function at 0x41f4f0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x459bea
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
push esi
mov dword [ebp - 0x14], 0
mov esi, ecx
mov eax, dword [0x476478]
push edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x20]
push dword [esi + 0x234]
call fcn.00414060
mov eax, dword [esi + 0x1320]
or edi, 0xffffffff
cmp dword [esi + eax*4 + 0x12f0], 6
jne 0x41f7e2
cmp dword [esi + 0x78], 0
je 0x41f615
mov eax, dword [0x47fe10]
push 1
mov ecx, dword [eax - 8]
add ecx, ecx
push ecx
mov dword [eax - 4], ecx
mov ecx, esp
mov edi, dword [0x47fe10]
mov dword [ebp - 0x24], esp
push 0x465d18
call fcn.004054c0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 0
call fcn.00417060
add esp, 0xc
mov byte [ebp - 4], 2
mov edx, dword [eax]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
mov esi, dword [eax]
mov eax, dword [ebp - 0x18]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_IsWindow]
push 4
push edi
push esi
mov esi, dword [ebp - 0x18]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
setne byte [ebp - 0xd]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1c]
or edi, 0xffffffff
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x41f5f5
lea ecx, [eax - 0x20]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41f5f5
mov eax, dword [ebp - 0x1c]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
cmp byte [ebp - 0xd], 0
jne 0x41f7e9
mov dword [0x4801c8], 1
mov dword [esi + 0x78], 0
jmp 0x41f7e9
lea eax, [ebp - 0x18]
mov ecx, 0x47ffc8
push eax
call fcn.00417010
mov byte [ebp - 4], 3
mov ecx, 1
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
cmp dword [eax - 8], 0
je 0x41f66e
lea eax, [ebp - 0x1c]
mov ecx, 0x47ffc8
push eax
call fcn.00417010
mov dword [ebp - 4], 4
mov ecx, 3
mov dword [ebp - 0x14], ecx
mov edx, dword [eax]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov byte [ebp - 0xd], 1
test eax, eax
jne 0x41f672
mov byte [ebp - 0xd], 0
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x14]
test dl, 2
je 0x41f6b5
and edx, 0xfffffffd
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x1c]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x41f6b5
lea ecx, [eax - 0x20]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41f6b5
mov eax, dword [ebp - 0x1c]
add eax, 0xffffffe0
push eax
call fcn.004471aa
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [ebp - 4], 0
test dl, 1
je 0x41f6f2
and edx, 0xfffffffe
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x41f6f2
lea ecx, [eax - 0x20]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41f6f2
mov eax, dword [ebp - 0x18]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
cmp byte [ebp - 0xd], 0
je 0x41f7e2
call fcn.0041a390
test eax, eax
je 0x41f774
push 0
push 0
push 6
call fcn.0041a660
add esp, 0xc
test eax, eax
je 0x41f774
push str._version_extend
lea ecx, [ebp - 0x1c]
call fcn.004054c0
mov byte [ebp - 4], 5
lea edx, [ebp - 0x1c]
push 0
push 0
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push 0x480300
push edx
push eax
call fcn.004093a0
mov byte [ebp - 4], 6
push ecx
mov eax, esp
mov dword [ebp - 0x18], esp
push eax
mov ecx, 0x47ffc8
call fcn.00417010
mov byte [ebp - 4], 7
mov byte [ebp - 4], 5
call fcn.0040d580
add esp, 0x10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.004087b0
jmp 0x41f7e2
push 0x44
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x28], 0
push 0
push eax
call fcn.004486f0
add esp, 8
mov dword [ebp - 0x7c], 0x44
xorps xmm0, xmm0
mov dword [ebp - 0x24], esp
mov ecx, esp
movdqu xmmword [ebp - 0x38], xmm0
push 0x46155c
call fcn.00405580
mov byte [ebp - 4], 8
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x46155c
call fcn.00405580
mov byte [ebp - 4], 9
push ecx
mov eax, esp
mov dword [ebp - 0x18], esp
push eax
mov ecx, 0x47ffc8
call fcn.00417010
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7c]
call fcn.0040d280
mov ecx, esi
call fcn.0041f260
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x41f813
add eax, 0xffffffe0
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x41f813
push eax
call fcn.004471aa
add esp, 4
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret