Function at 0x404830
Capabilities:
Get file size
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa40
push edi
mov word [ebp - 0x830], 0
mov ecx, 0x103
xor eax, eax
lea edi, [ebp - 0x82e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x208
push 0
lea eax, [ebp - 0x830]
push eax
call fcn.0040be20
add esp, 0xc
push 0x427464
lea ecx, [ebp - 0x830]
push ecx
call fcn.0040c8aa
add esp, 8
push str.userHelp_
lea edx, [ebp - 0x830]
push edx
call fcn.0040c880
add esp, 8
push 0x104
push 0
lea eax, [ebp - 0x108]
push eax
call fcn.0040be20
add esp, 0xc
push 0x427358
call fcn.0040c940
add esp, 4
cmp eax, 3
jbe 0x404984
push 0x427358
lea ecx, [ebp - 0x108]
push ecx
call fcn.0040bd10
add esp, 8
mov dword [ebp - 0xa3c], 0
lea edx, [ebp - 0x108]
push edx
call fcn.0040c940
add esp, 4
cmp dword [ebp - 0xa3c], eax
jae 0x404925
mov eax, dword [ebp - 0xa3c]
movsx ecx, byte [ebp + eax - 0x108]
cmp ecx, 0x5c
jne 0x404914
mov edx, dword [ebp - 0xa3c]
mov byte [ebp + edx - 0x108], 0x21
mov eax, dword [ebp - 0xa3c]
add eax, 1
mov dword [ebp - 0xa3c], eax
jmp 0x4048dc
push 0x104
push 0
lea ecx, [ebp - 0xa38]
push ecx
call fcn.0040be20
add esp, 0xc
push 0x104
lea edx, [ebp - 0xa38]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [ebp - 0xa38]
push ecx
lea edx, [ebp - 0x830]
push edx
call fcn.0040c880
add esp, 8
push str.1listu.log
lea eax, [ebp - 0x830]
push eax
call fcn.0040c880
add esp, 8
push 0
push 2
push 4
push 0
push 3
push 0xc0000000
lea ecx, [ebp - 0x830]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0xffffffff
jne 0x4049ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa40], eax
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 2
push 2
push 0
push 3
push 0xc0000000
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x420], eax
push 0
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0x200000
jb 0x404a3a
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 2
push 5
push 0
push 3
push 0xc0000000
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x420], eax
push 0x104
push 0
lea ecx, [ebp - 0x310]
push ecx
call fcn.0040be20
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x310]
push eax
call fcn.0040c8aa
add esp, 8
push 0x104
push 0
lea ecx, [ebp - 0x41c]
push ecx
call fcn.0040be20
add esp, 0xc
push 0
push 0
push 0x104
lea edx, [ebp - 0x41c]
push edx
lea eax, [ebp - 0x310]
push eax
call fcn.0040be00
add esp, 4
push eax
lea ecx, [ebp - 0x310]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 2
push 0
push 0
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0x42289c
lea eax, [ebp - 0x41c]
push eax
call fcn.0040bd20
add esp, 8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x41c]
push ecx
call fcn.0040c940
add esp, 4
cmp dword [ebp - 4], eax
jae 0x404b0d
mov edx, dword [ebp - 4]
mov al, byte [ebp + edx - 0x41c]
xor al, 0x26
mov ecx, dword [ebp - 4]
mov byte [ebp + ecx - 0x41c], al
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
jmp 0x404ad8
push 0
lea eax, [ebp - 0x314]
push eax
lea ecx, [ebp - 0x41c]
push ecx
call fcn.0040c940
add esp, 4
push eax
lea edx, [ebp - 0x41c]
push edx
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
pop edi
mov esp, ebp
pop ebp
ret