Function at 0x10013c10
Capabilities:
Check if file exists
Create directory
Get file attributes
Write file on windows

Disassembly:
sub esp, 0x200
mov eax, dword [0x10082594]
xor eax, esp
mov dword [esp + 0x1fc], eax
cmp dword [0x100802c8], 0
push ebp
push esi
je 0x10013ce5
call fcn.10025010
push eax
push str._s_screenshot.out
lea eax, [esp + 0x108]
push 0x104
push eax
call fcn.10047c9e
add esp, 0x10
push 0
lea ecx, [esp + 0x104]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [0x1008456c]
push edx
call fcn.10025010
push eax
push str._s_screenshot.out_shot._08d.bmp
lea eax, [esp + 0x10c]
push 0x104
push eax
call fcn.10047c9e
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
add esp, 0x14
lea ecx, [esp + 0x100]
push ecx
call esi
cmp eax, 0xffffffff
je 0x10013cdb
nop
mov eax, dword [0x1008456c]
inc eax
push eax
mov dword [0x1008456c], eax
call fcn.10025010
push eax
push str._s_screenshot.out_shot._08d.bmp
lea edx, [esp + 0x10c]
push 0x104
push edx
call fcn.10047c9e
add esp, 0x14
lea eax, [esp + 0x100]
push eax
call esi
cmp eax, 0xffffffff
jne 0x10013ca0
mov dword [0x100802c8], 0
test dword [0x1008743c], 0x800000
mov ecx, 0x10087220
je 0x10013cfd
call fcn.1002c370
jmp 0x10013d02
call fcn.1002c360
mov ebp, eax
test ebp, ebp
je 0x10013fb8
push 0x7c
lea ecx, [esp + 0x88]
push 0
push ecx
call fcn.10048620
push ebp
call fcn.1000e010
add esp, 0x10
push 0
push 0x21
lea edx, [esp + 0x8c]
push edx
push 0
push ebp
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0x808
call dword [0x10083abc]
mov esi, eax
test esi, esi
je 0x10013d84
push 0x35
push esi
call fcn.100240b0
add esp, 4
push eax
push esi
push str.ScreenShot:_Lock_ERROR_res_x__s__at__d_n
call fcn.10025250
add esp, 0x10
pop esi
pop ebp
mov ecx, dword [esp + 0x1fc]
xor ecx, esp
call fcn.10047cbc
add esp, 0x200
ret
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xd8]
push eax
push ecx
push edx
push ebp
push str.ScreenShot:_lpdds_x_BitCount_d_size__dx_d__n
call fcn.10025250
mov esi, dword [esp + 0xec]
add esp, 0x14
test esi, esi
jne 0x10013dc7
push str.ScreenShot:_SKIP_0BPP_texture_n
call fcn.10025250
add esp, 4
jmp 0x10013f86
push ebx
push edi
push 0x6c
lea eax, [esp + 0x24]
push 0
push eax
call fcn.10048620
mov ecx, dword [esp + 0xa4]
movzx eax, si
imul eax, ecx
add eax, 0x1f
and eax, 0xffffffe0
cdq
and edx, 7
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0xa0]
sar ebx, 3
mov dword [esp + 0x30], ecx
mov ecx, ebx
imul ecx, eax
neg eax
mov edi, 1
mov dword [esp + 0x34], eax
add esp, 0xc
mov edx, edi
xor eax, eax
mov dword [esp + 0x20], 0x6c
mov word [esp + 0x2e], si
mov dword [esp + 0x34], ecx
mov word [esp + 0x2c], dx
mov dword [esp + 0x30], 3
cmp si, 8
jne 0x10013e3f
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
cmp si, 8
jne 0x10013e59
mov dword [esp + 0x40], 0x100
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x44], eax
mov dword [esp + 0x58], eax
mov eax, dword [0x1008456c]
mov dword [esp + 0x50], ecx
mov ecx, eax
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xf0]
add eax, edi
push ecx
mov dword [esp + 0x58], edx
mov dword [0x1008456c], eax
call fcn.10025010
push eax
push str._s_screenshot.out_shot._08d.bmp
lea eax, [esp + 0x114]
push 0x104
push eax
call fcn.10047c9e
lea ecx, [esp + 0x11c]
push 0x1005eeb4
push ecx
call fcn.10047a23
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x10013f84
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov edx, 0x4d42
mov word [esp + 0x10], dx
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 0x20]
push esi
lea edx, [edx + ecx + 0xe]
lea eax, [ecx + eax*4 + 0xe]
push edi
mov dword [esp + 0x1a], edx
xor edx, edx
lea ecx, [esp + 0x18]
push 0xe
push ecx
mov word [esp + 0x26], dx
mov word [esp + 0x28], dx
mov dword [esp + 0x2a], eax
call fcn.100478dd
push esi
push edi
lea edx, [esp + 0x38]
push 0x6c
push edx
call fcn.100478dd
mov eax, dword [esp + 0x60]
add esp, 0x20
test eax, eax
je 0x10013f48
push esi
add eax, eax
push edi
add eax, eax
push eax
push 0x10083cd8
call fcn.100478dd
add esp, 0x10
xor edi, edi
cmp dword [esp + 0x94], edi
jle 0x10013f7b
mov ecx, edi
imul ecx, dword [esp + 0x9c]
add ecx, dword [esp + 0xb0]
push esi
push 1
push ebx
push ecx
call fcn.100478dd
inc edi
add esp, 0x10
cmp edi, dword [esp + 0x94]
jl 0x10013f53
push esi
call fcn.100476ff
add esp, 4
pop edi
pop ebx
push 0
push ebp
push ebp
call fcn.1000daa0
add esp, 4
call eax
mov esi, eax
test esi, esi
je 0x10013fb8
push 0x82
push esi
call fcn.100240b0
add esp, 4
push eax
push esi
push ebp
push str.ScreenShot:_Unlock_ERROR_lpdds_x_res_x__s__at__d_n
call fcn.10025250
add esp, 0x14
mov ecx, dword [esp + 0x204]
pop esi
pop ebp
xor ecx, esp
call fcn.10047cbc
add esp, 0x200
ret