Function at 0x4025a1
Capabilities:
Write file on windows

Disassembly:
push 0xad0
mov eax, 0x423a5d
call fcn.00413d00
mov ebx, ecx
and dword [ebp - 4], 0
mov dword [0x42f79c], ebx
call fcn.0040190b
test eax, eax
je 0x4025d0
cmp ebx, 1
jne 0x4025d0
push ebx
call fcn.00401a4e
call fcn.00401e68
and dword [ebp - 0xab4], 0
lea eax, [ebp - 0xacc]
push eax
lea edx, [ebp - 0xab4]
mov ecx, ebx
call fcn.00401ec1
pop ecx
mov esi, eax
xor eax, eax
push eax
push 0x80
push 3
push eax
push eax
push 0xc0000000
push dword [ebp + 8]
mov dword [ebp - 0xacc], esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [ebp - 0xadc], edi
cmp edi, 0xffffffff
je 0x40284a
imul ecx, dword [ebp - 0xab4], 0xa94
and dword [ebp - 0xabc], 0
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0xac8], eax
test eax, eax
je 0x4027db
and dword [ebp - 0xac0], 0
cmp dword [ebp - 0xab4], 0
jle 0x4027db
lea edi, [esi + 0x14]
mov dword [ebp - 0xac4], eax
mov dword [ebp - 0xab8], edi
push 0xa94
lea eax, [ebp - 0xaac]
push 0
push eax
call sub.msvcrt.dll_memset
and dword [ebp - 0xabc], 0
lea eax, [ebp - 0xad0]
and dword [ebp - 0xad0], 0
add esp, 0xc
mov dword [ebp - 0xad4], 0x400
push eax
lea eax, [ebp - 0xad4]
push eax
lea eax, [ebp - 0xaac]
push eax
push edi
call dword [sym.imp.WS2_32.dll_WSCGetProviderPath]
call fcn.0040190b
test eax, eax
je 0x402769
cmp ebx, 1
jne 0x402769
lea eax, [ebp - 0xaac]
push eax
lea ecx, [ebp - 0xab0]
call fcn.00403b44
lea ecx, [ebp - 0xab0]
mov byte [ebp - 4], bl
call fcn.00403904
push str._syswow64_
push str._system32_
lea ecx, [ebp - 0xab0]
call fcn.0040392c
mov esi, dword [ebp - 0xab0]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0xad8], eax
cmp dword [esi - 4], ebx
jle 0x402730
push eax
lea ecx, [ebp - 0xab0]
call fcn.00403c0a
mov esi, dword [ebp - 0xab0]
mov eax, dword [ebp - 0xad8]
add eax, eax
push eax
lea eax, [ebp - 0xaac]
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
push dword [esi - 8]
push esi
call fcn.004182d0
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xab0]
call fcn.00403bdf
lea ecx, [ebp - 0xab0]
mov byte [ebp - 4], 0
call fcn.00403cc2
mov esi, edi
mov edx, dword [ebp - 0xac4]
mov eax, dword [ebp - 0xac0]
lea edi, [ebp - 0x2ac]
push 0x40
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xab8]
lea edi, [ebp - 0x29c]
add esi, 0x60
inc eax
rep movsd dword es:[edi], dword [esi]
mov edi, edx
mov dword [ebp - 0xac0], eax
mov ecx, 0x2a5
lea esi, [ebp - 0xaac]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xab8]
add edx, 0xa94
add edi, 0x274
mov dword [ebp - 0xac4], edx
mov dword [ebp - 0xab8], edi
cmp eax, dword [ebp - 0xab4]
jl 0x40266f
mov edi, dword [ebp - 0xadc]
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
lea eax, [ebp - 0xabc]
push 0
push eax
push 4
lea eax, [ebp - 0xab4]
push eax
push edi
call esi
push 0
lea eax, [ebp - 0xabc]
push eax
imul eax, dword [ebp - 0xab4], 0xa94
push eax
push dword [ebp - 0xac8]
push edi
call esi
push dword [ebp - 0xac8]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 0xacc]
call fcn.00406e58
test edi, edi
je 0x402835
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0040190b
test eax, eax
je 0x40284a
cmp ebx, 1
jne 0x40284a
push 0
call fcn.00401a4e
lea ecx, [ebp + 8]
call fcn.00403cc2
call fcn.00413c80
ret