Function at 0x421c80
Capabilities:
Write file on windows

Disassembly:
mov eax, 0x34a0
call fcn.0040a630
mov eax, 0x2000
mov word [esp + 0x149c], ax
mov eax, 0x20
mov word [esp + 0xc], ax
mov eax, 0x400
push edi
mov edi, dword [esp + 0x34a8]
mov word [esp + 0x34], ax
lea eax, [esp + 0x438]
push eax
lea eax, [esp + 0x14a4]
push eax
push edi
call sym.get_newer.exe__file_read_env_12
lea eax, [esp + 0x438]
push eax
call sym.get_newer.exe__file_eof_4
test al, al
jne 0x422286
push ebx
mov ebx, dword [esp + 0x34b4]
push ebp
mov ebp, dword [esp + 0x34bc]
push esi
mov esi, dword [esp + 0x34b8]
nop word [eax + eax]
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__sys_error_4
test al, al
je 0x421d17
push edi
call fcn.00421b10
lea eax, [esp + 0x444]
mov dword [esp + 0x14], 1
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x14b8]
push eax
call sym.get_newer.exe__string_token_16
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__sys_error_4
test al, al
je 0x421d55
push edi
call fcn.00421b10
lea eax, [esp + 0x1c]
push eax
call sym.get_newer.exe__string_upcase_4
lea eax, [esp + 0x18]
push eax
push str.LANGUAGE_ENV_PATH_DEL_ENV_PATH_ADD
lea eax, [esp + 0x24]
push eax
call sym.get_newer.exe__string_tkpick80_12
mov eax, dword [esp + 0x18]
sub eax, 1
je 0x421f70
sub eax, 1
je 0x421f0d
sub eax, 1
je 0x421e2e
push 1
call fcn.0040dc9c
push eax
push 0x16
push 1
push str.Unrecognized_command__
call fcn.0040df31
mov ax, word [esp + 0x32]
add esp, 0x14
cmp ax, 0x20
jle 0x421dd2
cwde
push 0x4360a1
sub eax, 0x20
push eax
push 0x433a38
call fcn.00401b30
mov ax, word [esp + 0x2a]
add esp, 0xc
test ax, ax
jle 0x421de9
cmp ax, 0x20
jge 0x421de2
movsx esi, ax
jmp 0x421deb
mov esi, 0x20
jmp 0x421deb
xor esi, esi
push 1
call fcn.0040dc9c
push eax
push esi
lea eax, [esp + 0x2c]
push 1
push eax
call fcn.0040df31
push 1
call fcn.0040dc9c
push eax
push 2
push 1
push 0x433a3c
call fcn.0040df31
push 0x433a40
call fcn.00401b30
add esp, 0x2c
push edi
call fcn.00421b10
jmp 0x421fd6
lea eax, [esp + 0x444]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x14b8]
push eax
call sym.get_newer.exe__string_token_16
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__string_eos_4
test al, al
jne 0x4220e0
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__sys_error_4
test al, al
jne 0x422177
cmp word [esp + 0x42], 0
jle 0x422177
push ebp
push ebx
lea eax, [esp + 0x48]
push eax
call fcn.00421a90
mov eax, dword [ebx]
xor esi, esi
mov dword [esp + 0x10], eax
test eax, eax
je 0x421eac
nop dword [eax + eax]
mov esi, eax
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x421ea0
lea eax, [esp + 0x10]
push eax
push 1
push dword [ebp]
push 0x40c
call sym.get_newer.exe__util_mem_grab_16
mov eax, dword [esp + 0x10]
mov ecx, 0x400
mov word [eax + 8], cx
mov eax, dword [esp + 0x10]
add eax, 8
push eax
lea eax, [esp + 0x44]
push eax
call sym.get_newer.exe__string_copy_8
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov eax, dword [esp + 0x10]
test esi, esi
jne 0x421eff
mov dword [eax + 4], esi
mov eax, dword [esp + 0x10]
mov dword [ebx], eax
jmp 0x421fd6
mov dword [eax + 4], esi
mov eax, dword [esp + 0x10]
mov dword [esi], eax
jmp 0x421fd6
lea eax, [esp + 0x444]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x14b8]
push eax
call sym.get_newer.exe__string_token_16
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__string_eos_4
test al, al
jne 0x4220e0
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__sys_error_4
test al, al
jne 0x422177
cmp word [esp + 0x42], 0
jle 0x422177
push ebp
push ebx
lea eax, [esp + 0x48]
push eax
call fcn.00421a90
jmp 0x421fd6
lea eax, [esp + 0x444]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x14b8]
push eax
call sym.get_newer.exe__string_token_16
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__string_eos_4
test al, al
jne 0x4220e0
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__sys_error_4
test al, al
jne 0x422177
cmp word [esp + 0x42], 0
jle 0x422177
push esi
lea eax, [esp + 0x44]
push eax
call sym.get_newer.exe__string_copy_8
push esi
call sym.get_newer.exe__string_upcase_4
lea eax, [esp + 0x444]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x14b8]
push eax
call sym.get_newer.exe__string_token_16
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__string_eos_4
test al, al
jne 0x4220a1
push 1
call fcn.0040dc9c
push eax
push 0x21
push 1
push str.Too_many_parameters_for_command__
call fcn.0040df31
mov ax, word [esp + 0x32]
add esp, 0x14
cmp ax, 0x20
jle 0x42204a
cwde
push 0x4360a2
sub eax, 0x20
push eax
push 0x433a68
call fcn.00401b30
mov ax, word [esp + 0x2a]
add esp, 0xc
test ax, ax
jle 0x422061
cmp ax, 0x20
jge 0x42205a
movsx esi, ax
jmp 0x422063
mov esi, 0x20
jmp 0x422063
xor esi, esi
push 1
call fcn.0040dc9c
push eax
push esi
lea eax, [esp + 0x2c]
push 1
push eax
call fcn.0040df31
push 1
call fcn.0040dc9c
push eax
push 2
push 1
push 0x433a6c
call fcn.0040df31
push 0x433a70
call fcn.00401b30
add esp, 0x2c
push edi
call fcn.00421b10
lea eax, [esp + 0x444]
push eax
lea eax, [esp + 0x14b0]
push eax
push edi
call sym.get_newer.exe__file_read_env_12
lea eax, [esp + 0x444]
push eax
call sym.get_newer.exe__file_eof_4
mov esi, dword [esp + 0x34b8]
test al, al
je 0x421d00
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x34a0
ret 0x10
push 1
call fcn.0040dc9c
push eax
push 0x1d
push 1
push str.Missing_argument_to_command__
call fcn.0040df31
mov ax, word [esp + 0x32]
add esp, 0x14
cmp ax, 0x20
jle 0x422120
cwde
push 0x4360a3
sub eax, 0x20
push eax
push 0x433a94
call fcn.00401b30
mov ax, word [esp + 0x2a]
add esp, 0xc
test ax, ax
jle 0x422137
cmp ax, 0x20
jge 0x422130
movsx esi, ax
jmp 0x422139
mov esi, 0x20
jmp 0x422139
xor esi, esi
push 1
call fcn.0040dc9c
push eax
push esi
lea eax, [esp + 0x2c]
push 1
push eax
call fcn.0040df31
push 1
call fcn.0040dc9c
push eax
push 2
push 1
push 0x433a98
call fcn.0040df31
push 0x433a9c
call fcn.00401b30
add esp, 0x2c
push edi
call fcn.00421b10
push 1
call fcn.0040dc9c
push eax
push 0xf
push 1
push 0x433aa0
call fcn.0040df31
mov ax, word [esp + 0x56]
mov ecx, 0x400
add esp, 0x14
cmp ax, cx
jle 0x4221bf
cwde
push 0x436118
sub eax, ecx
push eax
push 0x433ab0
call fcn.00401b30
mov ax, word [esp + 0x4e]
add esp, 0xc
mov ecx, 0x400
test ax, ax
jle 0x4221d5
cmp ax, cx
jge 0x4221ce
movsx esi, ax
jmp 0x4221d7
mov esi, 0x400
jmp 0x4221d7
xor esi, esi
push 1
call fcn.0040dc9c
push eax
push esi
lea eax, [esp + 0x50]
push 1
push eax
call fcn.0040df31
push 1
call fcn.0040dc9c
push eax
push 0xe
push 1
push 0x433ab4
call fcn.0040df31
mov ax, word [esp + 0x46]
add esp, 0x28
cmp ax, 0x20
jle 0x42222c
cwde
push 0x436119
sub eax, 0x20
push eax
push 0x433ac4
call fcn.00401b30
mov ax, word [esp + 0x2a]
add esp, 0xc
test ax, ax
jle 0x422243
cmp ax, 0x20
jge 0x42223c
movsx esi, ax
jmp 0x422245
mov esi, 0x20
jmp 0x422245
xor esi, esi
push 1
call fcn.0040dc9c
push eax
push esi
lea eax, [esp + 0x2c]
push 1
push eax
call fcn.0040df31
push 1
call fcn.0040dc9c
push eax
push 2
push 1
push 0x433ac8
call fcn.0040df31
push 0x433acc
call fcn.00401b30
add esp, 0x2c
push edi
call fcn.00421b10
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x34a0
ret 0x10