Function at 0x41bda0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
movzx eax, byte [esi + 0x17]
shr al, 1
and eax, 7
cmp eax, 6
ja case.default.0x41bdc1
jmp dword [eax*4 + 0x4291f4]
mov ebx, str.automatic
lea esi, [esi]
mov dword [esp], 0x429155
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, 1
mov dword [esp + 4], edx
mov ecx, 2
mov dword [esp + 8], ecx
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov dword [esp], ebx
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
mov edx, dword [esi + 0xc]
test edx, edx
jne 0x41bff0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x24]
dec edx
mov dword [eax + 0x24], edx
test edx, edx
js 0x41c01b
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x20]
mov byte [edx], 0xa
inc dword [eax + 0x20]
mov dword [esp], edi
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
movzx ebx, byte [esi + 0x14]
test bl, 1
je 0x41bed0
mov eax, 0xa
mov dword [esp + 4], eax
mov eax, dword [esi + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x41bed0
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
mov eax, dword [esi]
mov dword [esp], str.define__s_n_s_nendef_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, str.default
jmp 0x41bdd0
mov ebx, str.environment
jmp 0x41bdd0
mov ebx, str.makefile
jmp 0x41bdd0
mov ebx, str.environment_under__e
jmp 0x41bdd0
mov ebx, str.command_line
jmp 0x41bdd0
mov ebx, str._override_directive
jmp 0x41bdd0
test bl, 1
mov eax, 0x4291c0
je 0x41bef0
test bl, 2
mov eax, 0x4291c2
jne 0x41bef0
mov eax, 0x428fbc
lea esi, [esi]
mov dword [esp + 8], eax
mov eax, dword [esi]
mov dword [esp], str._s__s
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00411780
mov edx, dword [esi + 8]
cmp edx, eax
je 0x41bf21
cmp byte [eax], 0
je 0x41c038
test byte [esi + 0x14], 1
mov ebx, edx
jne 0x41c07a
movzx eax, byte [ebx]
test al, al
je 0x41bf6c
lea esi, [esi]
lea edi, [edi]
cmp al, 0x24
je 0x41bf96
movsx ecx, al
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x24]
dec edx
test edx, edx
mov dword [eax + 0x24], edx
js 0x41bfd0
mov eax, dword [sym.imp.msvcrt.dll__iob]
inc ebx
mov edx, dword [eax + 0x20]
mov byte [edx], cl
inc dword [eax + 0x20]
movzx eax, byte [ebx]
test al, al
jne 0x41bf40
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x24]
dec edx
mov dword [eax + 0x24], edx
test edx, edx
js 0x41c05c
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x20]
mov byte [edx], 0xa
inc dword [eax + 0x20]
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x24]
dec edx
mov dword [eax + 0x24], edx
test edx, edx
js 0x41c093
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x20]
mov byte [edx], 0x24
inc dword [eax + 0x20]
movzx eax, byte [ebx]
movsx ecx, al
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x24]
dec edx
test edx, edx
mov dword [eax + 0x24], edx
jns 0x41bf57
nop
mov dword [esp], ecx
mov eax, dword [sym.imp.msvcrt.dll__iob]
inc ebx
add eax, 0x20
mov dword [esp + 4], eax
call sub.msvcrt.dll__flsbuf
jmp 0x41bf65
mov eax, dword [esi + 0x10]
mov dword [esp + 4], edx
mov dword [esp], str.__from___s__line__lu_
mov dword [esp + 8], eax
call sub.msvcrt.dll_printf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x24]
dec edx
mov dword [eax + 0x24], edx
test edx, edx
jns 0x41be2d
mov dword [esp], 0xa
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp + 4], eax
call sub.msvcrt.dll__flsbuf
jmp 0x41be3b
mov dword [esp + 4], edx
mov dword [esp], str.__subst____s_
call sub.msvcrt.dll_printf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, dword [eax + 0x24]
dec edx
mov dword [eax + 0x24], edx
test edx, edx
jns 0x41bf80
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [ebp + 8], 0xa
add eax, 0x20
mov dword [ebp + 0xc], eax
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
jmp sub.msvcrt.dll__flsbuf
mov dword [esp], edx
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
jmp 0x41bf6c
mov dword [esp], 0x24
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp + 4], eax
call sub.msvcrt.dll__flsbuf
movzx eax, byte [ebx]
jmp 0x41bfbb
call sub.msvcrt.dll_abort
nop
lea esi, [esi]