Function at 0x405190
Capabilities:
Delete file
Get common file path
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2cc
mov eax, dword [0x474104]
xor eax, esp
mov dword [esp + 0x2c8], eax
cmp word [0x477a48], 0
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
jne 0x4051e0
push 0x104
push 0x477a48
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x477a48
call esi
push 0x477a48
call esi
push str.logStoreAppHelper.log
push 0x477a48
push 0x477a48
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ecx, 0x477a48
mov dword [esp + 0x6c], 0
xor eax, eax
mov dword [esp + 0x70], 7
mov word [esp + 0x5c], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405214
sub ecx, edx
sar ecx, 1
push ecx
push 0x477a48
lea ecx, [esp + 0x64]
call fcn.00406fd0
cmp dword [esp + 0x70], 8
lea eax, [esp + 0x5c]
cmovae eax, dword [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [esp + 0x70], 8
lea eax, [esp + 0x5c]
cmovae eax, dword [esp + 0x5c]
push eax
call fcn.00429aa0
call fcn.004297a0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
mov ebx, str._null_
sub eax, 1
jne 0x405396
push 0x4e
push str.d:jenkins.jenkinsworkspacemgamewinoptwinopt_main_storeapphelpermain.cpp
lea ecx, [esp + 0x18]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xf
mov byte [esp + 0x18], 0
call fcn.00407160
push 3
push 0x46bd10
lea ecx, [esp + 0x30]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
mov byte [esp + 0x30], 0
call fcn.00407160
push 0x13
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0xd4]
call fcn.00404680
mov esi, eax
push 0x46bd14
push esi
call fcn.00407450
test edi, edi
mov ecx, ebx
cmovne ecx, edi
push ecx
push esi
call fcn.00407450
add esp, 0x10
call fcn.004297a0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [esp + 0xc8]
call fcn.004047e0
mov edx, dword [esp + 0x3c]
cmp edx, 0x10
jb 0x40534b
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405341
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059cb
push edx
push ecx
call fcn.0043389e
add esp, 8
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp edx, 0x10
jb 0x405396
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40538c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059cb
push edx
push ecx
call fcn.0043389e
add esp, 8
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x30
lea eax, [esp + 0x9c]
push 0
push eax
call fcn.004356c0
add esp, 0xc
lea ecx, [esp + 0x98]
call fcn.0042ad60
mov ecx, edi
mov dword [esp + 0x20], 0
xor eax, eax
mov dword [esp + 0x24], 7
mov word [esp + 0x10], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4053e2
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [esp + 0x18]
call fcn.00406fd0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x9c]
call fcn.0042b780
mov edx, dword [esp + 0x24]
cmp edx, 8
jb 0x405449
mov ecx, dword [esp + 0x10]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40543f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059d0
push edx
push ecx
call fcn.0043389e
add esp, 8
xor eax, eax
mov dword [esp + 0x89], 0
push 2
xorps xmm0, xmm0
mov word [esp + 0x91], ax
push 0x46bd20
lea ecx, [esp + 0x18]
movlpd qword [esp + 0x89], xmm0
mov byte [esp + 0x97], al
mov dword [esp + 0x7c], vtable.StoreAppHelper.0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 1
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0xf
mov byte [esp + 0x88], al
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 7
mov word [esp + 0x18], ax
call fcn.00406fd0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x9c]
call fcn.0042b6e0
mov edx, dword [esp + 0x24]
mov esi, eax
cmp edx, 8
jb 0x405514
mov ecx, dword [esp + 0x10]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40550a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059d5
push edx
push ecx
call fcn.0043389e
add esp, 8
test esi, esi
je 0x40561a
push 0x208
lea eax, [esp + 0xcc]
push 0
push eax
call fcn.004356c0
add esp, 0xc
lea eax, [esp + 0xc8]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
mov dword [esp + 0x38], 0
push 0xb
push str.__msix_name
lea ecx, [esp + 0x18]
mov dword [esp + 0x44], 7
mov word [esp + 0x30], ax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 7
mov word [esp + 0x18], ax
call fcn.00406fd0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0xa0]
call fcn.0042b5a0
mov edx, dword [esp + 0x24]
cmp edx, 8
jb 0x4055d0
mov ecx, dword [esp + 0x10]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4055c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059da
push edx
push ecx
call fcn.0043389e
add esp, 8
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x78]
call fcn.0040b3d0
mov edx, dword [esp + 0x3c]
cmp edx, 8
jb 0x40561a
mov ecx, dword [esp + 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405610
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059df
push edx
push ecx
call fcn.0043389e
add esp, 8
xor eax, eax
mov dword [esp + 0x54], 0
push 6
push str.__enum
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 7
mov word [esp + 0x4c], ax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 7
mov word [esp + 0x18], ax
call fcn.00406fd0
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0xa0]
call fcn.0042b5a0
mov edx, dword [esp + 0x24]
cmp edx, 8
jb 0x4056a4
mov ecx, dword [esp + 0x10]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40569a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059e4
push edx
push ecx
call fcn.0043389e
add esp, 8
call fcn.004297a0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x4057e1
push 0x4e
push str.d:jenkins.jenkinsworkspacemgamewinoptwinopt_main_storeapphelpermain.cpp
lea ecx, [esp + 0x18]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0xf
mov byte [esp + 0x18], al
call fcn.00407160
push 3
push 0x46bd10
lea ecx, [esp + 0x30]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
mov byte [esp + 0x30], 0
call fcn.00407160
push 0x28
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0xd4]
call fcn.00404680
mov esi, eax
push str.scan_type:
push esi
call fcn.00407450
cmp dword [esp + 0x60], 8
lea ecx, [esp + 0x4c]
cmovae ecx, dword [esp + 0x4c]
test ecx, ecx
cmovne ebx, ecx
push ebx
push esi
call fcn.00407450
add esp, 0x10
call fcn.004297a0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [esp + 0xc8]
call fcn.004047e0
mov edx, dword [esp + 0x3c]
cmp edx, 0x10
jb 0x405796
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40578c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059e9
push edx
push ecx
call fcn.0043389e
add esp, 8
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp edx, 0x10
jb 0x4057e1
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4057d7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059e9
push edx
push ecx
call fcn.0043389e
add esp, 8
cmp dword [esp + 0x54], 0
je 0x4058b0
cmp dword [esp + 0x58], 8
lea eax, [esp + 0x44]
lea ecx, [esp + 0xc8]
cmovae eax, dword [esp + 0x44]
push eax
call fcn.00406ba0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
mov edx, dword [eax]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405823
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.00407160
cmp dword [esp + 0x3c], 0x10
lea eax, [esp + 0x28]
push dword [esp + 0x38]
cmovae eax, dword [esp + 0x2c]
lea ecx, [esp + 0x84]
push eax
call fcn.00407160
mov edx, dword [esp + 0x3c]
cmp edx, 0x10
jb 0x40588c
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405882
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059ee
push edx
push ecx
call fcn.0043389e
add esp, 8
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0xcc]
cmp eax, ecx
je 0x4058a7
push eax
call fcn.0043d57f
add esp, 4
lea ecx, [esp + 0x74]
call fcn.0040d050
call dword [sym.imp.ole32.dll_OleUninitialize]
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.00429cb0
mov edx, dword [esp + 0x58]
cmp edx, 8
jb 0x4058fd
mov ecx, dword [esp + 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4058f3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059f3
push edx
push ecx
call fcn.0043389e
add esp, 8
mov edx, dword [esp + 0x94]
xor eax, eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 7
mov word [esp + 0x44], ax
cmp edx, 0x10
jb 0x405950
mov ecx, dword [esp + 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405946
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059f3
push edx
push ecx
call fcn.0043389e
add esp, 8
lea ecx, [esp + 0x98]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0xf
mov byte [esp + 0x80], 0
call fcn.0042ae60
mov edx, dword [esp + 0x70]
cmp edx, 8
jb 0x4059b2
mov ecx, dword [esp + 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4059a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4059f3
push edx
push ecx
call fcn.0043389e
add esp, 8
mov ecx, dword [esp + 0x2d4]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00433370
mov esp, ebp
pop ebp
ret 0x10
call fcn.0043d7cf
call fcn.0043d7cf
call fcn.0043d7cf
call fcn.0043d7cf
call fcn.0043d7cf
call fcn.0043d7cf
call fcn.0043d7cf
call fcn.0043d7cf
call fcn.0043d7cf
int3