Function at 0x180047d70
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rbp, rcx
mov r14, r9
mov ecx, dword [rsp + 0xd0]
mov rsi, r8
imul eax, ecx, 0x5c2
mov r13, rdx
mov r15d, ecx
mov dword [rsp + 0x50], eax
cmp ecx, eax
ja 0x1800481c8
mov r12, qword [rsp + 0x60]
xor r8d, r8d
mov ebx, dword [rsp + 0xd0]
mov edx, 0x1ff
cmp r15d, 0x5c49
ja 0x180047fe9
je 0x180047e6e
mov eax, r15d
sub eax, 0x94
je 0x180047e58
sub eax, 0x1b
je 0x180047e4f
sub eax, 0x64
je 0x180047e46
sub eax, 0x11
je 0x180047e0b
cmp eax, 0x4ce8
je 0x1800481c8
jmp 0x1800481af
movzx eax, word [r14]
and ax, dx
xor edx, edx
mov word [r13 + 6], ax
mov r8d, dword [r14]
movzx eax, word [rsi + 0x18]
movzx ecx, word [rsi + 0x1a]
imul ecx, eax
shr r8d, 9
add r8d, dword [rsi + 0xc]
mov eax, r8d
mov dword [rsp + 0x40], r8d
div ecx
xor r8d, r8d
mov word [r13], ax
jmp 0x1800481a8
mov dword [r13 + 0x10], r8d
jmp 0x1800481af
mov r12, qword [r13 + 0x18]
jmp 0x1800481af
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov qword [rsp + 0x58], rax
xor r8d, r8d
jmp 0x1800481a8
mov rax, qword [r14]
mov edi, r8d
mov rcx, rbp
mov r10d, r8d
mov r11d, dword [rax + 0x18]
test r11d, r11d
jle 0x180047f0b
cmp r11d, 8
jb 0x180047f0b
mov eax, r11d
and eax, 0x80000007
jge 0x180047ea2
dec eax
or eax, 0xfffffff8
inc eax
mov edx, r11d
xorps xmm3, xmm3
sub edx, eax
xorps xmm2, xmm2
nop dword [rax]
movd xmm1, dword [rcx]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
add r10d, 8
punpcklwd xmm1, xmm0
paddd xmm1, xmm3
movdqa xmm3, xmm1
movd xmm1, dword [rcx + 4]
punpcklbw xmm1, xmm0
add rcx, 8
punpcklwd xmm1, xmm0
paddd xmm1, xmm2
movdqa xmm2, xmm1
cmp r10d, edx
jl 0x180047eb0
paddd xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd edi, xmm2
mov edx, r8d
cmp r10d, r11d
jge 0x180047f66
mov eax, r11d
sub eax, r10d
cmp eax, 2
jl 0x180047f56
mov eax, r11d
sub eax, r10d
sub eax, 2
shr eax, 1
inc eax
mov r9d, eax
lea r10d, [r10 + rax*2]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
add edx, eax
movzx eax, byte [rcx + 1]
add r8d, eax
add rcx, 2
sub r9, 1
jne 0x180047f40
cmp r10d, r11d
jge 0x180047f60
movzx eax, byte [rcx]
add edi, eax
lea eax, [r8 + rdx]
add edi, eax
mov r8d, dword [rsi]
lea rdx, str.buffer_not_allowed_on_function_parameter
mov r9d, edi
mov rcx, r12
call fcn.1800c02b0
mov rax, qword [r14]
xor r8d, r8d
mov edi, r8d
cmp dword [rax + 0x18], r8d
jle 0x1800481a0
lea r13d, [r8 + 0xa]
mov esi, edi
and esi, 0xf
jne 0x180047fab
mov r8d, edi
lea rdx, str._04x:
mov rcx, r12
call fcn.1800c02b0
movzx r8d, byte [rbp]
lea rdx, str._02x_c
mov r9d, 0x20
cmp esi, 0xf
mov rcx, r12
cmove r9d, r13d
call fcn.1800c02b0
mov rax, qword [r14]
inc edi
inc rbp
cmp edi, dword [rax + 0x18]
jl 0x180047f92
mov r13, qword [rsp + 0xb8]
xor r8d, r8d
jmp 0x180048198
cmp r15d, 0x9105
je 0x1800480e1
cmp r15d, 0x99fc
je 0x1800480c3
cmp r15d, 0x120f7
je 0x180048040
cmp r15d, 0x132d4
je 0x180048027
cmp r15d, 0x1b0e9
je 0x1800481c8
jmp 0x1800481af
movzx ecx, word [rsi + 0x1a]
xor edx, edx
mov eax, dword [rsp + 0x40]
div ecx
inc dx
mov word [r13 + 4], dx
jmp 0x1800481a8
mov rax, qword [r14]
cmp dword [rax + 0x80], 0
je 0x1800480ba
cmp qword [r13 + 0xd8], 0
je 0x180048087
mov qword [rsp + 0x38], r8
lea rcx, [r13 + 0xd8]
mov dword [rsp + 0x30], 0xc7
xor r9d, r9d
mov qword [rsp + 0x28], r8
xor edx, edx
mov qword [rsp + 0x20], r8
xor r8d, r8d
call fcn.180059440
mov rax, qword [r14]
xor r8d, r8d
mov dword [rsp + 0x48], r8d
lea r9, [rsp + 0x60]
mov r8d, 0x7e
mov qword [rsp + 0x60], rax
lea rdx, [r13 + 0xd8]
lea rcx, [rsp + 0x48]
call fcn.18009bb90
mov ecx, dword [rsp + 0xd0]
mov rbx, rax
xor r8d, r8d
mov dword [rsp + 0x58], ebx
jmp 0x1800481af
movzx ecx, word [rsi + 0x1a]
xor edx, edx
mov eax, dword [rsp + 0x40]
div ecx
movzx ecx, word [rsi + 0x18]
xor edx, edx
div ecx
mov word [r13 + 2], dx
jmp 0x1800481a8
mov ebp, r8d
lea rdi, [r13 + 0x18]
nop dword [rax + rax]
mov esi, 0x11
cmp esi, 0x11
je 0x180048179
cmp esi, 0x2b
je 0x18004816f
cmp esi, 0x45
je 0x180048169
cmp esi, 0x5f
jne 0x18004817d
cmp qword [rdi], 0
je 0x180048139
mov qword [rsp + 0x38], r8
xor r9d, r9d
mov dword [rsp + 0x30], 0xc7
xor edx, edx
mov qword [rsp + 0x28], r8
mov rcx, rdi
mov qword [rsp + 0x20], r8
xor r8d, r8d
call fcn.180059440
xor r8d, r8d
mov rax, qword [r14]
lea r9, [rsp + 0x60]
mov dword [rsp + 0x48], r8d
lea rcx, [rsp + 0x48]
mov r8d, 0x7e
mov qword [rsp + 0x60], rax
mov rdx, rdi
call fcn.18009bb90
mov ebx, eax
test eax, eax
jne 0x1800481c4
xor r8d, r8d
jmp 0x18004817d
and dword [rdi + 0x14], 0xfffffffd
jmp 0x18004817d
and dword [rdi + 0x14], 0xfffffffe
mov dword [rdi + 0x10], r8d
jmp 0x18004817d
mov qword [rdi + 8], r8
add esi, 0x1a
cmp esi, 0x79
jb 0x1800480f5
inc ebp
add rdi, 0x18
cmp ebp, 8
jl 0x1800480f0
mov rsi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0xd0]
imul eax, ecx, 0x86
add r15d, eax
cmp r15d, dword [rsp + 0x50]
ja 0x1800481c8
jmp 0x180047dca
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0xc8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret