Function at 0x14004acb0
Capabilities:
Query environment variable

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
push rbp
push rbx
push rsi
push r12
push r13
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf8
cmp dword [0x1401bafb0], 0
mov r15d, r8d
mov rsi, rdx
mov rbx, rcx
mov r12d, 1
jne 0x14004ad08
lea rcx, str.dvfOL_USE_CURVETONURB
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
mov r10d, 0xffffffff
cmovne r10d, r12d
mov dword [0x1401bafb0], r10d
mov r13d, dword [rsi + 0x20]
mov qword [rsp + 0x130], rdi
mov qword [rsp + 0xf0], r14
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm7
test r13b, 2
jne 0x14004af29
movzx r8d, byte [rsi + 0x24]
lea eax, [r8 - 1]
cmp eax, 7
ja case.0x14004ad5b.4
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x4b4cc]
add rcx, rdx
jmp rcx
movsd xmm0, qword [rsi + 8]
mov r12, qword [rsi + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
cvttsd2si eax, xmm0
xor edi, edi
movsd xmm0, qword [rsi + 0x10]
test eax, eax
cmovns edi, eax
call sub.api_ms_win_crt_math_l1_1_0.dll_ceil
mov ecx, dword [r12]
cvttsd2si eax, xmm0
cmp eax, ecx
cmovle ecx, eax
mov dword [rbp + 0x67], ecx
and r13d, 1
je 0x14004ada2
lea r14d, [rcx - 1]
lea ecx, [rdi - 1]
mov dword [rbp + 0x67], ecx
jmp 0x14004ada5
mov r14d, edi
mov eax, r13d
movsxd rdi, r14d
xor eax, 1
movsxd rcx, ecx
add eax, eax
lea edx, [rax - 1]
mov dword [rbp - 0x6d], edx
cmp rdi, rcx
je 0x14004aed3
dec rax
mov qword [rbp - 0x51], rax
nop dword [rax]
mov rcx, qword [r12 + 8]
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x71]
mov rcx, qword [rcx + rdi*8]
call fcn.14007b300
movsd xmm3, qword [rsi + 8]
movsd xmm1, qword [rsp + 0x48]
movsd xmm2, qword [rsp + 0x40]
movd xmm4, r14d
cvtdq2pd xmm4, xmm4
comisd xmm3, xmm4
jbe 0x14004ae21
movaps xmm0, xmm1
subsd xmm3, xmm4
subsd xmm0, xmm2
mulsd xmm0, xmm3
addsd xmm0, xmm2
movsd qword [rbp - 0x69], xmm0
jmp 0x14004ae26
movsd qword [rbp - 0x69], xmm2
movsd xmm3, qword [rsi + 0x10]
lea eax, [r14 + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm3
jbe 0x14004ae4d
subsd xmm1, xmm2
subsd xmm3, xmm4
mulsd xmm1, xmm3
addsd xmm1, xmm2
movsd qword [rbp - 0x61], xmm1
lea rdx, [rbp - 0x69]
mov rcx, qword [r12 + 8]
mov rcx, qword [rcx + rdi*8]
call fcn.14007afc0
test r13d, r13d
je 0x14004ae76
mov rax, qword [r12 + 8]
mov rcx, qword [rax + rdi*8]
xor dword [rcx + 0x20], 1
mov rdx, qword [r12 + 8]
xor r9d, r9d
mov rax, qword [rbp + 0x7f]
mov r8d, r15d
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, qword [rdx + rdi*8]
call fcn.14004acb0
mov rcx, qword [r12 + 8]
lea r8, [rsp + 0x40]
mov edx, dword [rbp - 0x71]
mov r15d, eax
mov rcx, qword [rcx + rdi*8]
call fcn.14007af90
cmp r15d, 0xffffffff
je 0x14004af0e
test r15d, r15d
mov r15d, dword [rbp + 0x6f]
jne 0x14004aed3
add r14d, dword [rbp - 0x6d]
add rdi, qword [rbp - 0x51]
movsxd rcx, dword [rbp + 0x67]
cmp rdi, rcx
jne 0x14004add0
cmp r14d, dword [rbp + 0x67]
jne 0x14004b484
mov ecx, dword [0x1401bafb4]
test ecx, ecx
jne 0x14004af15
lea rcx, str.dvfOL_USE_COMPTONURB
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov ecx, 0xffffffff
mov r12d, 1
test rax, rax
cmovne ecx, r12d
mov dword [0x1401bafb4], ecx
jmp 0x14004af1b
mov eax, 0xffffffff
jmp 0x14004af2b
mov r12d, 1
test ecx, ecx
jle 0x14004af29
cmp r15d, 1
jne 0x14004b48a
xor eax, eax
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov r14, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x130]
add rsp, 0xf8
pop r15
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rsi + 0x18]
mov r8d, r15d
mov rcx, rbx
call fcn.14004c380
jmp 0x14004af2b
cmp r15d, r12d
je 0x14004b48a
movsd xmm1, qword [rsi + 8]
xorps xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14004afb6
jne 0x14004afb6
mov r8, qword [rsi + 0x18]
movsd xmm0, qword [rsi + 0x10]
mov edx, dword [r8]
lea eax, [rdx - 1]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x14004afb6
jne 0x14004afb6
mov r8, qword [r8 + 8]
mov rcx, rbx
call fcn.14004ce40
jmp 0x14004af2b
xor edi, edi
mov rcx, rsi
mov qword [rbp + 0x67], rdi
call fcn.14006c060
lea rdx, [rbp + 0x67]
mov rcx, rax
mov rdi, rax
call fcn.14006c0b0
cmp eax, 2
jl 0x14004b00c
mov r8, qword [rbp + 0x67]
mov edx, eax
mov rcx, rbx
call fcn.14004ce40
cmp dword [0x1401bafb0], 0
mov r14d, eax
jg 0x14004b00c
mov rcx, rdi
call fcn.14006c160
mov rcx, qword [rbp + 0x67]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, r14d
jmp 0x14004af2b
mov rcx, rdi
call fcn.14006c160
mov rcx, qword [rbp + 0x67]
test rcx, rcx
je 0x14004b48a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14004b48a
cmp r15d, r12d
je 0x14004b48a
movsd xmm1, qword [rsi + 8]
lea r8, [rsp + 0x40]
movsd xmm6, qword [rsi + 0x10]
mov rcx, rsi
call fcn.14007a6a0
cmp eax, 0xffffffff
je 0x14004b48a
lea r8, [rbp - 0x69]
movaps xmm1, xmm6
mov rcx, rsi
call fcn.14007a6a0
cmp eax, 0xffffffff
je 0x14004b48a
mov r8d, r12d
mov dl, reloc.WS2_32.dll_inet_addr
mov rcx, rbx
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rsp + 0x40]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x69]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov r9d, r12d
mov r8d, r12d
mov dl, 0x11
mov rcx, rbx
call fcn.14004a770
cmp eax, 0xffffffff
je 0x14004b45c
mov rax, qword [rbx + 8]
test dword [rax + 0x68], 0x800
je 0x14004b0f4
xor r8d, r8d
mov dl, recv
mov rcx, rbx
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rsp + 0x40]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov rax, qword [rbx + 8]
test dword [rax + 0x68], 0x800
je 0x14004b132
xor r8d, r8d
mov dl, reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x69]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov r8d, r12d
mov dl, 0x2d
mov rcx, rbx
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
xor edi, edi
jmp 0x14004b461
cmp r15d, r12d
je 0x14004b48a
mov r14, qword [rsi + 0x18]
lea rax, [rsp + 0x40]
movsd xmm6, qword [rsi + 8]
xor edi, edi
movsd xmm7, qword [rsi + 0x10]
xor ecx, ecx
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x49]
mov qword [rsp + 0x30], rdi
lea r9, [r14 + 0x48]
mov qword [rsp + 0x28], rax
lea r8, [r14 + 0x30]
lea rax, [rbp - 0x69]
lea rdx, [r14 + 0x18]
mov qword [rsp + 0x20], rax
call fcn.14004d280
test eax, eax
je 0x14004b48a
lea r8, [rbp - 0x31]
movaps xmm1, xmm6
mov rcx, rsi
call fcn.14007a6a0
cmp eax, 0xffffffff
je 0x14004b48a
lea r8, [rbp - 0x19]
movaps xmm1, xmm7
mov rcx, rsi
call fcn.14007a6a0
cmp eax, 0xffffffff
je 0x14004b48a
movsd xmm0, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x48]
ucomisd xmm0, xmm1
movsd xmm2, qword [rsi + 8]
movsd xmm3, qword [rsi + 0x10]
jp 0x14004b336
jne 0x14004b336
mov r8d, r12d
movsd qword [rsp + 0x40], xmm2
mov dl, 0xc
movsd qword [rsp + 0x48], xmm3
mov rcx, rbx
movsd qword [rsp + 0x50], xmm0
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x69]
mov rcx, rbx
lea edx, [rdi + 3]
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x49]
mov rcx, rbx
lea edx, [rdi + 3]
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov r8, r14
lea edx, [rdi + 3]
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rsp + 0x40]
mov rcx, rbx
lea edx, [rdi + 3]
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov r9d, r12d
mov r8d, r12d
mov dl, 0x11
mov rcx, rbx
call fcn.14004a770
cmp eax, 0xffffffff
je 0x14004b45c
mov rax, qword [rbx + 8]
test dword [rax + 0x68], 0x800
je 0x14004b2d8
xor r8d, r8d
mov dl, recv
mov rcx, rbx
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x31]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov rax, qword [rbx + 8]
test dword [rax + 0x68], 0x800
je 0x14004b315
xor r8d, r8d
mov dl, reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x19]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov dl, 0x2e
jmp 0x14004b44c
mov r8d, r12d
movsd qword [rsp + 0x40], xmm2
mov dl, 0xd
movsd qword [rsp + 0x48], xmm3
mov rcx, rbx
movsd qword [rsp + 0x50], xmm0
movsd qword [rbp - 0x79], xmm1
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x69]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x49]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov r8, r14
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rsp + 0x40]
mov edx, 4
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov r9d, r12d
mov r8d, r12d
mov dl, 0x11
mov rcx, rbx
call fcn.14004a770
cmp eax, 0xffffffff
je 0x14004b45c
mov rax, qword [rbx + 8]
test dword [rax + 0x68], 0x800
je 0x14004b3ff
xor r8d, r8d
mov dl, recv
mov rcx, rbx
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x31]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov rax, qword [rbx + 8]
test dword [rax + 0x68], 0x800
je 0x14004b434
xor r8d, r8d
mov dl, reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.14004d030
cmp eax, 0xffffffff
je 0x14004b45c
lea r8, [rbp - 0x19]
mov edx, 3
mov rcx, rbx
call fcn.14004b4f0
cmp eax, 0xffffffff
je 0x14004b45c
mov dl, 0x2f
mov r8d, r12d
mov rcx, rbx
call fcn.14004d030
cmp eax, 0xffffffff
jne 0x14004b461
mov edi, 0xffffffff
cmp dword [0x1401bafb0], 0
jg 0x14004b48a
mov eax, edi
jmp 0x14004af2b
lea rdx, str.Cannot_write_out_dglCurve_type__d_n
mov ecx, 2
call fcn.140002870
jmp 0x14004b48a
mov r12d, 1
cmp dword [rbp + 0x77], 0
jne 0x14004b4c2
xor edx, edx
mov rcx, rsi
call fcn.14007bd70
mov rdi, rax
test rax, rax
je 0x14004b4c2
mov rdx, qword [rax + 0x18]
mov r8d, r15d
mov rcx, rbx
call fcn.14004c380
mov rcx, rdi
mov ebx, eax
call fcn.14007a590
mov eax, ebx
jmp 0x14004af2b
mov eax, r12d
jmp 0x14004af2b