Function at 0x140048910
Capabilities:
Query environment variable

Disassembly:
mov eax, 0x28
call fcn.1400035e0
sub rsp, rax
cmp dword [0x1401f3e54], 0
jne 0x140048b7c
cmp dword [0x1401f3e68], 0
mov dword [0x1401f3e54], 1
jne 0x140048969
mov dword [0x1401f3e68], 1
call fcn.140030c20
bt eax, 0x1f
jae 0x140048969
bt eax, 0x1e
jb 0x140048969
mov dword [0x1401f3e6c], 1
xor eax, eax
add rsp, 0x28
ret
call fcn.1400484f0
test eax, eax
je 0x14004897c
mov eax, 1
add rsp, 0x28
ret
mov qword [rsp + 0x38], rbx
xor ebx, ebx
lea rdx, [rsp + 0x30]
lea rcx, str.HLS_WAIT
xor r8d, r8d
mov qword [rsp + 0x40], rsi
mov dword [0x1401c5f10], ebx
mov dword [0x1401f3e6c], ebx
mov qword [rsp + 0x48], rdi
mov dword [reloc.OLEAUT32.dll_SysReAllocStringLen], 4
mov dword [0x1401c5f18], 0xc8
mov dword [reloc.OLEAUT32.dll_SysReAllocStringLen], 4
mov dword [0x1401c5f20], 0x3e8
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea edi, [rbx + 2]
test eax, eax
mov esi, eax
je 0x140048a64
inc esi
xor ecx, ecx
movsxd rdx, esi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
mov qword [rsp + 0x30], rax
je 0x140048a64
lea rcx, str.HLS_WAIT
mov r8d, esi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x140048a64
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x140048a64
movzx edx, byte [r8]
mov eax, ebx
cmp dl, 0x30
jl 0x140048a40
cmp dl, 0x39
jg 0x140048a40
inc r8
lea ecx, [rax + rax*4]
movsx eax, dl
mov dl, byte [r8]
lea eax, [rax + rcx*2 - 0x30]
cmp dl, 0x30
jge 0x140048a26
cmp eax, edi
jge 0x140048a4e
mov eax, edi
mov dword [0x1401c5f18], edi
jmp 0x140048a5e
mov ecx, 0x7530
cmp eax, ecx
cmovg eax, ecx
mov dword [0x1401c5f18], eax
mov dword [0x1401c5f20], eax
lea rdx, [rsp + 0x30]
lea rcx, str.HLS_RETRIES
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
mov esi, eax
je 0x140048afb
inc esi
xor ecx, ecx
movsxd rdx, esi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
mov qword [rsp + 0x30], rax
je 0x140048afb
lea rcx, str.HLS_RETRIES
mov r8d, esi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x140048afb
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x140048afb
movzx eax, byte [rdx]
cmp al, 0x30
jl 0x140048ad7
nop
cmp al, 0x39
jg 0x140048ad7
movsx eax, al
inc rdx
lea ecx, [rbx + rbx*4]
lea ebx, [rax + rcx*2 - 0x30]
mov al, byte [rdx]
cmp al, 0x30
jge 0x140048ac0
cmp ebx, edi
jge 0x140048ae3
mov dword [reloc.OLEAUT32.dll_SysReAllocStringLen], edi
jmp 0x140048af5
mov eax, 0x1e
mov edi, ebx
cmp ebx, eax
cmovg edi, eax
mov dword [reloc.OLEAUT32.dll_SysReAllocStringLen], edi
mov dword [reloc.OLEAUT32.dll_SysReAllocStringLen], edi
lea rdx, [rsp + 0x30]
lea rcx, str.HL_SEARCH
xor r8d, r8d
mov dword [0x1401f3e58], 1
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov rdi, qword [rsp + 0x48]
test eax, eax
mov rsi, qword [rsp + 0x40]
mov ebx, eax
je 0x140048b6d
inc ebx
xor ecx, ecx
movsxd rdx, ebx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
mov qword [rsp + 0x30], rax
je 0x140048b6d
lea rcx, str.HL_SEARCH
mov r8d, ebx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x140048b6d
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140048b6d
call fcn.1400487c0
mov dword [0x1401f3e58], eax
mov rbx, qword [rsp + 0x38]
mov dword [0x1401c5f14], 1
xor eax, eax
add rsp, 0x28
ret