Function at 0x140001348
Capabilities:
Query environment variable

Disassembly:
jmp 0x1400478d0
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x138
mov r15, rcx
mov rax, qword [0x14016fb98]
xor rax, rsp
mov qword [rsp + 0x128], rax
mov r13d, dword [r15 + 0x1d0]
cmp dword [0x140186310], 0
jne 0x140047ce4
lea rcx, str.FOR_FMT_TERMINATOR
lea rdx, [rsp + 0x20]
mov r8d, 0x105
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov eax, eax
test rax, rax
jbe 0x140047961
cmp rax, 0x105
jae 0x140047938
inc rax
jmp 0x140047966
xor edx, edx
lea r12, [rsp + 0x20]
mov byte [r12], dl
mov dword [0x140186314], edx
mov dword [0x140186318], edx
mov dword [0x14018631c], edx
mov dword [0x140186310], 1
jmp 0x140047992
mov byte [rsp + 0x20], 0
xor ebp, ebp
lea r12, [rsp + 0x20]
mov dword [0x140186314], ebp
mov dword [0x140186318], ebp
mov dword [0x14018631c], ebp
mov dword [0x140186310], 1
test rax, rax
je 0x140047d58
xor ebp, ebp
xor ebx, ebx
cmp byte [r12], 0
je 0x140047d58
mov rdi, r12
lea rsi, [0x14014c114]
mov dl, byte [rdi]
cmp dl, byte [rsi]
jne 0x1400479cd
test dl, dl
je 0x1400479c9
mov dl, byte [rdi + 1]
cmp dl, byte [rsi + 1]
jne 0x1400479cd
add rdi, 2
add rsi, 2
test dl, dl
jne 0x1400479ab
xor eax, eax
jmp 0x1400479d2
sbb eax, eax
or eax, 1
test eax, eax
je 0x140047d49
mov rdi, r12
lea rsi, [0x14014c110]
mov dl, byte [rdi]
cmp dl, byte [rsi]
jne 0x140047a06
test dl, dl
je 0x140047a02
mov dl, byte [rdi + 1]
cmp dl, byte [rsi + 1]
jne 0x140047a06
add rdi, 2
add rsi, 2
test dl, dl
jne 0x1400479e4
xor eax, eax
jmp 0x140047a0b
sbb eax, eax
or eax, 1
test eax, eax
je 0x140047d38
mov rdi, r12
lea rsi, str.CRLF
mov dl, byte [rdi]
cmp dl, byte [rsi]
jne 0x140047a3f
test dl, dl
je 0x140047a3b
mov dl, byte [rdi + 1]
cmp dl, byte [rsi + 1]
jne 0x140047a3f
add rdi, 2
add rsi, 2
test dl, dl
jne 0x140047a1d
xor eax, eax
jmp 0x140047a44
sbb eax, eax
or eax, 1
test eax, eax
je 0x140047d27
mov rax, r12
mov r11d, 0x3b
mov rcx, rax
and ecx, 0xf
and rax, 0xfffffffffffffff0
pxor xmm2, xmm2
movd xmm1, r11d
punpcklbw xmm1, xmm1
punpcklbw xmm1, xmm1
pshufd xmm1, xmm1, 0
movdqa xmm0, xmmword [rax]
pcmpeqb xmm2, xmm0
pcmpeqb xmm0, xmm1
pmovmskb r11d, xmm0
pmovmskb r10d, xmm2
shr r11d, cl
shr r10d, cl
test r11d, r11d
jne 0x140047a9d
test r10d, r10d
je 0x140047ab8
jmp 0x140047ab4
bsf r11d, r11d
bsf r10d, r10d
je 0x140047aac
cmp r11d, r10d
jg 0x140047ab4
add rax, rcx
add rax, r11
jmp 0x140047abd
xor eax, eax
jmp 0x140047abd
call fcn.14000242d
mov rsi, rax
test rsi, rsi
je 0x140047b20
mov rcx, r12
lea rdx, [0x14014c128]
call fcn.140002cca
cmp r12, rax
je 0x140047e32
mov rcx, r12
lea rdx, [0x14014c124]
call fcn.140002cca
cmp r12, rax
je 0x140047e1e
mov rcx, r12
lea rdx, str.CRLF_
call fcn.140002cca
cmp r12, rax
jne 0x140047cc4
mov dword [0x140186314], 8
mov ebp, 8
lea r12, [rsi + 1]
mov rax, r12
mov r11d, 0x3a
mov rcx, rax
and ecx, 0xf
and rax, 0xfffffffffffffff0
pxor xmm2, xmm2
movd xmm1, r11d
punpcklbw xmm1, xmm1
punpcklbw xmm1, xmm1
pshufd xmm1, xmm1, 0
movdqa xmm0, xmmword [rax]
pcmpeqb xmm2, xmm0
pcmpeqb xmm0, xmm1
pmovmskb r11d, xmm0
pmovmskb r10d, xmm2
shr r11d, cl
shr r10d, cl
test r11d, r11d
jne 0x140047b71
test r10d, r10d
je 0x140047b8c
jmp 0x140047b88
bsf r11d, r11d
bsf r10d, r10d
je 0x140047b80
cmp r11d, r10d
jg 0x140047b88
add rax, rcx
add rax, r11
jmp 0x140047b91
xor eax, eax
jmp 0x140047b91
call fcn.14000242d
mov rsi, rax
test rsi, rsi
je 0x140047e14
mov rcx, r12
lea rdx, [0x14014c13c]
call fcn.140002cca
cmp r12, rax
je 0x140047e0a
mov rcx, r12
lea rdx, [0x14014c138]
call fcn.140002cca
cmp r12, rax
je 0x140047e00
mov rcx, r12
lea rdx, str.CRLF:
call fcn.140002cca
cmp r12, rax
jne 0x140047cc4
mov edx, 8
lea r12, [rsi + 1]
xor esi, esi
cmp edx, ebp
mov ebp, esi
cmovne ebp, edx
cmove edx, esi
cmp byte [r12], 0
je 0x140047cc4
lea r11, [0x140000000]
xor r10d, r10d
movsx r9d, byte [r12]
test r9d, r9d
je 0x140047c7e
test esi, esi
je 0x140047c62
cmp esi, 2
je 0x140047c62
cmp esi, 1
jne 0x140047c3a
mov r8d, r9d
and r8d, 0xfffffffe
cmp r8d, 0x2c
je 0x140047d99
jmp 0x140047c43
cmp esi, 3
jne 0x140047cc4
cmp r9d, 0x2c
je 0x140047ddf
lea r8d, [r9 - 0x30]
cmp r8d, 9
ja 0x140047cc4
lea r8d, [r14 + r14*4]
lea r14d, [r9 + r8*2 - 0x30]
jmp 0x140047c6e
lea r14d, [r9 - 0x30]
cmp r14d, 9
ja 0x140047cc4
inc esi
inc r12
cmp rbx, 0x40
jl 0x140047c0f
cmp byte [r12], 0
jne 0x140047cc4
mov al, byte [r12 - 1]
cmp al, 0x2c
je 0x140047cc4
cmp al, 0x2d
je 0x140047cc4
cmp esi, 1
je 0x140047db5
lea rax, [0x140000000]
cmp r14d, dword [rax + rbx*4 + 0x186100]
jl 0x140047cc4
lea rax, [0x140000000]
mov dword [0x140186318], edx
mov dword [rax + rbx*4 + 0x186200], r14d
inc ebx
mov dword [0x14018631c], ebx
jmp 0x140047cea
mov ecx, 0x60
xor edx, edx
xor eax, eax
mov dword [0x140186314], eax
mov dword [0x140186318], eax
mov dword [0x14018631c], eax
call fcn.1400035df
mov ebp, dword [0x140186318]
test ebp, ebp
je 0x140047d1f
movsxd rax, dword [0x14018631c]
xor edx, edx
test rax, rax
jle 0x140047d1f
lea rcx, [0x140000000]
cmp r13d, dword [rcx + rdx*4 + 0x186100]
jl 0x140047d17
cmp r13d, dword [rcx + rdx*4 + 0x186200]
jle 0x140047d58
inc rdx
cmp rdx, rax
jl 0x140047d03
mov ebp, dword [0x140186314]
jmp 0x140047d58
mov dword [0x140186314], 8
mov ebp, 8
jmp 0x140047d58
mov dword [0x140186314], 6
mov ebp, 6
jmp 0x140047d58
mov dword [0x140186314], 7
mov ebp, 7
test ebp, ebp
je 0x140047d6b
mov byte [r15 + 0x266], bpl
mov byte [r15 + 0x268], 3
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140047e46
xor eax, eax
add rsp, 0x138
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov dword [r11 + rbx*4 + 0x186100], r14d
cmp r9d, 0x2d
jne 0x140047c43
mov esi, 2
jmp 0x140047c6e
lea rax, [0x140000000]
mov dword [0x140186318], edx
mov dword [rax + rbx*4 + 0x186100], r14d
mov dword [rax + rbx*4 + 0x186200], r14d
inc ebx
mov dword [0x14018631c], ebx
jmp 0x140047cea
cmp r14d, dword [r11 + rbx*4 + 0x186100]
jl 0x140047cc4
mov dword [r11 + rbx*4 + 0x186200], r14d
inc rbx
mov esi, r10d
jmp 0x140047c6e
mov edx, 6
jmp 0x140047bea
mov edx, 7
jmp 0x140047bea
mov edx, 7
jmp 0x140047bee
mov dword [0x140186314], 6
mov ebp, 6
jmp 0x140047b1c
mov dword [0x140186314], 7
mov ebp, 7
jmp 0x140047b1c
call fcn.140003bcf
nop
nop dword [rax]
int3