Function at 0x429554
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x10c
mov ebp, dword [esp + 0x124]
mov dword [esp], str.HOME
call sym._getenv
test eax, eax
je 0x4296dd
lea edx, [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp], edx
call dbg.jv_string
lea eax, [esp + 0x40]
mov dword [esp + 0x14], str._.jq
mov edx, dword [esp + 0xa0]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x10], edx
mov dword [esp], eax
call dbg.jv_string_append_str
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
call dbg.jv_string_value
lea edx, [esp + 0x60]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], edx
call dbg.jv_load_file
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x50], ebx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call sym._jv_get_kind
test eax, eax
je 0x429c30
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
call dbg.jv_string_value
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0x120]
call dbg.builtins_bind_one
mov esi, eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
call dbg.jv_free
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
call dbg.jv_free
test esi, esi
je 0x4296dd
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_free
jmp 0x429c7d
mov ebx, 0x43a54c
mov edi, 0x43a45c
mov ecx, dword [ebx]
mov edx, ebp
mov eax, dword [esp + 0x120]
call dbg.builtins_bind_one
mov esi, eax
test eax, eax
je 0x429719
mov dword [esp + 8], 0x2eb
mov dword [esp + 4], str..._.._.._builtin.c
mov dword [esp], str._nerrors
call dbg._assert
sub ebx, 4
cmp ebx, edi
jne 0x4296e7
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
call sym._gen_noop
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x60], str.empty
mov dword [esp], 0xe
call dbg.gen_op_simple
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], str.false
lea eax, [esp + 0xf0]
mov dword [esp], eax
call dbg.jv_false
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
call dbg.gen_const
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], str.true
lea eax, [esp + 0xe0]
mov dword [esp], eax
call dbg.jv_true
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
call dbg.gen_const
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], str.null
lea eax, [esp + 0xd0]
mov dword [esp], eax
call sym._jv_null
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xc], eax
call dbg.gen_const
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], 0x439a75
lea eax, [esp + 0xc0]
mov dword [esp], eax
call dbg.jv_true
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
call dbg.gen_const
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
lea eax, [esp + 0xb0]
mov dword [esp], eax
call dbg.jv_false
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], eax
call dbg.gen_const
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.gen_condbranch
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edx
lea edi, [esp + 0x60]
mov ebx, 0
call sym._gen_noop
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ecx, [ebx + ebx*2]
mov eax, dword [esp + ecx*4 + 0x64]
mov edx, dword [esp + ecx*4 + 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [edi]
mov dword [esp], eax
call dbg.gen_function
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_join
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
add ebx, 1
add edi, 0xc
cmp ebx, 5
jne 0x429914
mov dword [esp + 0x60], str.path
mov dword [esp], 0x15
call dbg.gen_op_simple
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call sym._gen_noop
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], 0x439a7e
call dbg.gen_call
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [esp], 0x14
call dbg.gen_op_simple
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_join
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_join
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov dword [esp], 0x439a7e
call dbg.gen_param
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call dbg.gen_function
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_join
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 4], str.rangevar
mov dword [esp], 6
call dbg.gen_op_var_fresh
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call sym._gen_noop
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], str.start
call dbg.gen_call
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [esp], 1
call dbg.gen_op_simple
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_join
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_join
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp], 0x11
call dbg.gen_op_bound
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call sym._gen_noop
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], 0x439a91
call dbg.gen_call
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call dbg.block_join
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_join
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [esp], 0x439a91
call dbg.gen_param
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp], str.start
call dbg.gen_param
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_join
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], str.range
call dbg.gen_function
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_join
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], pe_nt_image_headers32
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.block_bind_referenced
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], 0x41
mov dword [esp], dbg.f_acos
call dbg.gen_cbinding
mov dword [ebp], eax
mov dword [ebp + 4], edx
jmp 0x429c7d
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
call dbg.jv_free
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
call dbg.jv_free
jmp 0x4296dd
mov eax, esi
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret