Function at 0x637330
Capabilities:
Accept command line arguments
Inspect section memory permissions
Query environment variable

Disassembly:
sub esp, 0x23c
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x240]
mov edx, dword [ecx + 0x1d4]
or edx, 0x40000000
mov dword [ecx + 0x1d4], edx
mov edx, 0
mov dword [ecx + 0x34c], edx
mov dword [ecx + 0x350], edx
lea ecx, str.ABSOFT_RT_FLAGS
mov dword [esp], ecx
lea ebp, [esp + 0x1a0]
mov dword [esp + 4], ebp
mov edx, pe_nt_image_headers32
mov dword [esp + 8], edx
call sub.KERNEL32.dll_GetEnvironmentVariableA
sub esp, 0xc
test eax, eax
mov dword [esp + 0x60], eax
je 0x637a6d
mov dword [esp + 0x220], ebp
movsx ebp, byte [esp + 0x1a0]
and ebp, ebp
je 0x6373eb
cmp ebp, 0x20
jne 0x6373eb
mov ebp, dword [esp + 0x220]
nop
nop
nop
nop
nop
mov eax, ebp
inc ebp
movsx edi, byte [eax + 1]
and edi, edi
je 0x6373e4
cmp edi, 0x20
je 0x6373d0
mov dword [esp + 0x220], ebp
mov ecx, dword [esp + 0x220]
movsx edx, byte [ecx]
and edx, edx
je 0x637a6d
mov ebx, 0xa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, str._defaultcarriage
mov dword [esp + 4], ecx
mov dl, byte [esp + 0x220]
mov byte [esp], dl
movzx esi, byte [esp + 0x221]
xchg eax, esi
mov byte [esp + 1], al
xchg esi, eax
mov cl, byte [esp + 0x222]
mov byte [esp + 2], cl
mov dl, byte [esp + 0x223]
mov byte [esp + 3], dl
mov ecx, 0x10
mov dword [esp + 8], ecx
call fcn.0063a5c8
and eax, eax
jne 0x63748f
mov edx, dword [esp + 0x240]
mov eax, dword [edx + 0x1d4]
or eax, 0x10000000
mov dword [edx + 0x1d4], eax
mov ecx, dword [esp + 0x220]
add ecx, 0x10
mov dword [esp + 0x220], ecx
jmp 0x637a24
lea edx, str._fileprompt
mov dword [esp + 4], edx
movzx esi, byte [esp + 0x220]
xchg eax, esi
mov byte [esp], al
xchg esi, eax
mov cl, byte [esp + 0x221]
mov byte [esp + 1], cl
mov dl, byte [esp + 0x222]
mov byte [esp + 2], dl
movzx esi, byte [esp + 0x223]
xchg eax, esi
mov byte [esp + 3], al
xchg esi, eax
mov ecx, 0xb
mov dword [esp + 8], ecx
call fcn.0063a5c8
and eax, eax
jne 0x637542
mov ebp, dword [esp + 0x240]
mov edx, dword [ebp + 0x1d4]
or edx, 0x20000000
mov dword [ebp + 0x1d4], edx
call sub.KERNEL32.dll_GetCommandLineA
test eax, eax
mov dword [ebp + 0x34c], eax
je 0x63752c
lea eax, [esp + 0x80]
mov dword [esp], eax
mov ecx, 0x104
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00636190
mov edx, dword [esp + 0x220]
add edx, 0xb
mov dword [esp + 0x220], edx
jmp 0x637a24
lea ecx, str._vaxnames
mov dword [esp + 4], ecx
mov dl, byte [esp + 0x220]
mov byte [esp], dl
movzx esi, byte [esp + 0x221]
xchg eax, esi
mov byte [esp + 1], al
xchg esi, eax
mov cl, byte [esp + 0x222]
mov byte [esp + 2], cl
mov dl, byte [esp + 0x223]
mov byte [esp + 3], dl
mov ecx, 9
mov dword [esp + 8], ecx
call fcn.0063a5c8
and eax, eax
jne 0x6375c1
mov edx, dword [esp + 0x240]
mov eax, dword [edx + 0x1d4]
or eax, 0x8000000
mov dword [edx + 0x1d4], eax
mov ecx, dword [esp + 0x220]
add ecx, 9
mov dword [esp + 0x220], ecx
jmp 0x637a24
lea edx, str._unixnames
mov dword [esp + 4], edx
movzx esi, byte [esp + 0x220]
xchg eax, esi
mov byte [esp], al
xchg esi, eax
mov cl, byte [esp + 0x221]
mov byte [esp + 1], cl
mov dl, byte [esp + 0x222]
mov byte [esp + 2], dl
movzx esi, byte [esp + 0x223]
xchg eax, esi
mov byte [esp + 3], al
xchg esi, eax
mov dword [esp + 8], ebx
call fcn.0063a5c8
and eax, eax
jne 0x637640
mov eax, dword [esp + 0x240]
mov ecx, dword [eax + 0x1d4]
or ecx, 0x4000000
mov dword [eax + 0x1d4], ecx
mov edx, dword [esp + 0x220]
add edx, 0xa
mov dword [esp + 0x220], edx
jmp 0x637a24
lea ecx, str._bigendian
mov dword [esp + 4], ecx
mov dl, byte [esp + 0x220]
mov byte [esp], dl
movzx esi, byte [esp + 0x221]
xchg eax, esi
mov byte [esp + 1], al
xchg esi, eax
mov cl, byte [esp + 0x222]
mov byte [esp + 2], cl
mov dl, byte [esp + 0x223]
mov byte [esp + 3], dl
mov dword [esp + 8], ebx
call fcn.0063a5c8
and eax, eax
jne 0x6376dc
mov ebp, dword [esp + 0x240]
mov eax, dword [ebp + 4]
and eax, 0x80
je 0x6376bd
lea ecx, str.Warning:_compile_time_option_overrides__bigendian_n
mov dword [esp], ecx
mov edx, 0x32
mov dword [esp + 4], edx
call fcn.006370d0
jmp 0x6376c6
mov eax, dword [ebp + 4]
or eax, 0x40
mov dword [ebp + 4], eax
mov ecx, dword [esp + 0x220]
add ecx, 0xa
mov dword [esp + 0x220], ecx
jmp 0x637a24
lea edx, str._littleendian
mov dword [esp + 4], edx
movzx esi, byte [esp + 0x220]
xchg eax, esi
mov byte [esp], al
xchg esi, eax
mov cl, byte [esp + 0x221]
mov byte [esp + 1], cl
mov dl, byte [esp + 0x222]
mov byte [esp + 2], dl
movzx esi, byte [esp + 0x223]
xchg eax, esi
mov byte [esp + 3], al
xchg esi, eax
mov ecx, 0xd
mov dword [esp + 8], ecx
call fcn.0063a5c8
and eax, eax
jne 0x637782
mov ebp, dword [esp + 0x240]
mov edx, dword [ebp + 4]
and edx, 0x40
je 0x637760
lea eax, str.Warning:_compile_time_option_overrides__littleendian_n
mov dword [esp], eax
mov ecx, 0x35
mov dword [esp + 4], ecx
call fcn.006370d0
jmp 0x63776c
mov edx, dword [ebp + 4]
or edx, 0x80
mov dword [ebp + 4], edx
mov eax, dword [esp + 0x220]
add eax, 0xd
mov dword [esp + 0x220], eax
jmp 0x637a24
lea ecx, str._noleadzero
mov dword [esp + 4], ecx
mov dl, byte [esp + 0x220]
mov byte [esp], dl
movzx esi, byte [esp + 0x221]
xchg eax, esi
mov byte [esp + 1], al
xchg esi, eax
mov cl, byte [esp + 0x222]
mov byte [esp + 2], cl
mov dl, byte [esp + 0x223]
mov byte [esp + 3], dl
mov ecx, 0xb
mov dword [esp + 8], ecx
call fcn.0063a5c8
and eax, eax
jne 0x637801
mov edx, dword [esp + 0x240]
mov eax, dword [edx + 0x1d4]
or eax, 0x2000000
mov dword [edx + 0x1d4], eax
mov ecx, dword [esp + 0x220]
add ecx, 0xb
mov dword [esp + 0x220], ecx
jmp 0x637a24
lea edx, str._reclen32
mov dword [esp + 4], edx
movzx esi, byte [esp + 0x220]
xchg eax, esi
mov byte [esp], al
xchg esi, eax
mov cl, byte [esp + 0x221]
mov byte [esp + 1], cl
mov dl, byte [esp + 0x222]
mov byte [esp + 2], dl
movzx esi, byte [esp + 0x223]
xchg eax, esi
mov byte [esp + 3], al
xchg esi, eax
mov ecx, 9
mov dword [esp + 8], ecx
call fcn.0063a5c8
and eax, eax
jne 0x63787c
mov edx, dword [esp + 0x240]
mov eax, dword [edx + 4]
or eax, 2
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x220]
add ecx, 9
mov dword [esp + 0x220], ecx
jmp 0x637a24
lea edx, str._f90nlexts
mov dword [esp + 4], edx
movzx esi, byte [esp + 0x220]
xchg eax, esi
mov byte [esp], al
xchg esi, eax
mov cl, byte [esp + 0x221]
mov byte [esp + 1], cl
mov dl, byte [esp + 0x222]
mov byte [esp + 2], dl
movzx esi, byte [esp + 0x223]
xchg eax, esi
mov byte [esp + 3], al
xchg esi, eax
mov dword [esp + 8], ebx
call fcn.0063a5c8
and eax, eax
jne 0x6378f8
mov eax, dword [esp + 0x240]
mov ecx, dword [eax + 0x368]
or ecx, 1
mov dword [eax + 0x368], ecx
mov edx, dword [esp + 0x220]
add edx, 0xa
mov dword [esp + 0x220], edx
jmp 0x637a24
lea ecx, str._nounit9
mov dword [esp + 4], ecx
mov dl, byte [esp + 0x220]
mov byte [esp], dl
movzx esi, byte [esp + 0x221]
xchg eax, esi
mov byte [esp + 1], al
xchg esi, eax
mov cl, byte [esp + 0x222]
mov byte [esp + 2], cl
mov dl, byte [esp + 0x223]
mov byte [esp + 3], dl
mov ecx, 8
mov dword [esp + 8], ecx
call fcn.0063a5c8
and eax, eax
jne 0x637974
mov edx, dword [esp + 0x240]
mov eax, dword [edx + 0x368]
or eax, 2
mov dword [edx + 0x368], eax
mov ecx, dword [esp + 0x220]
add ecx, 8
mov dword [esp + 0x220], ecx
jmp 0x637a24
mov edx, 0
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x220]
movsx ebp, byte [eax]
and ebp, ebp
je 0x6379e3
cmp ebp, 0x20
je 0x6379e3
mov ecx, 0
mov ebp, ecx
lea edx, [esp + 0x1a0]
mov edi, edx
add edi, ebp
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x220]
mov ecx, eax
inc ecx
mov dword [esp + 0x220], ecx
movsx edx, byte [eax]
mov byte [edi], dl
inc edi
inc ebp
mov eax, dword [esp + 0x220]
movsx esi, byte [eax]
and esi, esi
je 0x6379df
cmp esi, 0x20
jne 0x6379b0
mov dword [esp + 0x60], ebp
mov ecx, dword [esp + 0x60]
mov ebp, ecx
inc ebp
mov dword [esp + 0x60], ebp
mov edx, 0xa
mov byte [esp + ecx + 0x1a0], dl
lea eax, str.Warning:_unknown_runtime_option
mov dword [esp], eax
mov ecx, 0x20
mov dword [esp + 4], ecx
call fcn.006370d0
mov dword [esp + 4], ebp
lea edx, [esp + 0x1a0]
mov dword [esp], edx
call fcn.006370d0
mov ebp, dword [esp + 0x220]
movsx edi, byte [ebp]
and edi, edi
je 0x637a5b
cmp edi, 0x20
jne 0x637a5b
mov eax, ebp
inc ebp
movsx edi, byte [eax + 1]
and edi, edi
je 0x637a54
cmp edi, 0x20
je 0x637a40
mov dword [esp + 0x220], ebp
mov ecx, dword [esp + 0x220]
movsx edx, byte [ecx]
and edx, edx
jne 0x637410
mov ebp, dword [esp + 0x240]
mov edi, dword [ebp + 0x1d4]
mov eax, edi
and eax, 0xc000000
je 0x637a96
mov ecx, edi
or ecx, 0x4000000
mov dword [ebp + 0x1d4], ecx
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
add esp, 0x23c
ret