Function at 0x4037e0
Capabilities:
Get file attributes
Hide graphical window
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [0x41c360], 0
mov dword [0x41c364], 0
mov dword [0x41c368], 0
mov dword [0x41c36c], 0
mov dword [0x41c370], 0
mov eax, 0x41c374
mov edx, eax
mov ecx, 0x50
xor eax, eax
push edi
mov edi, edx
rep stosb byte es:[edi], al
pop edi
mov eax, edx
mov dword [0x41c3c4], 0
mov eax, 0x41c3c8
mov edx, eax
mov ecx, 0x104
xor eax, eax
push edi
mov edi, edx
rep stosb byte es:[edi], al
pop edi
mov eax, edx
mov dword [0x41c4cc], 0
mov dword [0x41c4d0], 0
push 0
push 0
push 0
push 0
push 0x104
push 0x41c3c8
push 0x41c374
mov eax, dword [ebp + 8]
push eax
call fcn.004060f5
add esp, 0x20
test eax, eax
je 0x403891
push 0x15
call fcn.00405090
pop ecx
push 0x41c3c8
mov eax, dword [ebp + 0xc]
push eax
push str._s_s
push 0x41f688
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
cmp dword [0x421b10], 0
je 0x4038ce
push 0x41ee88
mov eax, dword [ebp + 8]
push eax
call fcn.00406867
add esp, 8
mov dword [0x41c370], eax
jmp 0x4038dd
mov eax, dword [ebp + 8]
push eax
call fcn.0040684f
pop ecx
mov dword [0x41c370], eax
cmp dword [0x41c370], 0
je 0x4038ee
push 0x16
call fcn.00405090
pop ecx
push 0
push 0x41f688
push 0x104
push 0x41f688
call dword [sym.imp.KERNEL32.DLL_GetFullPathNameA]
test eax, eax
jne 0x403911
push 0x17
call fcn.00405090
pop ecx
cmp dword [0x421b1c], 0
je 0x4039e5
push 0x41f688
call fcn.00401a80
pop ecx
test eax, eax
je 0x4039e5
push 1
push 0x41f688
call fcn.00401300
add esp, 8
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x5c
call fcn.00401770
add esp, 0x28
push eax
mov eax, dword [ebp - 4]
push eax
call fcn.00401260
add esp, 8
test eax, eax
je 0x4039e5
cmp dword [0x421b1c], 1
jne 0x4039ca
push 0
push 0
push 0x20080
mov eax, 0x90c00a04
push eax
push 0x49
push 0xaf
push 0
push 0
mov eax, dword [0x420304]
push eax
push str.Confirm_File_Replace.
push 0x404dc0
call fcn.00401d20
add esp, 0x2c
cmp dword [0x4202b8], 0
jne 0x4039e5
mov eax, dword [0x41c390]
add dword [0x421b0c], eax
xor eax, eax
jmp 0x403d23
cmp dword [0x421b1c], 2
jne 0x4039e5
mov eax, dword [0x41c390]
add dword [0x421b0c], eax
xor eax, eax
jmp 0x403d23
push 0
push pe_nt_image_headers32
push 2
push 0
push 0
push 0x40000000
push 0x41f688
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov dword [0x41c368], eax
cmp eax, 0xffffffff
jne 0x403b0e
push 0x41f688
call fcn.00401600
pop ecx
mov dword [0x41c4d0], eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x5c
call fcn.00401770
add esp, 0x28
push 0
push 0
push eax
mov eax, dword [0x41c4d0]
push eax
call fcn.00401930
add esp, 0x10
mov dword [0x41c4cc], eax
mov eax, dword [0x41c4d0]
mov dword [ebp - 4], eax
mov edx, eax
or eax, 0xffffffff
inc eax
cmp byte [edx + eax], 0
jne 0x403a63
mov edx, dword [0x41c4cc]
sub eax, edx
mov dword [0x41c4cc], eax
mov eax, dword [ebp - 4]
push eax
call fcn.00401600
pop ecx
mov edx, dword [0x41c4cc]
push edx
push eax
call fcn.004012b0
add esp, 8
mov dword [0x41c4d0], eax
push eax
call fcn.00401a80
pop ecx
test eax, eax
jne 0x403ac0
mov eax, dword [0x41c4d0]
push eax
call fcn.004048e0
pop ecx
mov eax, dword [0x41c4d0]
push eax
push 0x421b24
call fcn.00401140
add esp, 8
push 0x41f688
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0x10
je 0x403b20
push 0
push pe_nt_image_headers32
push 2
push 0
push 0
push 0x40000000
push 0x41f688
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov dword [0x41c368], eax
cmp eax, 0xffffffff
jne 0x403b20
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 3
je 0x403b20
push 0x18
call fcn.00405090
pop ecx
jmp 0x403b20
push 0x41f688
push 0x421b24
call fcn.00401140
add esp, 8
push 4
push 0x1000
push 0xf4240
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov dword [0x41c3c4], eax
jmp 0x403cb6
push 0xf4240
mov eax, dword [0x41c3c4]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040689b
add esp, 0xc
mov dword [0x41c370], eax
cmp dword [0x41c370], 0
jle 0x403c89
push 0
push 0x41c36c
mov eax, dword [0x41c370]
push eax
mov eax, dword [0x41c3c4]
push eax
mov eax, dword [0x41c368]
push eax
call dword [sym.imp.KERNEL32.DLL_WriteFile]
test eax, eax
jne 0x403b92
push 0x19
call fcn.00405090
pop ecx
cmp dword [0x421b18], 0
je 0x403cad
push 0
push 0
push 0
mov eax, dword [0x420304]
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
push 5
mov eax, dword [0x420304]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x41c36c]
add dword [0x421b0c], eax
push 0
mov eax, dword [0x421b0c]
mov dword [ebp - 4], eax
mov eax, dword [0x421b20]
mov edx, 0xa3d70a3d
mul edx
add eax, 0xa3d70a3d
adc edx, 0
shr edx, 6
mov ecx, edx
mov eax, dword [ebp - 4]
xor edx, edx
div ecx
push eax
push 0x402
mov eax, dword [0x4202f4]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x421b0c]
mov dword [ebp - 8], eax
mov eax, dword [0x421b20]
mov edx, 0xa3d70a3d
mul edx
add eax, 0xa3d70a3d
adc edx, 0
shr edx, 6
mov ecx, edx
mov eax, dword [ebp - 8]
xor edx, edx
div ecx
mov edx, eax
shr edx, 1
push edx
fild dword [esp]
add esp, 4
fmul qword [0x411670]
and eax, 1
push eax
fild dword [esp]
add esp, 4
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.00401720
add esp, 8
push 0x411678
push eax
push 2
call fcn.004017d0
add esp, 0xc
push eax
mov eax, dword [0x4202fc]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x420304]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.00401b70
jmp 0x403cad
cmp dword [0x41c370], 0
jge 0x403cad
cmp dword [0x421b10], 0
jne 0x403ca5
push 0x1a
call fcn.00405090
pop ecx
jmp 0x403cad
push 0x1b
call fcn.00405090
pop ecx
cmp dword [0x41c370], 0
jle 0x403cbb
jmp 0x403b3e
push 0x41c360
push 0
movzx eax, word [0x41c384]
push eax
call dword [sym.imp.KERNEL32.DLL_DosDateTimeToFileTime]
push 0x41c360
push 0x41c360
call dword [sym.imp.KERNEL32.DLL_LocalFileTimeToFileTime]
push 0x41c360
push 0
push 0
mov eax, dword [0x41c368]
push eax
call dword [sym.imp.KERNEL32.DLL_SetFileTime]
mov eax, dword [0x41c368]
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push 0x4000
push 0
mov eax, dword [0x41c3c4]
push eax
call dword [sym.imp.KERNEL32.DLL_VirtualFree]
mov eax, dword [ebp + 8]
push eax
call fcn.00406c64
pop ecx
mov eax, dword [0x41c370]
mov esp, ebp
pop ebp
ret