Function at 0x3f5c05
Capabilities:
Check if file exists

Disassembly:
push 0x37c
mov eax, 0x419397
call fcn.0040bc61
mov edi, ecx
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x350], 0x3d1524
call fcn.003f53b2
xor ebx, ebx
mov dword [ebp - 0x350], 0x3d14c0
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2b4], ebx
push ebx
push 0xf003f
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x350]
push dword [0x4718a0]
push esi
call fcn.003f9520
test eax, eax
js 0x423664
mov ecx, ebx
mov dword [ebp - 0x354], ecx
lea eax, [ebp - 0x35c]
mov dword [ebp - 0x35c], 0x100
push eax
lea eax, [ebp - 0x210]
push eax
push ecx
lea ecx, [ebp - 0x350]
call fcn.003f5231
mov esi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x103
je 0x3f5e3f
test esi, esi
je 0x423673
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x2a4], 0x41
mov dword [ebp - 0x2a8], eax
xor eax, eax
mov dword [ebp - 0x2a0], ebx
mov word [ebp - 0x29c], ax
mov dword [ebp - fcn.003fbe10], 0x3d1028
mov dword [ebp - 0x2b0], 0x3d14c0
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ebx
push ebx
push 0xf003f
lea eax, [ebp - 0x210]
mov byte [ebp - 4], 1
push eax
push dword [ebp - 0x2b4]
lea ecx, [ebp - 0x2b0]
call fcn.003f9520
test eax, eax
js 0x4236b9
lea ecx, [ebp - 0x388]
call fcn.003f584c
mov byte [ebp - 4], 2
mov eax, dword [0x471724]
mov esi, dword [eax + 0xc]
cmp esi, fcn.003f8b50
jne 0x42367e
mov ecx, 0x471724
call fcn.003f8b50
add eax, 0x10
mov dword [ebp - 0x358], eax
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x388]
call fcn.003f53e0
mov esi, dword [ebp - 0x358]
test eax, eax
js 0x3f5d9b
push esi
mov ecx, edi
call fcn.003f4c84
test eax, eax
jne 0x423692
lea eax, [ebp - 0x388]
mov ecx, edi
push eax
push esi
call fcn.003f504b
inc dword [ebp - 0x354]
lea ecx, [esi - 0x10]
call fcn.003f9900
mov ecx, dword [ebp - 0x37c]
lea ecx, [ecx - 0x10]
call fcn.003f9900
mov ecx, dword [ebp - 0x380]
lea ecx, [ecx - 0x10]
call fcn.003f9900
mov ecx, dword [ebp - 0x384]
lea ecx, [ecx - 0x10]
call fcn.003f9900
mov byte [ebp - 4], bl
cmp dword [ebp - 0x214], 0
mov dword [ebp - 0x2b0], 0x3d14c0
je 0x3f5dfe
cmp dword [ebp - 0x218], 0
je 0x3f5dfe
push dword [ebp - 0x214]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x354]
mov dword [ebp - 0x2b0], 0x3d1524
mov dword [ebp - fcn.003fbe10], 0x3d1028
test eax, eax
je 0x3f5c71
lea ecx, [ebp - 0x29c]
cmp eax, ecx
mov ecx, dword [ebp - 0x354]
je 0x3f5c71
jmp 0x4236a6
lea ecx, [ebp - 0x350]
call fcn.003f535f
mov eax, ebx
call fcn.0040bc10
ret 8
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 2
je 0x3f5e3f
test eax, eax
jg 0x4236de
mov ebx, eax
jmp 0x3f5e3f
mov ecx, esi
call dword [0x473670]
mov ecx, 0x471724
call esi
jmp 0x3f5d4c
lea ecx, [eax + 4]
lea eax, [ebp - 0x388]
push eax
call fcn.003f519e
jmp 0x3f5d9b
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov ecx, dword [ebp - 0x354]
jmp 0x3f5c71
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0x4236ce
movzx ebx, bx
or ebx, 0x80070000
lea ecx, [ebp - 0x2b0]
call fcn.003f535f
jmp 0x3f5e3f
movzx ebx, ax
or ebx, 0x80070000
jmp 0x3f5e3f