Function at 0x421e70
Capabilities:
Delete file
Get file attributes
Move file
Set file attributes
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c9c40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x224
push ebx
push esi
lea ebx, [ecx + 4]
xor esi, esi
push edi
mov dword [ebp - 0x18], ecx
cmp word [ebx], si
mov dword [ebp - 0x10], esp
jne 0x421eb6
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x22e]
mov word [ebp - 0x230], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x24], esi
cmp edi, esi
je 0x421ef3
push ebx
push str._s.bak
lea eax, [ebp - 0x230]
push 0x103
push eax
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x10
cmp edi, esi
mov dword [ebp - 4], esi
push 0x4e8a1c
je 0x421f08
lea ecx, [ebp - 0x230]
push ecx
jmp 0x421f09
push ebx
call dword [sym.imp.MSVCRT.dll__wfopen]
mov ebx, eax
add esp, 8
cmp ebx, esi
mov dword [ebp - 0x1c], ebx
jne 0x421f30
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [sym.imp.MSVCRT.dll_fwrite]
push ebx
push 1
push 0xc
push str.TW.3_TAIHANG
call esi
push ebx
push 1
push 7
push str.3.0.0.1
call esi
push 0x64
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 0x24
mov edx, eax
mov ecx, 0x19
xor eax, eax
push ebx
mov edi, edx
push 0x64
push 1
rep stosd dword es:[edi], eax
push edx
mov dword [ebp - 0x14], edx
call esi
mov edx, dword [ebp - 0x14]
push edx
call fcn.00495c27
mov ecx, dword [ebp - 0x18]
add esp, 0x14
mov eax, dword [ecx + 0x210]
test eax, eax
jne 0x421f8e
mov dword [ebp - 0x14], eax
jmp 0x421f9e
mov ecx, dword [ecx + 0x214]
sub ecx, eax
sar ecx, 2
mov dword [ebp - 0x14], ecx
mov eax, ecx
lea eax, [eax + eax*2]
push ebx
push 1
lea ecx, [ebp - 0x20]
shl eax, 3
push 4
push ecx
mov dword [ebp - 0x20], eax
call esi
add esp, 0x10
xor edi, edi
cmp edi, dword [ebp - 0x14]
jge 0x421fea
mov edx, dword [ebp - 0x18]
push ebx
push 1
push 0x14
mov eax, dword [edx + 0x210]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + 0x18]
add eax, 4
push eax
mov dword [ebp - 0x28], ecx
call esi
push ebx
push 1
lea edx, [ebp - 0x28]
push 4
push edx
call esi
add esp, 0x20
inc edi
jmp 0x421fb7
xor edi, edi
cmp edi, dword [ebp - 0x14]
jge 0x422020
mov eax, dword [ebp - 0x18]
push ebx
mov eax, dword [eax + 0x210]
mov esi, dword [eax + edi*4]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push ecx
call dword [sym.imp.MSVCRT.dll_fwrite]
add esp, 0x10
test esi, esi
je 0x42201d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
inc edi
jmp 0x421fec
push ebx
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [ebp + 8]
add esp, 4
test eax, eax
je 0x422061
mov eax, dword [ebp - 0x18]
lea esi, [eax + 4]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push 0x80
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 1
lea ecx, [ebp - 0x230]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4