Function at 0x401cb0
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov eax, 0x2720
call fcn.00417d80
mov eax, dword [0x4244e0]
xor eax, esp
mov dword [esp + 0x271c], eax
mov eax, dword [esp + 0x2728]
push esi
push edi
mov edi, dword [esp + 0x272c]
mov dword [esp + 0xc], eax
mov eax, edi
mov dword [esp + 0x10], edi
call section..text
mov esi, eax
test esi, esi
mov dword [esp + 8], esi
jne 0x401d1b
push edi
push str._CopyFolder__SourceDir_from__s_is_NULL_n
call fcn.004014a0
add esp, 8
pop edi
mov eax, 1
pop esi
mov ecx, dword [esp + 0x271c]
xor ecx, esp
call fcn.00409da6
add esp, 0x2720
ret
push ebx
push ebp
call fcn.004011a0
mov ebx, eax
test ebx, ebx
jne 0x401d54
call fcn.00401150
xor eax, eax
mov ecx, dword [esp + 0x272c]
pop ebp
pop ebx
pop edi
pop esi
xor ecx, esp
call fcn.00409da6
add esp, 0x2720
ret
mov edi, dword [esp + 0x18]
mov ebp, dword [ebx]
cmp byte [ebp], 0x2e
jne 0x401d75
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x401d61
sub eax, edx
cmp eax, 2
jbe 0x401fa3
mov eax, edi
mov byte [esp + 0x13a4], 0
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x401d81
lea edi, [esp + 0x13a4]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x401d98
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
lea eax, [esp + 0x13a4]
call fcn.00401890
mov eax, dword [esp + 0x14]
mov byte [esp + 0x1c], 0
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x401dd0
lea edi, [esp + 0x1c]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x401de4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx]
lea eax, [esp + 0x1c]
call fcn.00401890
lea eax, [esp + 0x13a4]
call section..text
mov esi, eax
test esi, esi
je 0x401f14
mov eax, dword [esi]
or edi, 0xffffffff
cmp eax, 0xffffffff
je 0x401e32
push eax
call fcn.0040a372
add esp, 4
mov edi, eax
mov ecx, dword [esi + 0x134]
push ecx
call fcn.00409db5
push esi
call fcn.00409db5
add esp, 8
cmp edi, 0xffffffff
jne 0x401e57
call fcn.0040a069
mov dword [eax], 9
lea edx, [esp + 0x1c]
push edx
push str.Copying_DIR__s_n
call fcn.004014a0
add esp, 8
lea eax, [esp + 0x1c]
call section..text
mov esi, eax
test esi, esi
je 0x401eb4
mov eax, dword [esi]
or edi, 0xffffffff
cmp eax, 0xffffffff
je 0x401e8d
push eax
call fcn.0040a372
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x134]
push eax
call fcn.00409db5
push esi
call fcn.00409db5
add esp, 8
cmp edi, 0xffffffff
jne 0x401ecb
call fcn.0040a069
mov dword [eax], 9
jmp 0x401ecb
lea ecx, [esp + 0x1c]
push ecx
call fcn.0040b164
mov edi, eax
add esp, 4
test edi, edi
jne 0x401ffb
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x13a8]
push eax
call fcn.00401cb0
mov edi, eax
add esp, 8
test edi, edi
je 0x401fa3
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x13a8]
push eax
push str.Failed_to_copy__s_to__s_n
call fcn.004014a0
mov esi, dword [esp + 0x1c]
add esp, 0xc
call fcn.00401150
mov eax, edi
jmp 0x401d2f
lea ecx, [esp + 0x1c]
push ecx
push str.Copying_FILE__s_n
call fcn.004014a0
lea edx, [esp + 0x13ac]
push 0x41ef2c
push edx
call fcn.0040afd6
mov edi, eax
add esp, 0x10
test edi, edi
je 0x402012
lea eax, [esp + 0x1c]
push 0x41f038
push eax
call fcn.0040afd6
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x402021
mov edi, edi
push edi
push 0xc350
push 1
push 0x426820
call fcn.0040b3ed
mov esi, eax
add esp, 0x10
test esi, esi
jbe 0x401f8c
push ebp
push esi
push 1
push 0x426820
call fcn.0040c11c
add esp, 0x10
cmp esi, 0xc350
je 0x401f60
push edi
call fcn.0040cb7f
push ebp
call fcn.0040cb7f
add esp, 8
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
xor esi, esi
cmp eax, 0xffffffff
je 0x401fdd
add edi, 0x130
cmp dword [edi], esi
je 0x401fd0
mov ecx, dword [esp + 0x10]
add ecx, 8
push ecx
push eax
call fcn.0040a243
add esp, 8
cmp eax, 0xffffffff
je 0x401fe8
mov edx, dword [esp + 0x10]
mov esi, edi
add edx, 0x2c
mov dword [esi], edx
jmp 0x401fe8
call fcn.0040a069
mov dword [eax], 9
test esi, esi
mov ebx, esi
jne 0x401d50
mov esi, dword [esp + 0x10]
jmp 0x401d28
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x13a8]
push ecx
push str.Failed_to_copy__s_to__s__could_not_create_target_folder__n
jmp 0x401efc
lea ecx, [esp + 0x13a4]
push ecx
push str.Unable_to_open_source_file_for_copy__s_n
jmp 0x40202b
lea edx, [esp + 0x1c]
push edx
push str.Unable_to_open_destination_file_for_copy__s_n
call fcn.004014a0
mov esi, dword [esp + 0x18]
add esp, 8
call fcn.00401150
mov eax, 1
jmp 0x401d2f