Function at 0x403710
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
push ebx
sub esp, 0x10
mov eax, dword [0x45e1d8]
test eax, eax
jne 0x403858
mov eax, dword [0x45e1d4]
movzx edi, byte [0x45ddf3]
cmp eax, 0x63
jle 0x4037f0
mov ebx, dword [dbg.__acrt_iob_func]
mov byte [0x45ddf3], 0
mov dword [esp], 1
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp], 0x45dde8
mov dword [esp + 4], eax
call sym._fputs
mov eax, edi
mov byte [0x45ddf3], al
mov dword [esp], 1
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp], 0x45ddf3
mov dword [esp + 4], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp + 8], 5
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.e_0m_n
call sym._fwrite
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov ebx, dword [dbg.__acrt_iob_func]
mov byte [0x45ddf3], 0
mov dword [esp], 1
mov esi, dword [eax*8 + 0x4190a4]
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp], 0x45dde8
mov dword [esp + 4], eax
call sym._fputs
mov eax, edi
mov byte [0x45ddf3], al
cmp esi, 0xc
ja case.default.0x40384a
jmp dword [esi*4 + 0x415800]
mov dword [esp], 1
mov ebx, dword [dbg.__acrt_iob_func]
cmp eax, 3
je 0x403b38
cmp eax, 1
je 0x403b50
cmp eax, 5
je 0x403b20
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp], 0x45dde8
mov dword [esp + 4], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp + 8], 8
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.e_Ke_0m_n
call sym._fwrite
add esp, 0x10
pop ebx
pop esi
pop edi
ret
movzx esi, byte [0x45ddfb]
mov dword [esp], 1
mov byte [0x45ddfb], 0
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp], 0x45ddf3
mov dword [esp + 4], eax
call sym._fputs
mov eax, esi
cmp dword [0x45e1d0], 0x13
mov byte [0x45ddfb], al
jle 0x4037b8
mov dword [esp], 1
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x28]
jmp 0x403ad5
movzx esi, byte [0x45ddfb]
mov dword [esp], 1
mov byte [0x45ddfb], 0
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp], 0x45ddf3
mov dword [esp + 4], eax
call sym._fputs
mov eax, esi
cmp dword [0x45e1d0], 0x13
mov byte [0x45ddfb], al
jle 0x4037b8
mov dword [esp], 1
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x24]
jmp 0x403ad5
movzx esi, byte [0x45ddfb]
mov dword [esp], 1
mov byte [0x45ddfb], 0
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x20]
mov dword [esp], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp], 0x45ddf3
mov dword [esp + 4], eax
call sym._fputs
mov eax, esi
cmp dword [0x45e1d0], 0x13
mov byte [0x45ddfb], al
jle 0x4037b8
mov dword [esp], 1
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x34]
jmp 0x403ad5
mov dword [esp], 1
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x30]
jmp 0x403797
movzx esi, byte [0x45ddfb]
mov dword [esp], 1
mov byte [0x45ddfb], 0
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp], 0x45ddf3
mov dword [esp + 4], eax
call sym._fputs
mov eax, esi
cmp dword [0x45e1d0], 0x13
mov byte [0x45ddfb], al
jle 0x4037b8
mov dword [esp], 1
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
call sym._fputs
mov dword [esp], 1
call ebx
mov dword [esp], 0x45ddfb
mov dword [esp + 4], eax
call sym._fputs
jmp 0x4037b8
mov dword [esp], 1
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax]
jmp 0x403797
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 8]
jmp 0x40388e
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax + 4]
jmp 0x40388e
call ebx
mov dword [esp + 4], eax
mov eax, dword [0x41401c]
mov eax, dword [eax]
jmp 0x40388e