Function at 0x408950
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44ed58
mov eax, dword fs:[0]
push eax
sub esp, 0x154
mov eax, dword [0x467030]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x154], esi
mov edi, dword [ebp + 8]
lea eax, [esi + 0x18]
mov dword [ebp - 0x158], edi
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x160], edi
jb 0x40899f
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4089be
mov dword [edi], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 7
mov word [edi], ax
jmp 0x408fa3
lea eax, [ebp - 0xa8]
mov ecx, esi
push eax
call fcn.00408fd0
xor eax, eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x98], eax
jne 0x4089f1
mov dword [edi], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 7
mov word [edi], ax
jmp 0x408f98
xorps xmm0, xmm0
movups xmmword [ebp - 0x90], xmm0
mov word [ebp - 0x82], ax
movups xmmword [ebp - 0x80], xmm0
movaps xmm0, xmmword [0x4528e0]
movups xmmword [ebp - 0x70], xmm0
push 0x14
mov byte [ebp - 4], 2
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
call fcn.004292c5
add esp, 4
mov dword [ebp - 0x158], eax
test eax, eax
je 0x408a5b
mov dword [eax], 0
mov dword [eax + 4], 0x10000
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
jmp 0x408a5d
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x94], 0x10
lea eax, [ebp - 0xa8]
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 3
cmovae eax, dword [ebp - 0xa8]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x15c]
push eax
call fcn.00403bb0
cmp dword [eax + 0x30], 0
je 0x408af7
mov esi, dword [ebp - 0x7c]
xor eax, eax
mov dword [edi], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
mov dword [ebp - 0x154], esi
test esi, esi
je 0x408f83
mov eax, dword [esi]
test eax, eax
je 0x408f5c
mov edi, esi
cmp eax, dword [edi + 8]
je 0x408f50
mov esi, dword [eax + 8]
push eax
call fcn.00432261
add esp, 4
mov dword [edi], esi
mov eax, esi
test esi, esi
jne 0x408ad5
jmp 0x408f50
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp word [ebp - 0x82], 3
mov byte [ebp - 4], 5
je 0x408b4e
push 0x4db
push str.D:jenkins_homeworkspace_task_addons_thirdparty_vcpkginstalledx86_windows_static_share_rapidjson....include_rapidjson_document.h
push str.IsObject__
call fcn.00435f5f
add esp, 0xc
mov esi, dword [ebp - 0x90]
lea ecx, [ebp - 0x90]
xorps xmm0, xmm0
shl esi, 5
add esi, dword [ebp - 0x88]
mov eax, 0x405
movups xmmword [ebp - 0x50], xmm0
mov word [ebp - 0x42], ax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x158]
mov dword [ebp - 0x48], str.versionCode
push eax
mov dword [ebp - 0x50], 0xb
call fcn.00402b80
cmp dword [ebp - 0x158], esi
je 0x408bc8
push str.versionCode
lea ecx, [ebp - 0x90]
call fcn.004028f0
mov ecx, eax
call fcn.00409a60
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x408bb5
sub edx, esi
lea ecx, [ebp - 0x28]
push edx
push eax
call fcn.00402120
cmp word [ebp - 0x82], 3
je 0x408be9
push 0x4db
push str.D:jenkins_homeworkspace_task_addons_thirdparty_vcpkginstalledx86_windows_static_share_rapidjson....include_rapidjson_document.h
push str.IsObject__
call fcn.00435f5f
add esp, 0xc
mov esi, dword [ebp - 0x90]
lea ecx, [ebp - 0x90]
xorps xmm0, xmm0
shl esi, 5
add esi, dword [ebp - 0x88]
mov eax, 0x405
movups xmmword [ebp - 0x50], xmm0
mov word [ebp - 0x42], ax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x158]
mov dword [ebp - 0x48], str.appName
push eax
mov dword [ebp - 0x50], 7
call fcn.00402b80
cmp dword [ebp - 0x158], esi
je 0x408c63
push str.appName
lea ecx, [ebp - 0x90]
call fcn.004028f0
mov ecx, eax
call fcn.00409a60
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x408c50
sub edx, esi
lea ecx, [ebp - 0x40]
push edx
push eax
call fcn.00402120
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00412900
mov esi, eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00412900
push eax
push dword [ebp - 0x154]
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 7
push eax
call fcn.00402aa0
push 0x451e88
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 8
push eax
call fcn.00402a30
add esp, 0x28
push esi
push eax
push dword [ebp - 0x158]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 9
call fcn.00406b40
lea ecx, [ebp - 0x58]
call fcn.00407ac0
lea ecx, [ebp - 0xd8]
call fcn.00407ac0
lea ecx, [ebp - 0xf0]
call fcn.00407ac0
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xe
call fcn.00407ac0
cmp dword [ebp - 0xac], 8
lea eax, [ebp - 0xc0]
cmovae eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x408e72
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.00412900
mov esi, dword [ebp - 0x154]
push eax
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 0xf
push esi
push eax
call fcn.00402aa0
push 0x451e88
push eax
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 0x10
push eax
call fcn.00402a30
add esp, 0x20
lea ecx, [esi + 0x30]
push eax
call fcn.00408030
lea ecx, [ebp - 0x120]
call fcn.00407ac0
lea ecx, [ebp - 0x138]
call fcn.00407ac0
lea ecx, [ebp - 0x150]
call fcn.00407ac0
lea eax, [ebp - 0xc0]
mov ecx, edi
push eax
call fcn.00406a60
lea ecx, [ebp - 0xc0]
call fcn.00407ac0
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x408dd5
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408dcb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408fc2
push edx
push ecx
call fcn.004292f5
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x408e1b
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408e11
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408fc2
push edx
push ecx
call fcn.004292f5
add esp, 8
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x154], esi
test esi, esi
je 0x408f83
mov eax, dword [esi]
test eax, eax
je 0x408f5c
mov edi, esi
nop word [eax + eax]
cmp eax, dword [edi + 8]
je 0x408f50
mov esi, dword [eax + 8]
push eax
call fcn.00432261
add esp, 4
mov dword [edi], esi
mov eax, esi
test esi, esi
jne 0x408e50
jmp 0x408f50
xor eax, eax
mov dword [edi], 0
mov dword [edi + 0x10], 0
lea ecx, [ebp - 0xc0]
mov dword [edi + 0x14], 7
mov word [edi], ax
call fcn.00407ac0
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x408eca
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408ec0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408fc2
push edx
push ecx
call fcn.004292f5
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x408f10
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408f06
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408fc2
push edx
push ecx
call fcn.004292f5
add esp, 8
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x154], esi
test esi, esi
je 0x408f83
mov eax, dword [esi]
test eax, eax
je 0x408f5c
mov edi, esi
cmp eax, dword [edi + 8]
je 0x408f50
mov esi, dword [eax + 8]
push eax
call fcn.00432261
add esp, 4
mov dword [edi], esi
mov eax, esi
test esi, esi
jne 0x408f37
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [esi]
test eax, eax
je 0x408f6e
cmp eax, dword [esi + 8]
jne 0x408f6e
mov dword [eax + 4], 0
push 1
push dword [esi + 0x10]
call fcn.004292f5
push 0x14
push esi
call fcn.004292f5
add esp, 0x10
push dword [ebp - 0x70]
call fcn.00432261
push 1
push dword [ebp - 0x74]
call fcn.004292f5
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.00401ff0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00429303
mov esp, ebp
pop ebp
ret 4
call fcn.0042d6e1
int3