Function at 0x430358
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 0x430a95
mov dword [esp + 0x220], ebp
movsx ebp, byte [esp + 0x1a0]
and ebp, ebp
je 0x430413
cmp ebp, 0x20
jne 0x430413
mov ebp, dword [esp + 0x220]
nop
nop
nop
nop
nop
mov eax, ebp
inc ebp
movsx edi, byte [eax + 1]
and edi, edi
je 0x43040c
cmp edi, 0x20
je 0x4303f8
mov dword [esp + 0x220], ebp
mov ecx, dword [esp + 0x220]
movsx edx, byte [ecx]
and edx, edx
je 0x430a95
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.004391e0
and eax, eax
jne 0x4304b7
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 0x430a4c
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.004391e0
and eax, eax
jne 0x43056a
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 0x430554
lea eax, [esp + 0x80]
mov dword [esp], eax
mov ecx, 0x104
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.0042f1b8
mov edx, dword [esp + 0x220]
add edx, 0xb
mov dword [esp + 0x220], edx
jmp 0x430a4c
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.004391e0
and eax, eax
jne 0x4305e9
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 0x430a4c
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.004391e0
and eax, eax
jne 0x430668
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 0x430a4c
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.004391e0
and eax, eax
jne 0x430704
mov ebp, dword [esp + 0x240]
mov eax, dword [ebp + 4]
and eax, 0x80
je 0x4306e5
lea ecx, str.Warning:_compile_time_option_overrides__bigendian_n
mov dword [esp], ecx
mov edx, 0x32
mov dword [esp + 4], edx
call fcn.004300f8
jmp 0x4306ee
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 0x430a4c
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.004391e0
and eax, eax
jne 0x4307aa
mov ebp, dword [esp + 0x240]
mov edx, dword [ebp + 4]
and edx, 0x40
je 0x430788
lea eax, str.Warning:_compile_time_option_overrides__littleendian_n
mov dword [esp], eax
mov ecx, 0x35
mov dword [esp + 4], ecx
call fcn.004300f8
jmp 0x430794
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 0x430a4c
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.004391e0
and eax, eax
jne 0x430829
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 0x430a4c
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.004391e0
and eax, eax
jne 0x4308a4
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 0x430a4c
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.004391e0
and eax, eax
jne 0x430920
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 0x430a4c
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.004391e0
and eax, eax
jne 0x43099c
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 0x430a4c
mov edx, 0
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x220]
movsx ebp, byte [eax]
and ebp, ebp
je 0x430a0b
cmp ebp, 0x20
je 0x430a0b
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 0x430a07
cmp esi, 0x20
jne 0x4309d8
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.004300f8
mov dword [esp + 4], ebp
lea edx, [esp + 0x1a0]
mov dword [esp], edx
call fcn.004300f8
mov ebp, dword [esp + 0x220]
movsx edi, byte [ebp]
and edi, edi
je 0x430a83
cmp edi, 0x20
jne 0x430a83
mov eax, ebp
inc ebp
movsx edi, byte [eax + 1]
and edi, edi
je 0x430a7c
cmp edi, 0x20
je 0x430a68
mov dword [esp + 0x220], ebp
mov ecx, dword [esp + 0x220]
movsx edx, byte [ecx]
and edx, edx
jne 0x430438
mov ebp, dword [esp + 0x240]
mov edi, dword [ebp + 0x1d4]
mov eax, edi
and eax, 0xc000000
je 0x430abe
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