Function at 0x40ef70
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x4cb068]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x7a]
movq xmm0, qword [str.screenshots_]
movzx ebx, word [ebp - 0x74]
movzx edi, word [ebp - 0x72]
movzx esi, word [ebp - 0x70]
mov dword [ebp - 0x80], eax
movzx eax, word [ebp - 0x76]
mov dword [ebp - 0x84], eax
mov eax, dword [0x4c2b10]
mov dword [ebp - 0x30], eax
movzx eax, byte [0x4c2b14]
mov byte [ebp - 0x2c], al
lea eax, [ebp - 0x6c]
push 0xa
push eax
movzx eax, word [ebp - 0x7c]
push eax
movq qword [ebp - 0x38], xmm0
call fcn.0045a5e0
movzx eax, byte [ebp - 0x6c]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x2c], al
add esp, 0xc
movzx eax, byte [ebp - 0x6b]
mov byte [ebp - 0x2b], al
movzx eax, byte [ebp - 0x6a]
mov byte [ebp - 0x2a], al
movzx eax, byte [ebp - 0x69]
push 0xa
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x80]
push ecx
push eax
cmp eax, 0xa
jae 0x40f018
mov byte [ebp - 0x28], 0x30
call fcn.0045a5e0
mov al, byte [ebp - 0x6c]
jmp 0x40f028
call fcn.0045a5e0
movzx eax, byte [ebp - 0x6c]
mov byte [ebp - 0x28], al
movzx eax, byte [ebp - 0x6b]
add esp, 0xc
mov byte [ebp - 0x27], al
mov eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x6c]
push 0xa
push ecx
push eax
cmp eax, 0xa
jae 0x40f04e
mov byte [ebp - 0x26], 0x30
call fcn.0045a5e0
mov al, byte [ebp - 0x6c]
jmp 0x40f05e
call fcn.0045a5e0
movzx eax, byte [ebp - 0x6c]
mov byte [ebp - 0x26], al
movzx eax, byte [ebp - 0x6b]
add esp, 0xc
mov byte [ebp - 0x25], al
mov byte [ebp - 0x6c], 0
test ebx, ebx
jne 0x40f074
mov word [ebp - 0x24], 0x3030
jmp 0x40f0a4
lea eax, [ebp - 0x6c]
push 0xa
push eax
push ebx
cmp ebx, 0xa
jae 0x40f08e
mov byte [ebp - 0x24], 0x30
call fcn.0045a5e0
mov al, byte [ebp - 0x6c]
jmp 0x40f09e
call fcn.0045a5e0
movzx eax, byte [ebp - 0x6c]
mov byte [ebp - 0x24], al
movzx eax, byte [ebp - 0x6b]
mov byte [ebp - 0x23], al
add esp, 0xc
test edi, edi
jne 0x40f0b0
mov word [ebp - 0x22], 0x3030
jmp 0x40f0e0
lea eax, [ebp - 0x6c]
push 0xa
push eax
push edi
cmp edi, 0xa
jae 0x40f0ca
mov byte [ebp - 0x22], 0x30
call fcn.0045a5e0
mov al, byte [ebp - 0x6c]
jmp 0x40f0da
call fcn.0045a5e0
movzx eax, byte [ebp - 0x6c]
mov byte [ebp - 0x22], al
movzx eax, byte [ebp - 0x6b]
mov byte [ebp - 0x21], al
add esp, 0xc
test esi, esi
jne 0x40f0ec
mov word [ebp - 0x20], 0x3030
jmp 0x40f11c
lea eax, [ebp - 0x6c]
push 0xa
push eax
push esi
cmp esi, 0xa
jae 0x40f106
mov byte [ebp - 0x20], 0x30
call fcn.0045a5e0
mov al, byte [ebp - 0x6c]
jmp 0x40f116
call fcn.0045a5e0
movzx eax, byte [ebp - 0x6c]
mov byte [ebp - 0x20], al
movzx eax, byte [ebp - 0x6b]
mov byte [ebp - 0x1f], al
add esp, 0xc
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x1e], 0
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x40f124
mov eax, dword [str..jpg]
mov dword [ecx], eax
mov al, byte [0x4c2b1c]
mov byte [ecx + 4], al
xor eax, eax
mov word [0x570f78], ax
lea eax, [ebp - 0x38]
push 0x1e
push eax
push 0x570f78
call fcn.0045ae90
add esp, 0xc
push 0x4c2b20
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x40f175
push 0
push str.screenshots
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00417280
mov esp, ebp
pop ebp
ret