Function at 0x1400d9d90
Capabilities:
Query environment variable

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x398]
sub rsp, 0x498
mov rax, qword [0x1401f5698]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov r14, r9
mov rsi, rdx
mov rbx, rcx
mov qword [rsp + 0x40], rcx
mov rax, qword [rbp + 0x400]
sub r8d, 0x4e
je 0x1400da59e
sub r8d, 0xc2
je 0x1400da3cb
sub r8d, 1
je 0x1400d9eb0
cmp r8d, 0x32f
jne 0x1400d9e3b
lea rax, [r9 - 0x8bb]
mov ebx, 1
cmp rax, rbx
ja 0x1400d9e3b
mov rax, qword [0x14022ab50]
mov cl, byte [rax + 0xf10]
xor edi, edi
cmp cl, 3
je 0x1400d9e91
cmp cl, 2
mov rcx, rdx
je 0x1400d9e60
lea r8, [0x1401759d0]
mov edx, 0xac3
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
xor eax, eax
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.14012bda0
add rsp, 0x498
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 0x1400d9e82
jge 0x1400d9e94
lea rbx, [0x1401759d0]
mov r8, rbx
mov rcx, rsi
jmp 0x1400d9e30
or eax, 0xffffffff
lfence
mov edx, eax
mov rcx, qword [0x14022ab50]
call fcn.140073c10
test rax, rax
je 0x1400d9e82
mov rbx, qword [rax + 0x28]
jmp 0x1400d9e89
mov rax, r14
shr rax, 0x10
movzx ecx, ax
xor edi, edi
test ecx, ecx
je 0x1400da19d
sub ecx, 1
je 0x1400da07d
cmp ecx, 0x2ff
jne 0x1400d9e3b
mov edx, 0x5ec
cmp r14w, dx
je 0x1400da05a
mov r12d, 0x8bf
cmp r14w, r12w
je 0x1400d9f59
mov edx, 0xb37
cmp r14w, dx
jne 0x1400d9e3b
mov dword [rsp + 0x48], edi
xor r9d, r9d
lea r8, [rsp + 0x48]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItemInt]
cmp dword [rsp + 0x48], edi
je 0x1400d9f43
lea ecx, [rdi + 0xa]
cmp eax, ecx
jb 0x1400d9f31
mov ecx, eax
mov edx, 0x2710
cmp eax, edx
cmova ecx, edx
mov rax, qword [0x14022ab50]
mov dword [rax + 0xf34], ecx
jmp 0x1400d9e3b
mov rax, qword [0x14022ab50]
mov dword [rax + 0xf34], 0x64
jmp 0x1400d9e3b
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.140043fcc
mov rsi, rax
mov rcx, qword [rsp + 0x40]
test rax, rax
jle 0x1400da019
test rcx, rcx
je 0x1400da019
cmp word [rcx], di
je 0x1400da019
lfence
mov rbx, qword [rsp + 0x40]
lea rcx, [rbx + 2]
mov r14d, 0x40
cmp word [rbx], r14w
cmove rbx, rcx
mov rax, qword [0x14022ab50]
mov rcx, qword [rax + 0xf20]
test rcx, rcx
je 0x1400d9fd9
call fcn.140113e18
mov rax, qword [0x14022ab50]
mov qword [rax + 0xf20], rdi
lea rcx, [rsi + 2]
mov edx, 2
call fcn.140113de8
mov rcx, qword [0x14022ab50]
mov qword [rcx + 0xf20], rax
mov word [rax], r14w
lea rdx, [rsi + 1]
mov rax, qword [0x14022ab50]
mov rcx, qword [rax + 0xf20]
add rcx, 2
mov r8, rbx
call fcn.14000a8a0
jmp 0x1400da042
mov rax, qword [0x14022ab50]
mov rdx, qword [rax + 0xf20]
test rdx, rdx
je 0x1400da047
mov rcx, rdx
call fcn.140113e18
mov rax, qword [0x14022ab50]
mov qword [rax + 0xf20], rdi
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400d9e3b
call fcn.140113e18
jmp 0x1400d9e3b
mov r8, qword [0x14022ab50]
add r8, 0xf18
mov byte [rsp + 0x20], dil
xor r9d, r9d
mov rcx, rsi
call fcn.140043fcc
jmp 0x1400d9e3b
mov r12d, 0x8c0
cmp r14w, r12w
jne 0x1400d9e3b
lea rcx, [rsp + 0x50]
call fcn.140114c40
nop
mov edx, r12d
lea r8, [rsp + 0x50]
mov rcx, rsi
call fcn.1400ca090
lea rcx, [rsp + 0x50]
call fcn.140114d88
lea r15d, [r12 - 7]
test al, al
je 0x1400da117
xor r8d, r8d
lea rdx, [0x14018a108]
lea rcx, [rsp + 0x50]
call fcn.140114f64
test eax, eax
je 0x1400da163
mov rax, qword [0x14022ab50]
mov rcx, qword [rax + 0xf28]
test rcx, rcx
je 0x1400da0fd
call fcn.140113e18
mov rax, qword [0x14022ab50]
mov qword [rax + 0xf28], rdi
lea rcx, [rsp + 0x50]
call fcn.140114f94
mov rcx, qword [0x14022ab50]
mov qword [rcx + 0xf28], rax
jmp 0x1400da163
mov rax, qword [0x14022ab50]
mov byte [rax + 0xf10], dil
mov r9d, r15d
mov r8d, 0x8bc
mov edx, r15d
mov rcx, rsi
call fcn.1400442d0
mov r10, qword [rbx]
mov rax, qword [0x14022ab50]
movzx r9d, byte [rax + 0xf10]
add r9, r15
mov qword [rsp + 0x20], rdi
mov r8d, 0x111
mov rdx, rsi
mov rcx, rbx
call qword [r10 + 0x30]
mov r10, qword [rbx]
mov rax, qword [0x14022ab50]
movzx r9d, byte [rax + 0xf10]
add r9, r15
mov qword [rsp + 0x20], rdi
mov r8d, 0x440
mov rdx, rsi
mov rcx, rbx
call qword [r10 + 0x30]
nop
lea rcx, [rsp + 0x50]
call fcn.140114ca4
jmp 0x1400d9e3b
mov r15d, 0x8b9
cmp r14w, r15w
jb 0x1400d9e3b
lea r13d, [r15 + 3]
cmp r14w, r13w
jbe 0x1400da29a
lea eax, [r15 + 0xa]
cmp r14w, ax
jbe 0x1400d9e3b
lea edx, [rax + 2]
cmp r14w, dx
ja 0x1400d9e3b
mov edx, 0x5ec
lea r15d, [r13 + 8]
lea r12d, [r13 + 3]
cmp r14w, r15w
cmove r12d, edx
mov r9d, 0x104
lea r8, [rsp + 0x60]
mov edx, r12d
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItemTextW]
test eax, eax
jne 0x1400da20b
mov word [rsp + 0x60], di
mov r8d, 0x105
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov r8d, edi
cmp r14w, r15w
sete r8b
lea rcx, str.Text_files__.txt_
lea rax, [0x1401b2320]
cmovne rax, rcx
lea rdx, str.Choose_command_file
lea rcx, str.Choose_application
cmovne rcx, rdx
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], rax
mov r9, qword [0x14022b560]
xor r8d, r8d
lea rdx, [rbp + 0x170]
call fcn.14002a004
mov rbx, rax
test rax, rax
je 0x1400d9e3b
mov r8, rax
mov edx, r12d
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov rcx, rbx
jmp 0x1400da050
lea ecx, [r9 + 0x47]
mov rax, qword [0x14022ab50]
mov byte [rax + 0xf10], 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 rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
movzx r9d, r14w
mov qword [rsp + 0x20], rdi
mov r8d, 0x440
mov rdx, rsi
call qword [rax + 0x30]
jmp 0x1400d9e3b
mov rax, qword [0x14022ab50]
movzx r9d, byte [rax + 0xf10]
mov r15d, 0x8b9
add r9d, r15d
lea r13d, [r15 + 3]
mov r8d, r13d
mov edx, r15d
mov rcx, rsi
call fcn.1400442d0
mov rax, qword [0x14022ab50]
mov rcx, qword [rax + 0xf18]
lea rbx, [0x1401759d0]
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 [0x14022ab50]
mov r8, qword [rax + 0xf20]
test r8, r8
je 0x1400da447
lea r14d, [rdi + 0x40]
cmp word [r8], r14w
jne 0x1400da44a
add r8, 2
jmp 0x1400da44a
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, [0x14018a108]
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 [0x14022ab50]
call fcn.140073c10
test rax, rax
je 0x1400da4ee
mov r15d, 1
add ebx, r15d
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 [0x14022ab50]
call fcn.140073c10
test rax, rax
jne 0x1400da4b7
mov r15d, 0x8b9
mov rax, qword [0x14022ab50]
mov rdx, qword [rax + 0xf28]
test rdx, rdx
je 0x1400da52d
mov rcx, rax
call fcn.140073cc4
test rax, rax
je 0x1400da526
mov r8, qword [rax + 8]
test r8, r8
je 0x1400da526
mov edx, r12d
mov rcx, rsi
call fcn.1400ca264
test eax, eax
jg 0x1400da54e
mov rax, qword [0x14022ab50]
cmp byte [rax + 0xf10], 2
jne 0x1400da555
mov byte [rax + 0xf10], dil
mov r9d, r15d
mov r8d, r13d
mov edx, r15d
mov rcx, rsi
call fcn.1400442d0
mov rax, qword [0x14022ab50]
xor r9d, r9d
mov r8d, dword [rax + 0xf34]
mov edx, 0xb37
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetDlgItemInt]
mov rcx, qword [rsp + 0x40]
mov r10, qword [rcx]
mov rax, qword [0x14022ab50]
movzx r9d, byte [rax + 0xf10]
add r9, r15
mov qword [rsp + 0x20], rdi
mov r8d, 0x111
mov rdx, rsi
call qword [r10 + 0x30]
jmp 0x1400d9e3b
cmp dword [rax + 0x10], 0xfffffdee
jne 0x1400d9e3b
mov qword [rsp + 0x20], rax
mov r8d, 0x4e
mov rcx, qword [0x14022ab58]
call fcn.1400859a0
jmp 0x1400d9e3d