Function at 0x180043710
Capabilities:
Query environment variable

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xa0
lea rbp, [rsp + 0x20]
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc0], rdi
movaps xmmword [rbp + 0x70], xmm6
movaps xmmword [rbp + 0x60], xmm7
movaps xmmword [rbp + 0x50], xmm8
mov rax, qword [0x180081de0]
xor rax, rbp
mov qword [rbp + 0x40], rax
mov ebx, dword [rbp + 8]
lea eax, [rdx + 0xb]
mov qword [rbp + 0x20], r8
mov r13, r9
mov qword [rbp + 0x28], rcx
mov dword [rbp], eax
cmp edx, eax
jae case.0x1800437dd.2
movss xmm8, dword [0x18007b870]
lea r9d, [rdx - 0x115]
mov r12, qword [rbp + 0x28]
lea rdx, [0x180000000]
mov rdi, qword [rbp + 0x28]
movabs r10, 0xffffffffffffff0
mov rsi, qword [rbp + 0x28]
mov ecx, eax
mov r15, qword [rbp + 0x28]
mov r14, qword [rbp + 0x28]
movss xmm6, dword [rbp + 8]
movss xmm7, dword [rbp + 8]
mov dword [rbp + 0x18], r9d
nop word [rax + rax]
cmp r9d, 0x27
ja case.default.0x1800437dd
movzx eax, byte [rdx + r9 + 0x43d20]
mov ecx, dword [rdx + rax*4 + 0x43cf0]
add rcx, rdx
jmp rcx
cmp dword [r8], 0
jl case.0x1800437dd.11
lea rcx, str.RC_STUB_BAR_FINAL_BAR
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x180043824
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov r8, qword [rbp + 0x20]
mov ecx, eax
test eax, eax
js 0x180043828
mov eax, dword [r8]
mov r9d, dword [rbp + 0x18]
imul eax, ecx
mov dword [r8], eax
mov dword [r13 + 8], eax
jmp 0x180043c16
mov r8, qword [rbp + 0x20]
mov eax, dword [r8]
mov r9d, dword [rbp + 0x18]
mov dword [r13 + 8], eax
jmp 0x180043c16
xor edx, edx
mov r8, r13
lea ecx, [rdx + 0x6f]
call fcn.1800314f0
mov r8, qword [rbp + 0x20]
mov r9d, dword [rbp + 0x18]
mov eax, dword [r8]
add dword [r13], eax
mov ebx, dword [r13]
jmp 0x180043c16
mov r8d, StrCmpCA
mov rdx, r13
mov rcx, r12
call fcn.180056460
movsxd rcx, dword [rbp + 0x14]
mov rax, qword [r13 + 8]
mov r8, qword [rbp + 0x28]
movsxd r10, dword [rbp + 0x30]
lea rdi, [rax + rcx*4]
xor eax, eax
lea rsi, [r8 + rcx*4]
mov dword [rbp + 0x10], eax
xor ecx, ecx
test r10d, r10d
jle 0x180043c0e
mov dword [rbp + 0x10], r10d
nop word [rax + rax]
mov eax, 0xf4
cmp eax, 0xf4
je 0x1800438e1
cmp eax, 0x80ac
jne 0x18004390b
movss xmm1, dword [rdi + 4]
mulss xmm1, dword [r12]
movss xmm0, dword [r12 + 4]
add r12, 8
mulss xmm0, dword [rdi]
add rdi, 8
subss xmm1, xmm0
mulss xmm1, dword [r13 + 0x18]
movss dword [rsi], xmm1
jmp 0x18004390b
movss xmm1, dword [rdi + 4]
sub rsi, 4
mulss xmm1, dword [r12 + 4]
movss xmm0, dword [rdi]
mulss xmm0, dword [r12]
addss xmm1, xmm0
mulss xmm1, dword [r13 + 0x18]
movss dword [r8 + rcx*4], xmm1
add eax, 0x7fb8
cmp eax, 0xff70
jbe 0x1800438a5
inc rcx
cmp rcx, r10
jl 0x1800438a0
jmp 0x180043c0e
movsxd rcx, dword [rbp + 0x14]
mov rax, qword [r13 + 8]
lea rdi, [rax + rcx*4]
jmp case.0x1800437dd.11
mov ecx, dword [r13]
mov eax, ecx
sar eax, 1
mov r10d, ecx
sar r10d, 2
mov r11d, ecx
sar r11d, 3
mov dword [rbp + 0x38], r11d
mov dword [rbp + 0x34], ecx
mov dword [rbp + 0x14], eax
mov dword [rbp + 0x30], r10d
jmp 0x180043c1d
movsxd rax, dword [rbp + 0x34]
shl rax, 2
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x180043972
mov rcx, r10
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.18005fe60
movsxd rax, dword [rbp + 0x30]
sub rsp, rcx
movsxd rcx, dword [rbp + 0x14]
lea r12, [rsp + 0x20]
lea r15, [r12 + rcx*4]
add rcx, rax
lea rsi, [r8 + rcx*4]
lea r14, [rsi + 4]
jmp 0x180043c1d
movsxd r11, dword [rbp + 0x38]
xor r10d, r10d
xor ecx, ecx
mov dword [rbp + 0x10], r10d
test r11d, r11d
jle 0x180043a5a
lea rax, [r11 - 1]
shr rax, 1
lea r10d, [rax*2 + 2]
mov dword [rbp + 0x10], r10d
nop dword [rax + rax]
mov eax, StrCmpCA
cmp eax, 0x97
je 0x180043a0c
cmp eax, 0x5c9b
je 0x1800439f0
cmp eax, 0xb89f
jne 0x180043a41
add r14, 0x10
jmp 0x180043a41
movaps xmm1, xmm7
movaps xmm0, xmm6
mulss xmm1, dword [rdi]
mulss xmm0, dword [rdi + 4]
subss xmm1, xmm0
movss dword [r15 + rcx*4 + 4], xmm1
jmp 0x180043a41
movss xmm6, dword [rsi - 8]
sub rsi, 0x10
movss xmm7, dword [r14 + 8]
sub rdi, 8
addss xmm6, dword [r14]
addss xmm7, dword [rsi]
movaps xmm0, xmm6
mulss xmm0, dword [rdi]
movaps xmm1, xmm7
mulss xmm1, dword [rdi + 4]
addss xmm1, xmm0
movss dword [r15 + rcx*4], xmm1
add eax, 0x5c04
cmp eax, 0x1140c
jbe 0x1800439d5
add rcx, 2
cmp rcx, r11
jl 0x1800439d0
mov eax, dword [rbp + 0x14]
lea r14, [r8 + 4]
sub eax, r11d
movsxd rdx, eax
cmp rcx, rdx
jge 0x180043b28
mov rax, rdx
sub rax, rcx
dec rax
shr rax, 1
lea r10d, [r10 + rax*2]
add r10d, 2
mov dword [rbp + 0x10], r10d
nop dword [rax + rax]
mov eax, 0x93
cmp eax, 0x93
je 0x180043aee
cmp eax, 0x239a
je 0x180043ad3
cmp eax, 0x46a1
je 0x180043ab7
cmp eax, 0x69a8
jne 0x180043b0b
add r14, 0x10
jmp 0x180043b0b
movaps xmm1, xmm7
movaps xmm0, xmm6
mulss xmm1, dword [rdi]
mulss xmm0, dword [rdi + 4]
subss xmm1, xmm0
pop rsp
enter 0x41f3, 0xf
adc dword [rdi + rcx*4 + 4], ecx
jmp 0x180043b0b
movaps xmm1, xmm7
movaps xmm0, xmm6
mulss xmm1, dword [rdi + 4]
mulss xmm0, dword [rdi]
addss xmm1, xmm0
movss dword [r15 + rcx*4], xmm1
jmp 0x180043b0b
movss xmm6, dword [rsi - 8]
sub rdi, 8
movss xmm7, dword [rsi - 0x10]
sub rsi, 0x10
subss xmm6, dword [r14]
subss xmm7, dword [r14 + 8]
add eax, 0x2307
cmp eax, 0x8c1c
jbe 0x180043a95
add rcx, 2
cmp rcx, rdx
jl 0x180043a90
movsxd rax, dword [rbp + 0x34]
lea rsi, [r8 + rax*4]
jmp 0x180043c16
movsxd r10, dword [rbp + 0x10]
movsxd r8, dword [rbp + 0x14]
mov rdx, r10
cmp r10, r8
jge 0x180043c12
mov rax, r8
sub rax, rdx
dec rax
shr rax, 1
lea r10d, [r10 + rax*2]
add r10d, 2
mov dword [rbp + 0x10], r10d
mov ecx, 0x113
mov eax, ecx
sub eax, 0x113
je 0x180043bc2
sub eax, 0x1c
je 0x180043bb2
cmp eax, 0x1c
jne 0x180043bd8
movaps xmm0, xmm6
movaps xmm1, xmm7
mulss xmm0, dword [rdi]
movaps xmm2, xmm7
add r14, 0x10
mulss xmm1, dword [rdi + 4]
addss xmm1, xmm0
movaps xmm0, xmm6
movss dword [r15 + rdx*4], xmm1
mulss xmm2, dword [rdi]
mulss xmm0, dword [rdi + 4]
subss xmm2, xmm0
movss dword [r15 + rdx*4 + 4], xmm2
jmp 0x180043bd8
movss xmm7, dword [rsi]
xorps xmm7, xmm8
subss xmm7, dword [r14 + 8]
jmp 0x180043bd8
movss xmm6, dword [rsi - 8]
sub rdi, 8
sub rsi, 0x10
xorps xmm6, xmm8
xorps xmm6, xmm0
subss xmm6, dword [r14]
add ecx, 0x1c
cmp ecx, 0x167
jb 0x180043b66
add rdx, 2
cmp rdx, r8
jl 0x180043b61
jmp 0x180043c12
movsxd rax, dword [rbp + 0x14]
lea r9, [rbp + 8]
mov r8, r13
mov dword [rbp + 8], eax
mov edx, 0x48
lea rcx, [r12 + rax*4]
call fcn.180039d40
mov r9d, dword [rbp + 0x18]
mov r8, qword [rbp + 0x20]
lea rdx, [0x180000000]
movabs r10, 0xffffffffffffff0
mov ecx, dword [rbp]
inc r9d
mov dword [rbp + 0x18], r9d
lea eax, [r9 + 0x115]
cmp eax, ecx
jb 0x1800437c0
mov eax, ebx
mov rcx, qword [rbp + 0x40]
xor rcx, rbp
call fcn.18005fed0
mov rbx, qword [rbp + 0xb0]
mov rsi, qword [rbp + 0xb8]
mov rdi, qword [rbp + 0xc0]
movaps xmm6, xmmword [rbp + 0x70]
movaps xmm7, xmmword [rbp + 0x60]
movaps xmm8, xmmword [rbp + 0x50]
lea rsp, [rbp + 0x80]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
movsxd rax, dword [r8]
mov ecx, dword [r13 + 0x40]
cmp eax, ecx
jl 0x180043ca7
lea eax, [rcx - 1]
mov r9, r13
xor ecx, ecx
mov dword [rbp + 8], eax
lea r8, [rbp + 8]
mov edx, 0x12b
call fcn.180043710
jmp 0x180043c42
cmp dword [r13 + 8], 0
jne 0x180043cd1
test eax, eax
js 0x180043cd5
mov r9, r13
mov dword [rbp + 8], 0xffffffff
lea r8, [rbp + 8]
mov edx, 0x12b
xor ecx, ecx
call fcn.180043710
jmp 0x180043c42
test eax, eax
jns 0x180043ce1
mov eax, dword [r13 + 0x84]
jmp 0x180043c42
mov rcx, rax
mov rax, qword [r13 + 0x58]
mov eax, dword [rax + rcx*4]
jmp 0x180043c42