Function at 0x410520
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x398
mov eax, dword [0x4ea080]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x13
mov edi, 0xf
push 0x4b1854
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x334], edi
mov dword [ebp - 0x338], 0
mov byte [ebp - 0x348], 0
call fcn.00404620
push 1
push 0x4b1850
lea ecx, [ebp - 0x348]
call fcn.00404500
mov eax, ebx
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410580
sub eax, esi
push eax
push ebx
lea ecx, [ebp - 0x348]
call fcn.00404500
push 0x103
lea eax, [ebp - 0x20b]
push 0
push eax
mov byte [ebp - 0x20c], 0
call fcn.0048f070
lea ecx, [ebp - 0x350]
push ecx
lea edx, [ebp - 0x20c]
push edx
mov esi, 0x104
push ebx
mov dword [ebp - 0x350], esi
mov byte [ebp - 0x349], 0
call fcn.00411470
add esp, 0x18
test al, al
je 0x410883
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x318], edi
mov dword [ebp - 0x31c], 0
mov byte [ebp - 0x32c], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410601
sub eax, edx
push eax
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x32c]
call fcn.00404620
push 0xd
push str.FileList.xml
lea ecx, [ebp - 0x32c]
call fcn.00404500
push 0x103
lea ecx, [ebp - 0x30f]
push 0
push ecx
mov byte [ebp - 0x310], 0
call fcn.0048f070
push ebx
lea edx, [ebp - 0x350]
push edx
lea eax, [ebp - 0x310]
push eax
mov dword [ebp - 0x350], esi
call fcn.00410a00
mov eax, dword [ebp - 0x32c]
mov esi, 0x10
add esp, 0x18
cmp dword [ebp - 0x318], esi
jae 0x41067f
lea eax, [ebp - 0x32c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x410857
mov eax, dword [ebp - 0x32c]
cmp dword [ebp - 0x318], esi
jae 0x4106a2
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x398]
call fcn.0040d610
push 0
lea ecx, [ebp - 0x398]
call fcn.0040d6e0
lea ecx, [ebp - 0x398]
call fcn.0040cea0
mov esi, eax
test esi, esi
je 0x410812
push 0x103
lea ecx, [ebp - 0x107]
push 0
push ecx
mov byte [ebp - 0x108], 0
call fcn.0048f070
add esp, 0xc
mov ecx, esi
mov byte [ebp - 0x349], 1
call fcn.0040cea0
mov edi, eax
test edi, edi
je 0x410825
jmp 0x410710
push 0x104
lea edx, [ebp - 0x108]
push 0
push edx
call fcn.0048f070
add esp, 0xc
push 0x4b1838
mov ecx, edi
call fcn.0040d130
mov esi, eax
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x108]
push 0x104
push ecx
call fcn.0048f00d
push 0x4b1850
lea edx, [ebp - 0x108]
push 0x104
push edx
call fcn.0048efa0
push esi
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0048efa0
add esp, 0x24
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x4107dc
lea edx, [ebp - 0x310]
push edx
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0048f00d
push 0x4b1850
lea ecx, [ebp - 0x108]
push 0x104
push ecx
call fcn.0048efa0
push esi
lea edx, [ebp - 0x108]
push 0x104
push edx
call fcn.0048efa0
add esp, 0x24
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x4107ef
mov ecx, edi
call fcn.0040ced0
mov edi, eax
test edi, edi
jne 0x410710
jmp 0x410825
lea ecx, [ebp - 0x108]
push ecx
push ebx
push str.CheckSetupStateA_code___s__file___s
push str.CCheckSetupState
mov byte [ebp - 0x349], 0
call fcn.0041a0c0
add esp, 0x10
jmp 0x410825
push ebx
push str.CheckSetupStateA_code___s_
push str.CCheckSetupState
call fcn.0041a0c0
add esp, 0xc
mov eax, dword [ebp - 0x364]
mov dword [ebp - method.TiXmlDocument.virtual_0], vtable.TiXmlDocument.0
cmp eax, 0x4ed6e8
je 0x410845
push eax
call fcn.0048e22f
add esp, 4
lea ecx, [ebp - 0x398]
call fcn.0040cd40
mov esi, 0x10
jmp 0x41086a
push ebx
push str.CheckSetupStateA_code___s__ListFile.xml
push str.CCheckSetupState
call fcn.0041a0c0
add esp, 0xc
cmp dword [ebp - 0x318], esi
jb 0x410896
mov edx, dword [ebp - 0x32c]
push edx
call fcn.0048e224
add esp, 4
jmp 0x410896
push ebx
push str.CheckSetupStateA_code___s__GetRegValueA_
push str.CCheckSetupState
call fcn.0041a0c0
add esp, 0xc
cmp dword [ebp - 0x334], 0x10
pop edi
pop esi
pop ebx
jb 0x4108b1
mov eax, dword [ebp - 0x348]
push eax
call fcn.0048e224
add esp, 4
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x349]
xor ecx, ebp
call fcn.0048ef91
mov esp, ebp
pop ebp
ret