Function at 0x403dc0
Capabilities:
Copy file
Read file on windows

Disassembly:
mov eax, 0xf44e8
call fcn.00408870
mov eax, dword [esp + 0xf44ec]
push esi
push 0
push 0x80
push 3
push 0
push 0
push closesocket
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov esi, eax
test esi, esi
je 0x4040bd
push ebp
lea ecx, [esp + 0x10]
push 0x40c401
push ecx
xor ebp, ebp
call fcn.00408760
add esp, 8
push ebp
lea edx, [esp + 0xc]
push edx
push 0xf423f
lea eax, [esp + 0x2bc]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
mov ecx, dword [esp + 8]
push esi
mov byte [esp + ecx + 0x2b4], 0
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [esp + 8]
xor edx, edx
test eax, eax
mov dword [esp + 0xc], edx
jbe 0x4040bc
push ebx
mov ebx, dword [sym.imp.KERNEL32.DLL_CopyFileA]
push edi
mov cl, byte [esp + edx + 0x2b8]
movsx eax, cl
cmp eax, 0x2e
je 0x40409d
cmp eax, 0x2d
je 0x40409d
cmp eax, 0x5f
je 0x40409d
cmp eax, 0x30
jl 0x403e84
cmp eax, 0x39
jle 0x40409d
cmp eax, 0x40
jl 0x403e92
cmp eax, 0x5a
jle 0x40409d
cmp eax, 0x61
jl 0x403ea0
cmp eax, 0x7a
jle 0x40409d
lea edx, [esp + 0x18]
push edx
mov byte [esp + ebp + 0x1c], 0
call fcn.004086d0
add esp, 4
cmp eax, 7
jbe 0x404097
lea eax, [esp + 0x18]
push eax
call fcn.004086d0
add esp, 4
cmp eax, 0x29
jae 0x404097
lea ecx, [esp + 0x18]
push 0x2e
push ecx
xor esi, esi
xor edi, edi
call fcn.004088c0
add esp, 8
test eax, eax
je 0x404097
lea edx, [esp + 0x18]
push 0x40
push edx
call fcn.004088c0
add esp, 8
test eax, eax
je 0x404097
xor ecx, ecx
test ebp, ebp
jle 0x403f33
lea esp, [esp]
test esi, esi
jne 0x403f25
mov al, byte [esp + ecx + 0x18]
cmp al, 0x30
jl 0x403f20
cmp al, 0x39
jle 0x403f2e
mov esi, 1
mov al, byte [esp + ecx + 0x18]
mov byte [esp + edi + 0x4c], al
inc edi
inc ecx
cmp ecx, ebp
jl 0x403f10
cmp edi, 7
mov byte [esp + edi + 0x4c], 0
jle 0x404097
cmp edi, 0x23
jge 0x404097
lea ecx, [esp + 0x4c]
push 0x40
push ecx
call fcn.004013d0
add esp, 8
cmp eax, 1
jne 0x404097
lea edx, [esp + 0x4c]
push 0x2e
push edx
call fcn.004013d0
add esp, 8
cmp eax, 5
jge 0x404097
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x50]
push 0x2e
push ecx
call fcn.00402170
lea edx, [esp + 0xbc]
push edx
call fcn.004086d0
add esp, 0x10
cmp eax, 1
jbe 0x404097
cmp eax, 5
jae 0x404097
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x50]
push 0x40
push ecx
call fcn.00402170
lea edx, [esp + 0xbc]
push edx
call fcn.004086d0
add esp, 0x10
cmp eax, 5
jbe 0x404097
movsx eax, byte [esp + 0x4c]
cmp eax, 0x2e
je 0x404097
cmp eax, 0x40
je 0x404097
cmp eax, 0x2d
je 0x404097
cmp eax, 0x5f
je 0x404097
movsx eax, byte [esp + edi + 0x4b]
cmp eax, 0x2e
je 0x404097
cmp eax, 0x40
je 0x404097
cmp eax, 0x2d
je 0x404097
cmp eax, 0x5f
je 0x404097
movsx eax, byte [esp + edi + 0x4a]
cmp eax, 0x2e
je 0x404097
cmp eax, 0x40
je 0x404097
cmp eax, 0x2d
je 0x404097
cmp eax, 0x5f
je 0x404097
lea eax, [esp + 0x4c]
push eax
call fcn.00401560
add esp, 4
test eax, eax
je 0x404097
lea ecx, [esp + 0x1b4]
push ecx
lea edx, [esp + 0x50]
push edx
push 0x40bc84
push 0x412d88
call fcn.00402080
lea eax, [esp + 0x1c4]
push 0x40c3fc
push eax
call fcn.00408770
add esp, 0x18
push 1
lea ecx, [esp + 0x1b8]
push ecx
push 0x412ef8
call ebx
push 1
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov edx, dword [esp + 0x14]
jmp 0x4040a7
mov byte [esp + ebp + 0x18], cl
inc ebp
cmp ebp, 0x28
jle 0x4040a9
xor ebp, ebp
mov eax, dword [esp + 0x10]
inc edx
cmp edx, eax
mov dword [esp + 0x14], edx
jb 0x403e51
pop edi
pop ebx
pop ebp
pop esi
add esp, 0xf44e8
ret