Function at 0x4b7841
Capabilities:
Query environment variable

Disassembly:
push 0x480
mov eax, 0x51186a
call fcn.004f41e2
mov dword [ebp - 0x484], ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
sub eax, 0x4e
je 0x4b7f24
sub eax, 0xc2
je 0x4b7db1
sub eax, 1
je 0x4b790c
sub eax, 0x32f
jne 0x4b78ba
cmp dword [ebp + 0x10], 0x8bc
je 0x4b7895
cmp dword [ebp + 0x10], 0x8bb
jne 0x4b78ba
mov ecx, dword [0x5a23ec]
mov al, byte [ecx + 0xecc]
cmp al, 3
je 0x4b78f0
cmp al, 2
je 0x4b78c4
push 0x514870
push 0xac3
push edi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor eax, eax
call fcn.004f418c
ret 0x10
xor ebx, ebx
push ebx
push ebx
push 0x147
push 0x8c0
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
dec eax
push 0xfffffffffffffffe
cmp eax, 0xffffffff
pop ecx
cmove eax, ecx
cmp eax, 0xffffffff
jl 0x4b78fb
mov ecx, dword [0x5a23ec]
jmp 0x4b78f3
or eax, 0xffffffff
push eax
call fcn.0045dc55
mov ebx, eax
test ebx, ebx
je 0x4b7904
mov eax, dword [ebx + 0x14]
jmp 0x4b7909
mov eax, 0x514870
push eax
jmp 0x4b78ae
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
mov eax, ecx
shr eax, 0x10
sub eax, ebx
je 0x4b7ba3
sub eax, 1
je 0x4b7aa8
sub eax, 0x2ff
jne 0x4b78ba
movzx eax, cx
mov edx, 0x5ec
mov ecx, eax
cmp cx, dx
je 0x4b7a8c
mov edx, 0x8bf
cmp cx, dx
je 0x4b79ae
mov ecx, 0xb37
cmp ax, cx
jne 0x4b78ba
push ebx
lea eax, [ebp - 0x488]
mov dword [ebp - 0x488], ebx
push eax
push ecx
push edi
call dword [sym.imp.USER32.dll_GetDlgItemInt]
cmp dword [ebp - 0x488], ebx
je 0x4b799a
push 0xa
pop ecx
cmp eax, ecx
jb 0x4b798a
mov edx, 0x2710
mov ecx, eax
cmp eax, edx
cmova ecx, edx
mov eax, dword [0x5a23ec]
mov dword [eax + 0xee0], ecx
jmp 0x4b78ba
mov eax, dword [0x5a23ec]
mov dword [eax + 0xee0], 0x64
jmp 0x4b78ba
push ebx
push ebx
lea eax, [ebp - 0x484]
mov dword [ebp - 0x484], ebx
push eax
push edx
push edi
call fcn.00438fcf
mov esi, dword [ebp - 0x484]
mov edi, eax
add esp, 0x14
test edi, edi
jle 0x4b7a51
test esi, esi
je 0x4b7a51
movzx ecx, word [esi]
test cx, cx
je 0x4b7a51
push 0x40
pop edx
cmp cx, dx
lea eax, [esi + 2]
cmove esi, eax
mov eax, dword [0x5a23ec]
mov eax, dword [eax + 0xed4]
test eax, eax
je 0x4b7a0c
push eax
call fcn.004e1bea
mov eax, dword [0x5a23ec]
pop ecx
mov dword [eax + 0xed4], ebx
lea eax, [edi + 2]
push 2
push eax
call fcn.004e1c42
pop ecx
pop ecx
mov ecx, dword [0x5a23ec]
push 0x40
mov dword [ecx + 0xed4], eax
mov eax, dword [0x5a23ec]
pop ecx
push esi
mov eax, dword [eax + 0xed4]
mov word [eax], cx
lea eax, [edi + 1]
push eax
mov eax, dword [0x5a23ec]
mov eax, dword [eax + 0xed4]
add eax, 2
push eax
call fcn.00401a0b
jmp 0x4b7a72
mov eax, dword [0x5a23ec]
mov eax, dword [eax + 0xed4]
test eax, eax
je 0x4b7a78
push eax
call fcn.004e1bea
mov eax, dword [0x5a23ec]
pop ecx
mov dword [eax + 0xed4], ebx
mov esi, dword [ebp - 0x484]
test esi, esi
je 0x4b78ba
push esi
call fcn.004e1bea
pop ecx
jmp 0x4b78ba
mov eax, dword [0x5a23ec]
push ebx
push ebx
add eax, 0xed0
push eax
push edx
push edi
call fcn.00438fcf
add esp, 0x14
jmp 0x4b78ba
mov esi, 0x8c0
cmp cx, si
jne 0x4b78ba
lea ecx, [ebp - 0x480]
call fcn.004e25a1
lea eax, [ebp - 0x480]
mov dword [ebp - 4], ebx
push eax
push esi
push edi
call fcn.004aa200
add esp, 0xc
lea ecx, [ebp - 0x480]
call fcn.004e269c
add esi, 0xfffffff9
test al, al
je 0x4b7b36
push ebx
push 0x5363e4
lea ecx, [ebp - 0x480]
call fcn.004e2759
test eax, eax
je 0x4b7b72
mov eax, dword [0x5a23ec]
mov eax, dword [eax + 0xed8]
test eax, eax
je 0x4b7b1d
push eax
call fcn.004e1bea
mov eax, dword [0x5a23ec]
pop ecx
mov dword [eax + 0xed8], ebx
lea ecx, [ebp - 0x480]
call fcn.004e281d
mov ecx, dword [0x5a23ec]
mov dword [ecx + 0xed8], eax
jmp 0x4b7b72
mov eax, dword [0x5a23ec]
push esi
push 0x8bc
push esi
push edi
mov byte [eax + 0xecc], bl
call fcn.0043928d
mov eax, dword [0x5a23ec]
add esp, 0x10
mov ecx, dword [ebp - 0x484]
movzx eax, byte [eax + 0xecc]
mov edx, dword [ecx]
add eax, esi
push ebx
push eax
push 0x111
push edi
call dword [edx + 0x18]
mov eax, dword [0x5a23ec]
mov ecx, dword [ebp - 0x484]
push ebx
movzx eax, byte [eax + 0xecc]
mov edx, dword [ecx]
add eax, esi
push eax
push 0x440
push edi
call dword [edx + 0x18]
lea ecx, [ebp - 0x480]
call fcn.004e25e0
jmp 0x4b78ba
movzx ecx, cx
mov esi, 0x8b9
movzx edx, cx
mov eax, edx
mov dword [ebp - 0x488], ecx
mov dword [ebp - 0x48c], eax
cmp eax, esi
jb 0x4b78ba
cmp eax, 0x8bc
jbe 0x4b7c9f
cmp eax, 0x8c3
jbe 0x4b78ba
lea eax, [esi + 0xc]
cmp cx, ax
ja 0x4b78ba
lea ecx, [esi + 0xb]
mov eax, 0x5ec
add esi, 6
mov dword [ebp - 0x484], ecx
cmp dx, cx
push 0x104
cmove esi, eax
lea eax, [ebp - 0x218]
push eax
push esi
push edi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
test eax, eax
jne 0x4b7c1c
mov word [ebp - 0x218], ax
push 0x105
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov edx, dword [ebp - 0x488]
xor eax, eax
movzx ecx, dx
mov edx, 0x55a630
cmp cx, word [ebp - 0x484]
push ebx
sete al
push eax
mov eax, str.Text_files__.txt_
cmove eax, edx
mov edx, 0x55f4bc
push eax
push dword [0x5a2c8c]
lea eax, [ebp - 0x424]
push ebx
push eax
mov ebx, 0x8c4
mov eax, str.Choose_command_file
cmp cx, bx
cmove eax, edx
push eax
call fcn.0042256d
mov ebx, eax
add esp, 0x1c
test ebx, ebx
je 0x4b78ba
push ebx
push esi
push edi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push ebx
jmp 0x4b7a81
mov eax, dword [0x5a23ec]
lea ecx, [edx + 0x47]
xor ebx, ebx
cmp dx, si
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
sete bl
push ebx
push 0x5ec
push edi
mov byte [eax + 0xecc], cl
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push ebx
push 0x8c4
push edi
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebp - 0x488]
mov ecx, 0x8ba
xor ebx, ebx
movzx esi, ax
cmp si, cx
sete bl
push ebx
push 0x8bf
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x8c5
push edi
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
xor eax, eax
mov ecx, 0x8bb
cmp si, cx
sete al
push eax
push 0x8c0
push edi
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
xor ebx, ebx
push ebx
push 0x8bd
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call esi
push ebx
push 0x8be
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call esi
mov edx, dword [ebp - 0x488]
mov ecx, 0x8bb
movzx eax, dx
cmp ax, cx
je 0x4b7d7d
inc ecx
cmp ax, cx
je 0x4b7d7d
mov eax, ebx
jmp 0x4b7d80
xor eax, eax
inc eax
push eax
push 0xac3
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [ebp - 0x484]
push ebx
push dword [ebp - 0x48c]
mov eax, dword [ecx]
push 0x440
push edi
call dword [eax + 0x18]
jmp 0x4b78ba
mov eax, dword [0x5a23ec]
mov esi, 0x8b9
movzx eax, byte [eax + 0xecc]
add eax, esi
push eax
push 0x8bc
push esi
push edi
call fcn.0043928d
mov eax, dword [0x5a23ec]
add esp, 0x10
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ecx, 0x514870
mov eax, dword [eax + 0xed0]
test eax, eax
cmovne ecx, eax
push ecx
push 0x5ec
push edi
call ebx
mov eax, dword [0x5a23ec]
mov eax, dword [eax + 0xed4]
test eax, eax
je 0x4b7e12
cmp word [eax], 0x40
jne 0x4b7e17
add eax, 2
jmp 0x4b7e17
mov eax, 0x514870
push eax
push 0x8bf
push edi
call ebx
xor ebx, ebx
push ebx
push ebx
push 0x14b
push 0x8c0
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0x5363e4
push ebx
push 0x143
push 0x8c0
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, dword [0x5a23ec]
push ebx
call fcn.0045dc55
test eax, eax
je 0x4b7e89
mov esi, ebx
push dword [eax + 4]
inc esi
push ebx
push 0x143
push 0x8c0
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, dword [0x5a23ec]
push esi
call fcn.0045dc55
test eax, eax
jne 0x4b7e5e
mov esi, 0x8b9
mov ecx, dword [0x5a23ec]
mov eax, dword [ecx + 0xed8]
test eax, eax
je 0x4b7ea1
push eax
call fcn.0045dce0
jmp 0x4b7ea3
mov eax, ebx
test eax, eax
je 0x4b7ec1
cmp dword [eax + 4], ebx
je 0x4b7ec1
push dword [eax + 4]
push 0x8c0
push edi
call fcn.004aa35f
add esp, 0xc
test eax, eax
jg 0x4b7ee6
mov eax, dword [0x5a23ec]
cmp byte [eax + 0xecc], 2
jne 0x4b7ee6
push esi
mov ecx, 0x8bc
mov byte [eax + 0xecc], bl
push ecx
push esi
push edi
call fcn.0043928d
add esp, 0x10
mov eax, dword [0x5a23ec]
push ebx
push dword [eax + 0xee0]
push 0xb37
push edi
call dword [sym.imp.USER32.dll_SetDlgItemInt]
mov eax, dword [0x5a23ec]
mov ecx, dword [ebp - 0x484]
push ebx
movzx eax, byte [eax + 0xecc]
mov edx, dword [ecx]
add eax, esi
push eax
push 0x111
push edi
call dword [edx + 0x18]
jmp 0x4b78ba
cmp dword [ecx + 8], 0xfffffdee
jne 0x4b78ba
push ecx
push dword [ebp + 0x10]
mov ecx, dword [0x5a23f0]
push 0x4e
push edi
call fcn.0046cfd3
jmp 0x4b78bc