Function at 0x1801f27e0
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x5c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x540], 0xfffffffffffffffe
mov qword [rbp + 0x4d0], r9
mov qword [rbp + 0x4b8], rdx
mov word [rbp + 0x51e], cx
movabs rax, 0xf45727f5a70684e
mov qword [rbp + 0x1b8], rax
mov word [rbp + 0x1c0], 0x5b47
mov byte [rbp + 0x1c2], 0x41
lea rax, [rbp + 0x1c3]
lea rcx, [rbp + 0x1c4]
mov qword [rbp - 0x50], rcx
mov edx, 0x84e2ce74
mov ecx, 0xe3649bf6
nop dword [rax + rax]
cmp edx, 0xe3649bf6
je 0x1801f2885
cmp edx, 0x84e2ce74
jne 0x1801f2860
mov byte [rax], 0
add rax, 1
cmp rax, qword [rbp - 0x50]
mov edx, 0x84e2ce74
cmove edx, ecx
jmp 0x1801f2860
mov qword [rbp + 0x4c8], r8
mov eax, dword [0x180241850]
mov ecx, dword [0x180241854]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete bl
cmp ecx, 0xa
setl r9b
mov r10d, r9d
or r10b, bl
cmp ecx, 9
setg cl
xor bl, cl
mov eax, ebx
xor al, 1
and cl, dl
or al, cl
xor al, bl
mov r8d, 0x4d09a95f
mov ebx, 0xa990ac4
cmove r8d, ebx
xor r9b, dl
mov eax, r9d
xor al, 1
or al, cl
xor al, r9b
mov r9d, 0xae23d25c
mov ecx, 0x5ac7c4c
cmove r9d, ecx
test r10b, r10b
mov r14d, 0x3af84d90
mov edx, 0x7b5f125a
cmove r14d, edx
mov eax, 0x50c75b49
cmove eax, edx
mov edi, 0x2ab8be72
cmove edi, ebx
mov r15d, 0xfc0a8944
cmove r15d, ecx
mov r12d, 0xd0869427
mov edx, 0xb4eedd90
cmove r12d, edx
mov r13d, 0xaaebbcbf
cmove r13d, edx
mov ebx, 0xa6658980
xor edx, edx
mov r10d, 0x727851a1
lea r11, [rbp + 0x1b8]
jmp 0x1801f2950
mov ebx, 0xfc0a8944
nop
mov esi, ebx
cmp ebx, 0x5ac7c4b
jle 0x1801f2990
cmp esi, 0x4d09a95e
jg 0x1801f29c0
cmp esi, 0x2ab8be71
jg 0x1801f2a5f
cmp esi, 0x5ac7c4c
je 0x1801f2949
mov ebx, esi
cmp esi, 0xa990ac4
jne 0x1801f2950
mov byte [rbp + 0x1c3], 0
mov ebx, 0x2ab8be72
jmp 0x1801f2950
cmp esi, 0xb4eedd8f
jle 0x1801f2a00
cmp esi, 0xf17b62d6
jg 0x1801f2a3b
mov ebx, eax
cmp esi, 0xb4eedd90
je 0x1801f2950
mov ebx, esi
cmp esi, 0xd0869427
jne 0x1801f2950
mov ebx, r15d
jmp 0x1801f2950
cmp esi, 0x727851a0
jle 0x1801f2a7f
cmp esi, 0x727851a1
je 0x1801f2aac
mov ebx, esi
cmp esi, 0x7b5f125a
jne 0x1801f2950
mov ecx, dword [rbp + 0x530]
mov ebx, 0x50c75b49
jmp 0x1801f2950
cmp esi, 0xa6658980
je 0x1801f2b04
cmp esi, 0xaaebbcbf
je 0x1801f2b12
mov ebx, esi
cmp esi, 0xae23d25c
jne 0x1801f2950
cmp byte [rbp + 0x520], 0
mov ebx, 0xf17b62d7
cmovne ebx, r10d
jmp 0x1801f2950
mov ebx, edi
cmp esi, 0xf17b62d7
je 0x1801f2950
mov ebx, esi
cmp esi, 0xfc0a8944
jne 0x1801f2950
mov ebx, r9d
jmp 0x1801f2950
cmp esi, 0x2ab8be72
je 0x1801f2a99
mov ebx, esi
cmp esi, 0x3af84d90
jne 0x1801f2950
mov ebx, 0xaaebbcbf
jmp 0x1801f2950
cmp esi, 0x50c75b49
jne 0x1801f2b3a
mov ecx, dword [rbp + 0x530]
mov ebx, r14d
jmp 0x1801f2950
mov byte [rbp + 0x1c3], 0
mov qword [rbp - 0x50], r11
mov ebx, r8d
jmp 0x1801f2950
mov rdx, qword [rbp + 0x4f8]
movzx esi, byte [rbp + rdx + 0x1b8]
mov ebx, dword [rbp + 0x530]
mov ecx, 5
sub ecx, ebx
add ebx, 0x1a
and ecx, 0x16
and ebx, 0xe9
or ebx, ecx
mov ecx, esi
and ecx, 0x16
or ecx, 0x60
and esi, 0xffffffe9
xor esi, ebx
xor esi, ecx
xor sil, 0x76
mov byte [rbp + rdx + 0x1b8], sil
mov edx, dword [rbp + 0x530]
add edx, 1
mov ebx, 0xa6658980
jmp 0x1801f2950
mov dword [rbp + 0x530], edx
mov ebx, r13d
jmp 0x1801f2950
movsxd rsi, dword [rbp + 0x530]
mov qword [rbp + 0x4f8], rsi
mov rsi, qword [rbp + 0x4f8]
cmp rsi, 0xb
setb byte [rbp + 0x520]
mov ebx, r12d
jmp 0x1801f2950
mov ebx, esi
cmp esi, 0x4d09a95f
jne 0x1801f2950
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x1801f2c14
mov edi, 0x277a
mov rsi, qword [rbp + 0x4c8]
cmp dword [rsi + 0x28], 2
jl 0x1801f2c16
mov rcx, qword [rbp + 0x4d0]
mov rax, qword [rcx + 0x70]
mov qword [0x1802484c0], rax
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [0x1802484b0], xmm0
movups xmm0, xmmword [rcx + 0x50]
movups xmmword [0x1802484a0], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [0x180248490], xmm0
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movups xmmword [0x180248480], xmm3
movups xmmword [0x180248470], xmm2
movups xmmword [0x180248460], xmm1
movups xmmword [0x180248450], xmm0
lea rcx, [rbp + 0x4d8]
call fcn.1801e6cf0
mov r14, rax
mov eax, dword [rbp + 0x4d8]
mov edi, 0x277a
test eax, eax
jle 0x1801f2c16
mov ecx, dword [rsi + 0x30]
imul rdx, rax, 0x274
xor eax, eax
nop dword [rax]
cmp dword [r14 + rax + 0x24], ecx
je 0x1801f2c2c
add rax, 0x274
cmp rdx, rax
jne 0x1801f2c00
jmp 0x1801f2c16
xor edi, edi
mov eax, edi
add rsp, 0x5c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, r14
add rdx, rax
lea rcx, [rbp + 0x1b8]
mov r8d, 0x274
call fcn.1801fce10
mov dword [rbp + 0x4dc], 0x104
lea rcx, [rbp + 0x1cc]
lea rdx, [rbp - 0x50]
lea r8, [rbp + 0x4dc]
lea r9, [rbp + 0x4b4]
call sub.WS2_32.dll_WSCGetProviderPath
mov edi, 0x277a
cmp eax, 0xffffffff
je 0x1801f2c16
lea rcx, [rbp - 0x50]
mov rdx, rcx
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x1801f2c16
lea rdi, [rbp + 0x4f8]
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.1801f1f30
mov rcx, rdi
call fcn.180002800
mov rcx, rax
xor edx, edx
mov r8d, 8
call fcn.1800073d0
mov r15, rax
lea rcx, [rbp + 0x4f8]
call fcn.180001c30
mov eax, dword [0x180240b08]
mov ecx, dword [0x180240b0c]
lea edx, [rax - 1]
imul edx, eax
cmp ecx, 0xa
setl al
setl byte [rbp + 0x530]
test dl, 1
sete byte [rbp + 0x520]
sete dl
mov ebx, 0x914bcf7f
mov edi, 0xe29f36ac
mov r8d, 0xe29f36ac
cmovne r8d, ebx
or dl, al
cmp ecx, 9
cmovle r8d, edi
test dl, dl
mov r9d, 0x9205d7c5
mov eax, 0x7274267c
cmove r9d, eax
mov edx, 0xf3910164
cmove edx, eax
mov eax, 0x908926c2
cmove eax, ebx
mov ecx, 0x36b50d97
mov edi, 0xf753b388
cmovne edi, ecx
mov ebx, 0xed5b20de
jmp 0x1801f2d50
test cl, cl
cmovne ebx, esi
nop word [rax + rax]
mov esi, ebx
cmp ebx, 0xf3910163
jle 0x1801f2d90
cmp esi, 0x36b50d96
jle 0x1801f2dd0
mov ebx, eax
cmp esi, 0x36b50d97
je 0x1801f2d50
mov ebx, edi
cmp esi, 0x3f3679e1
je 0x1801f2d50
mov ebx, esi
cmp esi, 0x7274267c
jne 0x1801f2d50
mov ebx, 0xf3910164
jmp 0x1801f2d50
cmp esi, 0x9205d7c4
jle 0x1801f2e00
mov ebx, edx
cmp esi, 0xe29f36ac
je 0x1801f2d50
cmp esi, 0xed5b20de
jne 0x1801f2e27
movzx ecx, byte [rbp + 0x520]
cmp byte [rbp + 0x530], 0
mov esi, 0x3f3679e1
mov ebx, 0x3f3679e1
jne 0x1801f2d45
mov ebx, 0xf753b388
jmp 0x1801f2d45
mov ebx, r9d
cmp esi, 0xf3910164
je 0x1801f2d50
mov ebx, esi
cmp esi, 0xf753b388
jne 0x1801f2d50
mov ebx, 0x3f3679e1
jmp 0x1801f2d50
mov ebx, r8d
cmp esi, 0x908926c2
je 0x1801f2d50
mov ebx, esi
cmp esi, 0x914bcf7f
jne 0x1801f2d50
mov ebx, 0x908926c2
jmp 0x1801f2d50
mov ebx, esi
cmp esi, 0x9205d7c5
jne 0x1801f2d50
mov qword [rbp + 0x4c0], r15
mov eax, dword [0x180241858]
mov ecx, dword [0x18024185c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x53f]
cmp ecx, 0xa
setl byte [rbp + 0x52c]
lea r8, [rbp + 0x502]
mov edi, 0x3a5689fd
lea r9, [rbp + 0x503]
mov edx, 0x83f9d434
movabs r11, 0x55527e6a4e4c484d
mov r10d, 0x52fb34d2
mov r15d, 0x9af50bcd
mov esi, dword [0x180241858]
lea ebx, [rsi - 1]
imul ebx, esi
test bl, 1
mov ebx, 0xb8811ab4
cmove ebx, edx
cmp dword [0x18024185c], 0xa
cmovl ebx, edx
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp edi, 0xbda15c30
jle 0x1801f2f10
cmp edi, 0xbda15c31
je 0x1801f2f64
cmp edi, 0x52fb34d2
je 0x1801f2f91
cmp edi, 0x3a5689fd
jne 0x1801f2ec0
movzx eax, byte [rbp + 0x53f]
cmp byte [rbp + 0x52c], 0
mov edi, 0xb8811ab4
cmovne edi, r15d
test al, al
cmovne edi, r15d
jmp 0x1801f2ec0
cmp edi, 0x83f9d434
je 0x1801f2f80
cmp edi, 0x9af50bcd
je 0x1801f2f3f
cmp edi, 0xb8811ab4
jne 0x1801f2ec0
mov qword [rbp + 0x4f8], r11
mov word [rbp + 0x500], 0x5357
mov edi, 0x9af50bcd
jmp 0x1801f2ec0
mov qword [rbp + 0x4f8], r11
mov word [rbp + 0x500], 0x5357
mov qword [rbp + 0x520], r8
mov qword [rbp + 0x530], r9
mov edi, ebx
jmp 0x1801f2ec0
mov byte [rcx], 0
add rcx, 1
cmp rcx, qword [rbp + 0x530]
mov edi, 0xbda15c31
cmove edi, r10d
jmp 0x1801f2e90
mov edi, 0xbda15c31
mov rcx, qword [rbp + 0x520]
jmp 0x1801f2e90
mov eax, dword [0x180240958]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete byte [rbp + 0x53e]
mov eax, dword [0x18024095c]
sete cl
cmp eax, 0xa
setl al
setl byte [rbp + 0x53d]
or al, cl
mov ecx, 0xe75663f7
mov eax, 0x7b0b7f
cmove ecx, eax
mov dword [rbp + 0x4e0], ecx
mov edx, 0xbb539c5e
mov ecx, 0x789a6a91
cmove edx, ecx
mov dword [rbp + 0x4e4], edx
mov r9d, 0x86765728
cmove r9d, ecx
mov r12d, 0xbe116c63
cmove r12d, eax
mov eax, 0x63cc1b5a
mov ecx, 0x2770fcde
cmove eax, ecx
mov dword [rbp + 0x4e8], eax
mov r11d, 0x368ba8a8
cmove r11d, ecx
mov r10d, 0x1ccf4460
mov edx, 0xdbfca7c8
cmove r10d, edx
mov eax, 0x7a4d5c38
cmove eax, edx
mov dword [rbp + 0x4ec], eax
mov eax, 0x921efd30
mov edx, 0xa69d0ae8
cmove eax, edx
mov dword [rbp + 0x4f0], eax
mov eax, 0x2ffebf1d
mov edx, 0x5bdddf6d
cmove eax, edx
mov dword [rbp + 0x4f4], eax
mov r13d, 0x7ba36cdf
cmove r13d, edx
mov edx, 0x4486d92b
jmp 0x1801f3080
mov byte [rbp + 0x502], 0
mov edx, 0x86765728
nop word cs:[rax + rax]
mov r8d, edx
cmp edx, 0x2770fcdd
jle 0x1801f30e0
cmp r8d, 0x58f4c970
jle 0x1801f3140
cmp r8d, 0x789a6a90
jg 0x1801f3212
mov edx, r12d
cmp r8d, 0x58f4c971
je 0x1801f3080
cmp r8d, 0x5bdddf6d
je 0x1801f32ce
mov edx, r8d
cmp r8d, 0x63cc1b5a
jne 0x1801f3080
cmp byte [rbp + 0x53f], 0
mov edx, 0x58f4c971
mov eax, 0x4ad482c7
cmovne edx, eax
jmp 0x1801f3080
cmp r8d, 0xbe116c62
jle 0x1801f31d0
cmp r8d, 0xe75663f6
jg 0x1801f324a
mov edx, r9d
cmp r8d, 0xbe116c63
je 0x1801f3080
mov edx, r13d
cmp r8d, 0xbe6c591d
je 0x1801f3080
mov edx, r8d
cmp r8d, 0xdbfca7c8
jne 0x1801f3080
mov edx, 0x7a4d5c38
jmp 0x1801f3080
cmp r8d, 0x368ba8a7
jle 0x1801f327c
cmp r8d, 0x368ba8a8
je 0x1801f32d8
cmp r8d, 0x4486d92b
je 0x1801f3303
mov edx, r8d
cmp r8d, 0x4ad482c7
jne 0x1801f3080
mov rdx, qword [rbp + 0x520]
movzx ecx, byte [rbp + rdx + 0x4f8]
mov esi, dword [rbp + 0x52c]
lea eax, [rsi + 0x1a]
mov ebx, ecx
not ebx
and ebx, eax
mov edi, 0xe5
sub edi, esi
and edi, 0x98
and eax, 0x67
or eax, edi
xor eax, ecx
xor eax, 0x98
and eax, ecx
or eax, ebx
mov byte [rbp + rdx + 0x4f8], al
mov r15d, dword [rbp + 0x52c]
add r15d, 1
mov edx, 0x941d3a9d
jmp 0x1801f3080
cmp r8d, 0x941d3a9c
jle 0x1801f32a4
cmp r8d, 0x941d3a9d
je 0x1801f3328
cmp r8d, 0xa69d0ae8
je 0x1801f333a
mov edx, r8d
cmp r8d, 0xbb539c5e
jne 0x1801f3080
mov edx, dword [rbp + 0x4e0]
jmp 0x1801f3080
cmp r8d, 0x789a6a91
je 0x1801f306a
mov edx, r10d
cmp r8d, 0x7a4d5c38
je 0x1801f3080
mov edx, r8d
cmp r8d, 0x7ba36cdf
jne 0x1801f3080
mov edx, dword [rbp + 0x4f4]
jmp 0x1801f3080
cmp r8d, 0x7b0b7f
je 0x1801f3344
mov edx, r11d
cmp r8d, 0x1ccf4460
je 0x1801f3080
mov edx, r8d
cmp r8d, 0xe75663f7
jne 0x1801f3080
jmp 0x1801f3385
cmp r8d, 0x2770fcde
je 0x1801f3355
mov edx, r8d
cmp r8d, 0x2ffebf1d
jne 0x1801f3080
mov edx, dword [rbp + 0x4f0]
jmp 0x1801f3080
cmp r8d, 0x86765728
je 0x1801f3365
mov edx, r8d
cmp r8d, 0x921efd30
jne 0x1801f3080
mov edx, 0x941d3a9d
xor r15d, r15d
jmp 0x1801f3080
mov edx, 0x7ba36cdf
jmp 0x1801f3080
movsxd rdx, dword [rbp + 0x52c]
mov qword [rbp + 0x520], rdx
mov rdx, qword [rbp + 0x520]
cmp rdx, 0xa
setb byte [rbp + 0x53f]
mov edx, dword [rbp + 0x4e8]
jmp 0x1801f3080
movzx ebx, byte [rbp + 0x53e]
cmp byte [rbp + 0x53d], 0
mov edx, 0xa69d0ae8
mov eax, 0xbe6c591d
cmovne edx, eax
test bl, bl
cmovne edx, eax
jmp 0x1801f3080
mov dword [rbp + 0x52c], r15d
mov edx, dword [rbp + 0x4ec]
jmp 0x1801f3080
mov edx, 0xbe6c591d
jmp 0x1801f3080
mov byte [rbp + 0x502], 0
mov edx, 0xbe116c63
jmp 0x1801f3080
mov eax, dword [rbp + 0x52c]
mov edx, 0x368ba8a8
jmp 0x1801f3080
mov byte [rbp + 0x502], 0
lea rax, [rbp + 0x4f8]
mov qword [rbp + 0x530], rax
mov edx, dword [rbp + 0x4e4]
jmp 0x1801f3080
mov rdx, qword [rbp + 0x530]
mov rcx, qword [rbp + 0x4c0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [rbp + 0x1e0], 1
mov r8, qword [rbp + 0x4c8]
lea rcx, [rbp + 0x1b8]
cmove r8, rcx
mov rcx, qword [rbp + 0x4d0]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movaps xmmword [rbp + 0x430], xmm0
movaps xmmword [rbp + 0x440], xmm1
movaps xmmword [rbp + 0x450], xmm2
movaps xmmword [rbp + 0x460], xmm3
movups xmm0, xmmword [rcx + 0x40]
movaps xmmword [rbp + 0x470], xmm0
movups xmm0, xmmword [rcx + 0x50]
movaps xmmword [rbp + 0x480], xmm0
movups xmm0, xmmword [rcx + 0x60]
movaps xmmword [rbp + 0x490], xmm0
mov rcx, qword [rcx + 0x70]
mov qword [rbp + 0x4a0], rcx
mov rsi, qword [rbp + 0x5b0]
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x430]
movzx ecx, word [rbp + 0x51e]
mov rdx, qword [rbp + 0x4b8]
call rax
mov edi, eax
lea rcx, [0x1802484c8]
mov r8d, 0xf0
mov rdx, rsi
call fcn.1801fce10
lea rcx, [0x1802487c8]
mov r8d, 0xf0
mov rdx, rsi
call fcn.1801fce10
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x1801f2c16