Function at 0x407f4c
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
push ebx
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
add esp, 0xfffffff8
push ebx
push 0x50
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
push 0x4b
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
push 3
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
push 4
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 2]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 3]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x2c]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x2d]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 6]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 7]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 8]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 9]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0xa]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0xb]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0xc]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0xd]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0xe]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0xf]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x10]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x11]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x12]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x13]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x14]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x15]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x16]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x17]
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x18]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
mov eax, dword [esi + 0x18]
shr eax, 8
movsx eax, al
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
add esp, 0xfffffff8
push ebx
movsx eax, byte [esi + 0x1c]
push eax
call sub.msvcrt.dll_putc
add esp, 0xfffffff8
push ebx
mov eax, dword [esi + 0x1c]
shr eax, 8
movsx eax, al
push eax
call sub.msvcrt.dll_putc
add esp, 0x20
push ebx
push dword [esi + 0x18]
push 1
push dword [esi + 0x48]
call sub.msvcrt.dll_fwrite
add esp, 0x10
cmp eax, dword [esi + 0x18]
jne 0x408157
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x408160
push ebx
push eax
push 1
push dword [esi + 0x3c]
call sub.msvcrt.dll_fwrite
cmp eax, dword [esi + 0x1c]
je 0x408160
mov eax, 0xa
jmp 0x408162
xor eax, eax
lea esp, [ebp - 0x18]
pop ebx
pop esi
leave
ret