Function at 0x403b30
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44cac6
mov eax, dword fs:[0]
push eax
sub esp, 0x564
mov eax, dword [0x463444]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x120], 1
cmp dword [ebp + 0x14], 1
jne 0x403b9f
call fcn.0040b7b0
test eax, eax
je 0x403b8d
mov eax, dword [ebp - 0x120]
or eax, 0x100
mov dword [ebp - 0x120], eax
jmp 0x403b9f
mov ecx, dword [ebp - 0x120]
or ecx, 0x200
mov dword [ebp - 0x120], ecx
cmp dword [ebp + 0x14], 0
setne dl
movzx eax, dl
push eax
lea ecx, [ebp - 0x234]
call fcn.0040b800
mov dword [ebp - 4], 0
push 0x453b2b
lea ecx, [ebp - 0x238]
call fcn.00402330
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
test edx, edx
jne 0x403c10
mov dword [ebp - 0x558], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00402f30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
call fcn.0040b870
mov eax, dword [ebp - 0x558]
jmp 0x404037
lea eax, [ebp - 0x44c]
push eax
mov ecx, dword [ebp - 0x56c]
add ecx, 4
call fcn.004064d0
lea ecx, [ebp - 0x344]
push ecx
mov ecx, dword [ebp - 0x56c]
add ecx, 4
call fcn.00406590
lea edx, [ebp - 0x22c]
push edx
mov ecx, dword [ebp - 0x56c]
add ecx, 4
call fcn.00406480
lea eax, [ebp - 0x11c]
push eax
mov ecx, dword [ebp - 0x56c]
add ecx, 4
call fcn.00406650
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x124], 0
jmp 0x403c89
mov ecx, dword [ebp - 0x124]
add ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp + 0xc]
jge 0x403ed0
mov eax, dword [ebp - 0x124]
imul eax, eax, 0x31c
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0x10a]
cmp edx, 1
je 0x403cb6
jmp 0x403c7a
movzx eax, byte [ebp + 0x10]
cmp eax, 1
jne 0x403cdf
mov ecx, dword [ebp - 0x124]
imul ecx, ecx, 0x31c
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0x108]
cmp eax, 1
je 0x403cdd
jmp 0x403c7a
jmp 0x403d00
mov ecx, dword [ebp - 0x124]
imul ecx, ecx, 0x31c
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0x108]
cmp eax, 1
jne 0x403d00
jmp 0x403c7a
push 0x104
push 0
lea ecx, [ebp - 0x554]
push ecx
call fcn.0043b290
add esp, 0xc
mov edx, dword [ebp - 0x124]
imul edx, edx, 0x31c
mov eax, dword [ebp + 8]
cmp dword [eax + edx + 0x104], 0
jne 0x403d65
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x554]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 0x124]
imul eax, eax, 0x31c
add eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x554]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x403e4a
mov edx, dword [ebp - 0x124]
imul edx, edx, 0x31c
mov eax, dword [ebp + 8]
cmp dword [eax + edx + 0x104], 1
jne 0x403db4
lea ecx, [ebp - 0x44c]
push ecx
lea edx, [ebp - 0x554]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 0x124]
imul eax, eax, 0x31c
add eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x554]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x403e4a
mov edx, dword [ebp - 0x124]
imul edx, edx, 0x31c
mov eax, dword [ebp + 8]
cmp dword [eax + edx + 0x104], 2
jne 0x403e00
lea ecx, [ebp - 0x344]
push ecx
lea edx, [ebp - 0x554]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 0x124]
imul eax, eax, 0x31c
add eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x554]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x403e4a
mov edx, dword [ebp - 0x124]
imul edx, edx, 0x31c
mov eax, dword [ebp + 8]
cmp dword [eax + edx + 0x104], 3
jne 0x403e4a
lea ecx, [ebp - 0x11c]
push ecx
lea edx, [ebp - 0x554]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 0x124]
imul eax, eax, 0x31c
add eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x554]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [ebp - 0x554]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x403eb4
lea eax, [ebp - 0x554]
push eax
push 0x456848
lea ecx, [ebp - 0x238]
push ecx
call fcn.00402610
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x55c], esp
lea edx, [ebp - 0x238]
push edx
call fcn.00403190
mov dword [ebp - 0x570], eax
mov ecx, 0x479280
call fcn.0040c5a0
mov eax, dword [ebp - 0x124]
imul eax, eax, 0x31c
mov ecx, dword [ebp + 8]
mov byte [ecx + eax + 0x109], 0
jmp 0x403ecb
mov edx, dword [ebp - 0x124]
imul edx, edx, 0x31c
mov eax, dword [ebp + 8]
mov byte [eax + edx + 0x109], 1
jmp 0x403c7a
mov dword [ebp - 0x124], 0
jmp 0x403eeb
mov ecx, dword [ebp - 0x124]
add ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp + 0xc]
jge 0x404006
mov eax, dword [ebp - 0x124]
imul eax, eax, 0x31c
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0x10a]
cmp edx, 1
je 0x403f18
jmp 0x403edc
movzx eax, byte [ebp + 0x10]
cmp eax, 1
jne 0x403f92
mov ecx, dword [ebp - 0x124]
imul ecx, ecx, 0x31c
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0x108]
cmp eax, 1
je 0x403f3f
jmp 0x403edc
mov ecx, dword [ebp - 0x124]
imul ecx, ecx, 0x31c
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0x109]
test eax, eax
jne 0x403f90
mov dword [ebp - 0x560], 2
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00402f30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
call fcn.0040b870
mov eax, dword [ebp - 0x560]
jmp 0x404037
jmp 0x404001
mov ecx, dword [ebp - 0x124]
imul ecx, ecx, 0x31c
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0x108]
cmp eax, 1
jne 0x403fb3
jmp 0x403edc
mov ecx, dword [ebp - 0x124]
imul ecx, ecx, 0x31c
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0x109]
test eax, eax
jne 0x404001
mov dword [ebp - 0x564], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00402f30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
call fcn.0040b870
mov eax, dword [ebp - 0x564]
jmp 0x404037
jmp 0x403edc
mov dword [ebp - 0x568], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00402f30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
call fcn.0040b870
mov eax, dword [ebp - 0x568]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004381fb
mov esp, ebp
pop ebp
ret 0x10