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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x73febd
push eax
mov dword fs:[0], esp
sub esp, 0x118
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x10], 0
je 0x56c679
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x56c480
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call esi
mov dword [ebp + 8], eax
cmp ebx, 0xffffffff
jne 0x56c4d9
cmp dword [edi + 0x14], 8
mov ebx, edi
jb 0x56c4a3
mov ebx, dword [edi]
call esi
cmp eax, 2
je 0x56c4b5
call esi
cmp eax, 3
je 0x56c4b5
mov al, 1
jmp 0x56c4b7
xor al, al
push ebx
push str.failed_to_get_attributes_of_folder__s
push eax
mov eax, dword [ebp + 4]
push str.C:_buildAgentworkci_deploy_ninja_boot_x86_gitClientWinUtil_srcFileSysUtil.cpp
push 0x94
push eax
call fcn.00569e20
mov eax, dword [ebp + 8]
add esp, 0x18
jmp 0x56c4e5
shr ebx, 4
and bl, 1
jne 0x56c679
cmp eax, 2
je 0x56c525
cmp eax, 3
je 0x56c525
cmp dword [edi + 0x14], 8
jb 0x56c4f7
mov edi, dword [edi]
mov eax, dword [ebp + 4]
push edi
push str.Unexpected_error_in_folder_creation__s
push 1
push str.C:_buildAgentworkci_deploy_ninja_boot_x86_gitClientWinUtil_srcFileSysUtil.cpp
push 0x27
push eax
call fcn.00569e20
add esp, 0x18
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x14], 8
mov ebx, edi
mov esi, dword [edi + 0x10]
mov dword [ebp + 8], edi
jb 0x56c538
mov ebx, dword [edi]
mov dword [ebp + 8], ebx
test esi, esi
je 0x56c624
push 0x100
lea eax, [ebp - 0x124]
push 0
push eax
call fcn.007012e0
add esp, 0xc
lea ecx, [ebp - 0x124]
dec esi
push 0x797468
push 0x797464
call fcn.004bb050
test al, al
jne 0x56c5ba
or eax, 0xffffffff
cmp esi, eax
cmovb eax, esi
lea ecx, [ebx + eax*2]
movzx ebx, word [ecx]
mov eax, 0x5c
mov esi, 0x797464
lea edx, [eax - 0x5a]
cmp ax, bx
je 0x56c5b5
cmp edx, 1
je 0x56c5a6
movzx eax, word [esi + 2]
add esi, 2
dec edx
cmp ax, bx
jne 0x56c590
test esi, esi
jne 0x56c5b5
cmp ecx, dword [ebp + 8]
je 0x56c5b0
sub ecx, 2
jmp 0x56c57b
or ecx, 0xffffffff
jmp 0x56c5ef
sub ecx, dword [ebp + 8]
jmp 0x56c5ed
or eax, 0xffffffff
mov edx, 0x100
cmp esi, eax
cmovb eax, esi
lea ecx, [ebx + eax*2]
nop word [eax + eax]
movzx eax, word [ecx]
cmp ax, dx
jae 0x56c5e2
cmp byte [ebp + eax - 0x124], 0
jne 0x56c5eb
cmp ecx, ebx
je 0x56c624
sub ecx, 2
jmp 0x56c5d0
sub ecx, ebx
sar ecx, 1
cmp ecx, 0xffffffff
je 0x56c624
push ecx
push 0
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.004b9bb0
push eax
mov dword [ebp - 4], 0
call fcn.0056c440
add esp, 4
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.00481f60
test bl, bl
je 0x56c512
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x56c636
mov eax, dword [edi]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x56c679
cmp dword [edi + 0x14], 8
jb 0x56c64b
mov edi, dword [edi]
mov eax, dword [ebp + 4]
push edi
push str.Failed_to_create_directory__s
push 1
push str.C:_buildAgentworkci_deploy_ninja_boot_x86_gitClientWinUtil_srcFileSysUtil.cpp
push 0x35
push eax
call fcn.00569e20
add esp, 0x18
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
mov al, 1
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret