Function at 0x40a090
Capabilities:
Write file on windows

Disassembly:
mov eax, 0x2034
call fcn.0040abd0
mov eax, 0x2000
mov word [esp + 0x30], ax
mov eax, 0x10
push esi
mov esi, dword [esp + 0x203c]
mov word [esp + 0xc], ax
mov word [esp + 0x20], ax
lea eax, [esp + 0x34]
push eax
push esi
call sym.align_comments.exe__sys_sys_message_get_8
mov byte [esp + 7], al
test al, al
jne 0x40a0d8
pop esi
add esp, 0x2034
ret 4
push esi
lea eax, [esp + 0x10]
push eax
call sym.align_comments.exe__string_f_int_8
push esi
lea eax, [esp + 0x24]
push eax
call sym.align_comments.exe__string_f_int32h_8
push 1
call fcn.0040e20c
push eax
push 0x11
push 1
push str._System_error
call fcn.0040e4a1
mov ax, word [esp + 0x22]
add esp, 0x14
cmp ax, 0x10
jle 0x40a12e
cwde
push 0x437c84
sub eax, 0x10
push eax
push 0x433ad8
call fcn.00404180
mov ax, word [esp + 0x1a]
add esp, 0xc
test ax, ax
jle 0x40a145
cmp ax, 0x10
jge 0x40a13e
movsx esi, ax
jmp 0x40a147
mov esi, 0x10
jmp 0x40a147
xor esi, esi
push 1
call fcn.0040e20c
push eax
push esi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.0040e4a1
push 1
call fcn.0040e20c
push eax
push 3
push 1
push 0x433adc
call fcn.0040e4a1
mov ax, word [esp + 0x4a]
add esp, 0x28
cmp ax, 0x10
jle 0x40a19c
cwde
push 0x437c85
sub eax, 0x10
push eax
push 0x433ae0
call fcn.00404180
mov ax, word [esp + 0x2e]
add esp, 0xc
test ax, ax
jle 0x40a1b3
cmp ax, 0x10
jge 0x40a1ac
movsx esi, ax
jmp 0x40a1b5
mov esi, 0x10
jmp 0x40a1b5
xor esi, esi
push ebx
push ebp
push edi
push 1
call fcn.0040e20c
push eax
push esi
lea eax, [esp + 0x3c]
push 1
push eax
call fcn.0040e4a1
push 1
call fcn.0040e20c
push eax
push 2
push 1
push 0x433ae4
call fcn.0040e4a1
push 0x433ae8
call fcn.00404180
add esp, 0x2c
cmp word [esp + 0x42], 0
jle 0x40a336
call sym.align_comments.exe__sys_width_stdout_0
mov dword [esp + 0x14], eax
mov esi, 1
mov ebx, 0xffff
nop
cmp byte [esp + esi + 0x43], 0x20
jne 0x40a21f
inc esi
cmp byte [esp + esi + 0x43], 0x20
je 0x40a217
movsx ebp, word [esp + 0x42]
mov edi, ebp
sub edi, esi
inc edi
test edi, edi
jle 0x40a336
cmp edi, eax
jle 0x40a2e8
lea ecx, [esi + 1]
mov edx, ebp
cmp ecx, edx
jg 0x40a281
lea edi, [esp + 0x43]
mov eax, 1
lea ebx, [esp + 0x42]
add edi, esi
add ebx, esi
cmp byte [eax + edi], 0x20
jne 0x40a26a
cmp eax, dword [esp + 0x14]
jg 0x40a272
cmp byte [ebx + eax], 0x20
je 0x40a26a
lea ebp, [eax - 1]
add ebp, esi
inc ecx
inc eax
cmp ecx, edx
jle 0x40a253
jmp 0x40a27c
lea eax, [ecx - 1]
cmp ebp, eax
cmovl eax, ebp
mov ebp, eax
mov ebx, 0xffff
mov edi, ebp
sub edi, esi
inc edi
cmp edi, 0xffff
jle 0x40a2a7
push 0x437c86
lea eax, [edi - 0xffff]
push eax
push 0x433aec
call fcn.00404180
add esp, 0xc
test edi, edi
jle 0x40a2b6
cmp edi, 0xffff
cmovl ebx, edi
jmp 0x40a2b8
xor ebx, ebx
push 1
call fcn.0040e20c
push eax
push ebx
lea eax, [esp + 0x4f]
add eax, esi
push 1
push eax
call fcn.0040e4a1
push 0x433af0
call fcn.00404180
mov eax, dword [esp + 0x2c]
lea esi, [ebp + 1]
add esp, 0x18
jmp 0x40a20a
cmp edi, 0xffff
jle 0x40a309
push 0x437c86
lea eax, [edi - 0xffff]
push eax
push 0x433aec
call fcn.00404180
add esp, 0xc
push 1
call fcn.0040e20c
push eax
cmp edi, 0xffff
lea eax, [esp + 0x4b]
cmovl ebx, edi
add eax, esi
push ebx
push 1
push eax
call fcn.0040e4a1
push 0x433af0
call fcn.00404180
add esp, 0x18
mov al, byte [esp + 0x13]
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x2034
ret 4