Function at 0x1400e488c
Capabilities:
Query environment variable

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x388]
sub rsp, 0x488
mov rax, qword [0x1401e7e78]
xor rax, rsp
mov qword [rbp + 0x370], rax
mov r14, r9
mov rsi, rdx
mov r13, rcx
mov qword [rsp + 0x40], rcx
mov rax, qword [rbp + 0x3f0]
sub r8d, 0x4e
je 0x1400e509d
sub r8d, 0xc2
je 0x1400e4ecc
sub r8d, 1
je 0x1400e49a9
cmp r8d, 0x32f
jne 0x1400e4935
lea rax, [r9 - 0x8bb]
mov ebx, 1
cmp rax, rbx
ja 0x1400e4935
mov rcx, qword [0x14021c740]
mov al, byte [rcx + 0xf18]
xor edi, edi
cmp al, 3
je 0x1400e4985
mov rcx, rdx
cmp al, 2
je 0x1400e495a
lea r8, [0x14015a140]
mov edx, 0xac3
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
xor eax, eax
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.140139b10
add rsp, 0x488
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov edx, 0x8c0
mov r8d, 0x147
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
sub eax, ebx
cmp eax, 0xffffffff
je 0x1400e499a
jl 0x1400e499a
mov rcx, qword [0x14021c740]
jmp 0x1400e4988
or eax, 0xffffffff
mov edx, eax
call fcn.14007bfa4
test rax, rax
je 0x1400e499a
mov rbx, qword [rax + 0x28]
jmp 0x1400e49a1
lea rbx, [0x14015a140]
mov r8, rbx
mov rcx, rsi
jmp 0x1400e492a
mov rax, r14
shr rax, 0x10
movzx ecx, ax
xor edi, edi
test ecx, ecx
je 0x1400e4c7e
sub ecx, 1
je 0x1400e4b66
cmp ecx, 0x2ff
jne 0x1400e4935
mov edx, 0x5ec
cmp r14w, dx
je 0x1400e4b43
mov r12d, 0x8bf
cmp r14w, r12w
je 0x1400e4a52
mov edx, 0xb37
cmp r14w, dx
jne 0x1400e4935
mov dword [rsp + 0x40], edi
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItemInt]
cmp dword [rsp + 0x40], edi
je 0x1400e4a3c
lea ecx, [rdi + 0xa]
cmp eax, ecx
jb 0x1400e4a2a
mov ecx, eax
mov edx, 0x2710
cmp eax, edx
cmova ecx, edx
mov rax, qword [0x14021c740]
mov dword [rax + 0xf3c], ecx
jmp 0x1400e4935
mov rax, qword [0x14021c740]
mov dword [rax + 0xf3c], 0x64
jmp 0x1400e4935
mov qword [rsp + 0x40], rdi
mov edx, r12d
mov byte [rsp + 0x20], dil
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rcx, rsi
call fcn.140046f4c
mov rsi, rax
mov rbx, qword [rsp + 0x40]
test rax, rax
jle 0x1400e4b02
test rbx, rbx
je 0x1400e4b02
cmp word [rbx], di
je 0x1400e4b02
lea rcx, [rbx + 2]
mov r14d, 0x40
cmp word [rbx], r14w
cmove rbx, rcx
mov rax, qword [0x14021c740]
mov rcx, qword [rax + 0xf28]
test rcx, rcx
je 0x1400e4ac2
call fcn.14012008c
mov rax, qword [0x14021c740]
mov qword [rax + 0xf28], rdi
lea rcx, [rsi + 2]
mov edx, 2
call fcn.14012005c
mov rcx, qword [0x14021c740]
mov qword [rcx + 0xf28], rax
mov word [rax], r14w
lea rdx, [rsi + 1]
mov rax, qword [0x14021c740]
mov rcx, qword [rax + 0xf28]
add rcx, 2
mov r8, rbx
call fcn.14000ab94
jmp 0x1400e4b28
mov rax, qword [0x14021c740]
mov rcx, qword [rax + 0xf28]
test rcx, rcx
je 0x1400e4b2d
call fcn.14012008c
mov rax, qword [0x14021c740]
mov qword [rax + 0xf28], rdi
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1400e4935
mov rcx, rbx
call fcn.14012008c
jmp 0x1400e4935
mov r8, qword [0x14021c740]
add r8, 0xf20
mov byte [rsp + 0x20], dil
xor r9d, r9d
mov rcx, rsi
call fcn.140046f4c
jmp 0x1400e4935
mov r12d, 0x8c0
cmp r14w, r12w
jne 0x1400e4935
lea rcx, [rsp + 0x40]
call fcn.140120d54
nop
mov edx, r12d
lea r8, [rsp + 0x40]
mov rcx, rsi
call fcn.1400d472c
lea rcx, [rsp + 0x40]
call fcn.140120ef0
lea r15d, [r12 - 7]
test al, al
je 0x1400e4c00
xor r8d, r8d
lea rdx, [0x14018f4a0]
lea rcx, [rsp + 0x40]
call fcn.1401211e0
test eax, eax
je 0x1400e4c4d
mov rax, qword [0x14021c740]
mov rcx, qword [rax + 0xf30]
test rcx, rcx
je 0x1400e4be6
call fcn.14012008c
mov rax, qword [0x14021c740]
mov qword [rax + 0xf30], rdi
lea rcx, [rsp + 0x40]
call fcn.140121210
mov rcx, qword [0x14021c740]
mov qword [rcx + 0xf30], rax
jmp 0x1400e4c4d
mov rax, qword [0x14021c740]
mov byte [rax + 0xf18], dil
mov r9d, r15d
mov r8d, 0x8bc
mov edx, r15d
mov rcx, rsi
call fcn.140047248
mov r10, qword [r13]
mov rax, qword [0x14021c740]
movzx r9d, byte [rax + 0xf18]
add r9, r15
mov qword [rsp + 0x20], rdi
mov r8d, 0x111
mov rdx, rsi
mov rcx, r13
call qword [r10 + 0x30]
mov r10, qword [r13]
mov rax, qword [0x14021c740]
movzx r9d, byte [rax + 0xf18]
add r9, r15
mov qword [rsp + 0x20], rdi
mov r8d, 0x440
mov rdx, rsi
mov rcx, r13
call qword [r10 + 0x30]
nop
jmp 0x1400e4d8d
movzx ecx, r14w
mov r15d, 0x8b9
sub ecx, r15d
je 0x1400e4d9c
sub ecx, 1
je 0x1400e4d9c
sub ecx, 1
je 0x1400e4d9c
sub ecx, 1
je 0x1400e4d9c
sub ecx, 8
je 0x1400e4cba
cmp ecx, 1
jne 0x1400e4935
mov edx, 0x5ec
mov r15d, 0x8c4
lea r12d, [r15 - 5]
cmp r14w, r15w
cmove r12d, edx
mov r9d, 0x104
lea r8, [rsp + 0x50]
mov edx, r12d
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItemTextW]
test eax, eax
jne 0x1400e4cf1
mov word [rsp + 0x50], di
mov r8d, 0x105
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov ecx, edi
cmp r14w, r15w
sete cl
lea rdx, str.Text_files__.txt_
lea rax, [0x1401a4af0]
cmovne rax, rdx
lea r8, str.Choose_command_file
lea rdx, str.Choose_application
cmovne rdx, r8
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rax
mov rax, qword [0x14021d130]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0x160]
lea rcx, [rsp + 0x40]
call fcn.14002b918
nop
lea rcx, [rsp + 0x40]
call fcn.140120ef0
test al, al
je 0x1400e4d8d
lea rcx, [rsp + 0x40]
call fcn.140058574
mov r8, rax
mov edx, r12d
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
nop
lea rcx, [rsp + 0x40]
call fcn.140120ddc
jmp 0x1400e4935
lea ecx, [r9 + 0x47]
mov rax, qword [0x14021c740]
mov byte [rax + 0xf18], cl
mov ebx, edi
cmp r14w, r15w
sete bl
mov edx, 0x5ec
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x8c4
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov eax, 0x8ba
mov ebx, edi
cmp r14w, ax
sete bl
lea edx, [rax + 5]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x8c5
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov r15d, 0x8bb
mov ebx, edi
cmp r14w, r15w
sete bl
lea edx, [r15 + 5]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
lea edx, [r15 + 2]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
lea edx, [r15 + 3]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
movzx eax, r14w
sub ax, r15w
mov ebx, edi
mov ecx, 1
cmp ax, cx
setbe bl
mov edx, 0xac3
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov rax, qword [r13]
movzx r9d, r14w
mov qword [rsp + 0x20], rdi
mov r8d, 0x440
mov rdx, rsi
mov rcx, r13
call qword [rax + 0x30]
jmp 0x1400e4935
mov rax, qword [0x14021c740]
movzx r9d, byte [rax + 0xf18]
mov r15d, 0x8b9
add r9d, r15d
lea r8d, [r15 + 3]
mov edx, r15d
mov rcx, rsi
call fcn.140047248
mov rax, qword [0x14021c740]
mov rcx, qword [rax + 0xf20]
lea rbx, [0x14015a140]
mov r8, rbx
xor edi, edi
test rcx, rcx
cmovne r8, rcx
mov edx, 0x5ec
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov rax, qword [0x14021c740]
mov r8, qword [rax + 0xf28]
test r8, r8
je 0x1400e4f45
lea r14d, [rdi + 0x40]
cmp word [r8], r14w
jne 0x1400e4f48
add r8, 2
jmp 0x1400e4f48
mov r8, rbx
mov edx, 0x8bf
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ebx, edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8d, 0x14b
mov r12d, 0x8c0
mov edx, r12d
mov rcx, rsi
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
lea rax, [0x14018f4a0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r14d, 0x143
mov r8d, r14d
mov edx, r12d
mov rcx, rsi
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor edx, edx
mov rcx, qword [0x14021c740]
call fcn.14007bfa4
test rax, rax
je 0x1400e4feb
mov r13d, 1
add ebx, r13d
mov rax, qword [rax + 8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, r14d
mov edx, r12d
mov rcx, rsi
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov edx, ebx
mov rcx, qword [0x14021c740]
call fcn.14007bfa4
test rax, rax
jne 0x1400e4fb5
mov r13, qword [rsp + 0x40]
mov rax, qword [0x14021c740]
mov rdx, qword [rax + 0xf30]
test rdx, rdx
je 0x1400e502a
mov rcx, rax
call fcn.14007c04c
test rax, rax
je 0x1400e5023
mov r8, qword [rax + 8]
test r8, r8
je 0x1400e5023
mov edx, r12d
mov rcx, rsi
call fcn.1400d48f8
test eax, eax
jg 0x1400e504e
mov rax, qword [0x14021c740]
cmp byte [rax + 0xf18], 2
jne 0x1400e5055
mov byte [rax + 0xf18], dil
mov r9d, r15d
mov r8d, 0x8bc
mov edx, r15d
mov rcx, rsi
call fcn.140047248
mov rax, qword [0x14021c740]
xor r9d, r9d
mov r8d, dword [rax + 0xf3c]
mov edx, 0xb37
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetDlgItemInt]
mov r10, qword [r13]
mov rax, qword [0x14021c740]
movzx r9d, byte [rax + 0xf18]
add r9, r15
mov qword [rsp + 0x20], rdi
mov r8d, 0x111
mov rdx, rsi
mov rcx, r13
call qword [r10 + 0x30]
jmp 0x1400e4935
cmp dword [rax + 0x10], 0xfffffdee
jne 0x1400e4935
mov qword [rsp + 0x20], rax
mov r8d, 0x4e
mov rcx, qword [0x14021c748]
call fcn.14008e078
jmp 0x1400e4937