Function at 0x403796
Capabilities:
Check if file exists

Disassembly:
mov eax, 0x4103b0
call fcn.00408c5c
sub esp, 0x18
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call fcn.004028a7
mov ecx, eax
call fcn.00402f06
mov eax, dword [ebp - 0x14]
xor edi, edi
cmp eax, edi
mov dword [ebp - 4], edi
je 0x4037cb
mov ebx, dword [eax]
jmp 0x4037cd
xor ebx, ebx
push 0x4115e0
push ebx
call fcn.0040fd4b
test eax, eax
pop ecx
pop ecx
jne 0x403990
push 0x4115d4
lea ecx, [ebp - 0x20]
call fcn.0040129e
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x20]
push ecx
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 1
call fcn.004062a7
push eax
mov byte [ebp - 4], 2
call fcn.00405fed
mov ecx, dword [ebp - 0x24]
add esp, 0x14
cmp ecx, edi
mov ebx, eax
je 0x403822
call fcn.004013dd
mov dword [ebp - 0x24], edi
mov ecx, dword [ebp - 0x20]
cmp ecx, edi
je 0x40382e
call fcn.004013dd
mov dword [ebp - 0x1c], edi
push 0x4115cc
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.0040129e
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x20]
push ecx
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 4
call fcn.004062a7
add esp, 0x10
mov ecx, dword [ebp - 0x20]
cmp ecx, edi
mov byte [ebp - 4], 6
je 0x40386d
call fcn.004013dd
mov dword [ebp - 0x20], edi
mov ecx, dword [ebp - 0x10]
cmp ecx, edi
je 0x40387b
call fcn.004010b7
jmp 0x40387d
xor eax, eax
push 0x20019
push eax
push ebx
lea ecx, [ebp - 0x1c]
call fcn.00402659
mov ecx, eax
sub ecx, edi
je 0x4038b3
dec ecx
dec ecx
je 0x403926
push 1
push eax
push ecx
lea eax, [ebp - 0x10]
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.004013be
push 0x71
jmp 0x403aaf
push str.value
lea ecx, [ebp - 0x24]
call fcn.0040129e
mov esi, dword [esi]
push 1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x18]
push esi
push eax
mov byte [ebp - 4], 7
call fcn.004062a7
add esp, 0x10
mov ecx, dword [ebp - 0x24]
cmp ecx, edi
mov byte [ebp - 4], 9
je 0x4038ec
call fcn.004013dd
mov dword [ebp - 0x24], edi
lea ecx, [ebp - 0x18]
call fcn.004012f2
test eax, eax
jbe 0x40395a
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x403906
call fcn.004010b7
jmp 0x403908
xor eax, eax
push eax
push dword [ebp - 0x1c]
call fcn.00406736
test al, al
pop ecx
pop ecx
jne 0x40395a
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x403926
call fcn.004013dd
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 0x10]
cmp ecx, edi
je 0x403935
call fcn.004013dd
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x1c]
call fcn.004025f4
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
je 0x403949
call fcn.004013dd
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x403969
call fcn.004013dd
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 0x10]
cmp ecx, edi
je 0x403978
call fcn.004013dd
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x1c]
call fcn.004025f4
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
je 0x40398c
call fcn.004013dd
mov al, 1
jmp 0x40394b
push str.sysFile
push ebx
call fcn.0040fd4b
test eax, eax
pop ecx
pop ecx
jne 0x4039fa
push str.name
lea ecx, [ebp - 0x24]
call fcn.0040129e
mov esi, dword [esi]
push edi
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push esi
push eax
mov byte [ebp - 4], 0xa
call fcn.004062a7
add esp, 0x10
mov ecx, dword [ebp - 0x24]
cmp ecx, edi
mov byte [ebp - 4], 0xc
je 0x4039d9
call fcn.004013dd
mov dword [ebp - 0x24], edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004063ac
pop ecx
pop ecx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x20]
cmp ecx, edi
je 0x403a5c
call fcn.004010b7
jmp 0x403a5e
push str.winFile
push ebx
call fcn.0040fd4b
test eax, eax
pop ecx
pop ecx
jne 0x403a9b
push str.name
lea ecx, [ebp - 0x24]
call fcn.0040129e
mov esi, dword [esi]
push edi
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push esi
push eax
mov byte [ebp - 4], 0xe
call fcn.004062a7
add esp, 0x10
mov ecx, dword [ebp - 0x24]
cmp ecx, edi
mov byte [ebp - 4], 0x10
je 0x403a47
call fcn.004013dd
mov dword [ebp - 0x24], edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00406448
pop ecx
pop ecx
mov byte [ebp - 4], 0x11
jmp 0x4039ec
xor eax, eax
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov ecx, dword [ebp - 0x20]
test eax, eax
setne bl
cmp ecx, edi
je 0x403a79
call fcn.004013dd
mov dword [ebp - 0x20], edi
mov ecx, dword [ebp - 0x1c]
cmp ecx, edi
je 0x403a88
call fcn.004013dd
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
je 0x403a94
call fcn.004013dd
mov al, bl
jmp 0x40394b
push 1
push edi
push ecx
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.004013be
push 0x64
call fcn.00405f34
int3