Function at 0x1800b63b0
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x28
cmp dword [0x18022f38c], 0
jne 0x1800b6614
cmp dword [0x18022f3a0], 0
mov dword [0x18022f38c], 1
jne 0x1800b6400
mov dword [0x18022f3a0], 1
call fcn.18008b3e0
bt eax, 0x1f
jae 0x1800b6400
bt eax, 0x1e
jb 0x1800b6400
mov dword [0x18022f3a4], 1
xor eax, eax
add rsp, 0x28
ret
call fcn.1800b5f80
test eax, eax
je 0x1800b6413
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 [reloc.WSOCK32.dll_accept], ebx
mov dword [0x18022f3a4], ebx
mov qword [rsp + 0x48], rdi
mov dword [reloc.WSOCK32.dll_connect], 4
mov dword [0x18014ece8], 0xc8
mov dword [reloc.WSOCK32.dll_connect], 4
mov dword [0x18014ecf0], 0x3e8
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea edi, [rbx + 2]
test eax, eax
mov esi, eax
je 0x1800b64fe
inc esi
xor ecx, ecx
movsxd rdx, esi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
mov qword [rsp + 0x30], rax
je 0x1800b64fe
lea rcx, str.HLS_WAIT
mov r8d, esi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x1800b64fe
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x1800b64fe
movzx edx, byte [r8]
mov eax, ebx
cmp dl, 0x30
jl 0x1800b64da
nop
cmp dl, 0x39
jg 0x1800b64da
inc r8
lea ecx, [rax + rax*4]
movsx eax, dl
mov dl, byte [r8]
lea eax, [rax + rcx*2 - 0x30]
cmp dl, 0x30
jge 0x1800b64c0
cmp eax, edi
jge 0x1800b64e8
mov eax, edi
mov dword [0x18014ece8], edi
jmp 0x1800b64f8
mov ecx, 0x7530
cmp eax, ecx
cmovg eax, ecx
mov dword [0x18014ece8], eax
mov dword [0x18014ecf0], 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 0x1800b6593
inc esi
xor ecx, ecx
movsxd rdx, esi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
mov qword [rsp + 0x30], rax
je 0x1800b6593
lea rcx, str.HLS_RETRIES
mov r8d, esi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x1800b6593
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x1800b6593
movzx eax, byte [rdx]
cmp al, 0x30
jl 0x1800b656f
cmp al, 0x39
jg 0x1800b656f
movsx eax, al
inc rdx
lea ecx, [rbx + rbx*4]
lea ebx, [rax + rcx*2 - 0x30]
mov al, byte [rdx]
cmp al, 0x30
jge 0x1800b6558
cmp ebx, edi
jge 0x1800b657b
mov dword [reloc.WSOCK32.dll_connect], edi
jmp 0x1800b658d
mov eax, 0x1e
mov edi, ebx
cmp ebx, eax
cmovg edi, eax
mov dword [reloc.WSOCK32.dll_connect], edi
mov dword [reloc.WSOCK32.dll_connect], edi
lea rdx, [rsp + 0x30]
lea rcx, str.HL_SEARCH
xor r8d, r8d
mov dword [0x18022f390], 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 0x1800b6605
inc ebx
xor ecx, ecx
movsxd rdx, ebx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
mov qword [rsp + 0x30], rax
je 0x1800b6605
lea rcx, str.HL_SEARCH
mov r8d, ebx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x1800b6605
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1800b6605
call fcn.1800b6250
mov dword [0x18022f390], eax
mov rbx, qword [rsp + 0x38]
mov dword [reloc.WSOCK32.dll_accept], 1
xor eax, eax
add rsp, 0x28
ret