Function at 0x1400013a0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov r13d, dword [0x140002030]
mov qword [rsp + 0xa0], rcx
cmp r13d, 0xffffffff
je 0x140001468
sub r13d, 1
js 0x140001422
mov rax, qword [rsp + 0xa0]
mov r12, qword [0x140006128]
xor r14d, r14d
mov rdi, qword [sym.imp.ucrtbase.dll_strcmp]
lea rbp, [rax + 1]
jmp 0x1400013f9
lea r14d, [rsi + 1]
cmp r14d, r13d
jg 0x140001422
lea esi, [r13 + r14]
mov rcx, rbp
sar esi, 1
movsxd rbx, esi
shl rbx, 4
add rbx, r12
lea rdx, [rbx + 1]
call rdi
test eax, eax
je 0x140001460
jns 0x1400013f0
lea r13d, [rsi - 1]
cmp r14d, r13d
jle 0x1400013f9
mov rdi, qword [rsp + 0xa0]
movzx eax, byte [0x140002034]
cmp byte [rdi], 0
js 0x140001450
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [rsp + 0xa0]
mov byte [rdi], al
jmp 0x140001436
movzx eax, byte [rbx]
jmp 0x140001436
lea rcx, str.WINEDEBUG
call qword [sym.imp.ucrtbase.dll_getenv]
mov dword [0x140002030], 0
mov rcx, rax
test rax, rax
je 0x140001422
call qword [sym.imp.ucrtbase.dll__strdup]
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400015ba
mov r15, qword [rsp + 0x28]
mov edx, 0x2c
mov rcx, r15
xor ebp, ebp
call qword [sym.imp.ucrtbase.dll_strchr]
test rax, rax
je 0x1400014bc
mov byte [rax], 0
lea rbp, [rax + 1]
lea rdx, [0x1400030d0]
mov rcx, r15
call qword [sym.imp.ucrtbase.dll_strcspn]
lea r13, [r15 + rax]
mov rbx, rax
movzx esi, byte [r13]
test sil, sil
je 0x140001558
cmp r13, r15
jbe 0x1400015f0
mov eax, 5
xor r14d, r14d
lea r12, str.fixme
cdqe
cmp rax, rbx
jne 0x140001512
mov r8, rbx
mov rdx, r12
mov rcx, r15
call sym.memcmp
test eax, eax
je 0x14000173b
add r14, 1
cmp r14, 4
je 0x140001548
lea rax, str.fixme
mov r12, qword [rax + r14*8]
mov rcx, r12
call qword [sym.imp.ucrtbase.dll_strlen]
cdqe
cmp rax, rbx
je 0x1400014fc
add r14, 1
cmp r14, 4
jne 0x14000151c
nop dword [rax]
test rbp, rbp
je 0x1400015af
mov r15, rbp
jmp 0x1400014a0
movzx esi, byte [r15]
cmp sil, 0x2d
je 0x1400015d0
lea ebx, [rsi - 0x2b]
and ebx, 0xfd
je 0x140001690
mov r12d, 0xffffffff
xor ebx, ebx
test sil, sil
je 0x140001548
mov ecx, 4
mov rsi, r15
lea rdi, [0x1400030d3]
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x140001600
not ebx
and bl, byte [0x140002034]
or r12d, ebx
mov byte [0x140002034], r12b
test rbp, rbp
jne 0x14000154d
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ucrtbase.dll_free]
mov r13d, dword [0x140002030]
jmp 0x1400013c9
mov ebx, 0xffffffff
xor r12d, r12d
mov r13, r15
movzx esi, byte [r13 + 1]
lea r15, [r13 + 1]
jmp 0x140001579
mov r15, r13
jmp 0x14000155c
mov rcx, r15
call qword [sym.imp.ucrtbase.dll_strlen]
mov qword [rsp + 0x30], rax
cmp rax, 0xe
ja 0x140001548
mov eax, dword [0x140002030]
mov rcx, qword [0x140006128]
mov dword [rsp + 0x48], eax
sub eax, 1
mov qword [rsp + 0x38], rcx
mov r14d, eax
js 0x140001858
mov rax, qword [sym.imp.ucrtbase.dll_strcmp]
xor edi, edi
mov qword [rsp + 0x40], rbp
mov byte [rsp + 0x4f], bl
mov ebp, edi
mov ebx, r14d
mov r14, rcx
mov rdi, rax
jmp 0x140001668
lea ebp, [r13 + 1]
cmp ebp, ebx
jg 0x1400016b7
lea r13d, [rbx + rbp]
mov rcx, r15
sar r13d, 1
movsxd rsi, r13d
shl rsi, 4
add rsi, r14
lea rdx, [rsi + 1]
call rdi
test eax, eax
je 0x14000169e
jns 0x140001660
lea ebx, [r13 - 1]
jmp 0x140001664
mov r13, r15
mov r12d, 0xffffffff
jmp 0x1400015db
movzx ebx, byte [rsp + 0x4f]
mov rbp, qword [rsp + 0x40]
not ebx
and bl, byte [rsi]
or r12d, ebx
mov byte [rsi], r12b
jmp 0x140001548
movsxd rsi, ebp
movzx ebx, byte [rsp + 0x4f]
mov rbp, qword [rsp + 0x40]
mov rdi, rsi
shl rsi, 4
mov eax, dword [0x140006130]
cmp dword [rsp + 0x48], eax
jge 0x1400017e9
add rsi, qword [rsp + 0x38]
cmp edi, dword [rsp + 0x48]
jl 0x1400017bb
mov rdi, qword [rsp + 0x30]
lea rax, [rsi + 1]
add rdi, 1
cmp edi, 8
jae 0x140001771
test dil, 4
jne 0x140001870
test edi, edi
je 0x14000171b
movzx edx, byte [r15]
mov byte [rsi + 1], dl
test dil, 2
jne 0x140001886
mov eax, dword [rsp + 0x48]
not ebx
and bl, byte [0x140002034]
or r12d, ebx
add eax, 1
mov byte [rsi], r12b
mov dword [0x140002030], eax
jmp 0x140001548
mov r12d, 1
mov ecx, r14d
shl r12d, cl
mov ebx, r12d
cmp sil, 0x2b
je 0x14000184e
sub esi, 0x2b
and esi, 0xfd
mov r12d, esi
je 0x1400015db
mov r15, r13
xor r12d, r12d
jmp 0x14000157e
mov rdx, qword [r15]
lea r8, [rsi + 9]
and r8, 0xfffffffffffffff8
mov qword [rsi + 1], rdx
mov edx, edi
mov rcx, qword [r15 + rdx - 8]
mov qword [rax + rdx - 8], rcx
sub rax, r8
add edi, eax
sub r15, rax
and edi, 0xfffffff8
cmp edi, 8
jb 0x14000171b
and edi, 0xfffffff8
xor eax, eax
mov edx, eax
add eax, 8
mov rcx, qword [r15 + rdx]
mov qword [r8 + rdx], rcx
cmp eax, edi
jb 0x1400017a5
jmp 0x14000171b
mov r8d, dword [rsp + 0x48]
lea eax, [rdi + 1]
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
cdqe
sub r8d, edi
shl rax, 4
movsxd r8, r8d
add rcx, rax
shl r8, 4
call qword [sym.imp.ucrtbase.dll_memmove]
jmp 0x1400016ea
add eax, eax
mov edx, 0x10
cmp eax, 0x10
cmovl eax, edx
mov dword [0x140006130], eax
cdqe
shl rax, 4
mov r8, rax
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
cmp qword [rsp + 0x38], 0
mov rcx, qword [rax + 0x30]
je 0x140001861
mov r9, r8
xor edx, edx
mov r8, qword [rsp + 0x38]
call qword [sym.imp.kernel32.dll_HeapReAlloc]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [0x140006128], rax
mov eax, dword [0x140002030]
mov dword [rsp + 0x48], eax
jmp 0x1400016db
mov r15, r13
xor ebx, ebx
jmp 0x1400015d8
xor esi, esi
xor edi, edi
jmp 0x1400016cb
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov qword [rsp + 0x38], rax
jmp 0x140001833
mov edx, dword [r15]
mov dword [rsi + 1], edx
mov edx, edi
mov ecx, dword [r15 + rdx - 4]
mov dword [rax + rdx - 4], ecx
jmp 0x14000171b
mov edx, edi
movzx ecx, word [r15 + rdx - 2]
mov word [rax + rdx - 2], cx
jmp 0x14000171b