Function at 0x1400ba7a0
Capabilities:
Query environment variable

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x90
cmp byte [0x1401bb2b1], 0
mov rsi, rcx
mov rbx, qword [rcx + 8]
movaps xmmword [rsp + 0x40], xmm9
movaps xmmword [rsp + 0x30], xmm10
jne 0x1400ba812
lea rcx, str.dglSURFACE_MIN
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x1400ba7e2
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
lea rcx, str.dglSURFACE_MAX
mov byte [0x1401bb2b0], al
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x1400ba80b
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov byte [0x1401bb2b1], al
jmp 0x1400ba812
mov byte [0x1401bb2b1], 0x1e
movsd xmm1, qword [0x140183680]
lea rax, [rsp + 0xc8]
mov rcx, qword [rbx + 0x30]
lea r9, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0xb0]
mov qword [rsp + 0x88], rbp
lea rax, [rsp + 0xb8]
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
mov qword [rsp + 0x20], rax
movaps xmmword [rsp + 0x50], xmm8
call fcn.1400a0520
mov ebx, dword [rsp + 0xb0]
movsd xmm10, qword [0x140158e10]
sub ebx, 2
movsd xmm9, qword [0x1401587e8]
mov dword [rsp + 0xb0], ebx
test ebx, ebx
jle 0x1400ba973
mov rdi, qword [rsi + 0x90]
movsd xmm6, qword [rsi + 0x60]
mov rbp, qword [rsp + 0xc0]
add rbp, 8
mov rax, qword [rdi + 8]
movsd xmm0, qword [rax + 0x30]
divsd xmm0, xmm6
addsd xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov rax, qword [rdi + 0x18]
movaps xmm7, xmm0
mulsd xmm7, xmm6
movsd xmm0, qword [rax + 0x30]
divsd xmm0, xmm6
subsd xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movaps xmm8, xmm0
mulsd xmm8, xmm6
nop word [rax + rax]
dec ebx
mov dword [rsp + 0xb0], ebx
movsd xmm0, qword [rbp]
add rbp, 8
divsd xmm0, qword [rsi + 0x60]
addsd xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mulsd xmm0, qword [rsi + 0x60]
comisd xmm0, xmm7
jbe 0x1400ba960
comisd xmm8, xmm0
jbe 0x1400ba960
subsd xmm0, xmm7
movaps xmm1, xmm8
subsd xmm1, xmm7
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
divsd xmm0, xmm1
movaps xmm3, xmm0
call fcn.1400b2a00
cmp eax, 0xffffffff
je 0x1400ba959
mov byte [rdi + 0x28], 1
mov rdi, qword [rdi]
mov rax, qword [rdi + 8]
movsd xmm7, qword [rax + 0x30]
mov ebx, dword [rsp + 0xb0]
test ebx, ebx
jne 0x1400ba8f0
mov dword [rsp + 0xb0], 0xffffffff
mov byte [rdi + 0x28], 1
mov edi, dword [rsp + 0xb8]
sub edi, 2
mov dword [rsp + 0xb8], edi
test edi, edi
jle 0x1400baa81
mov rbx, qword [rsi + 0x90]
test rbx, rbx
je 0x1400baa81
nop dword [rax]
mov rax, qword [rbx + 8]
movsd xmm6, qword [rsi + 0x68]
mov rbp, qword [rsp + 0xc8]
add rbp, 8
movsd xmm0, qword [rax + 0x38]
divsd xmm0, xmm6
addsd xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov rax, qword [rbx + 0x18]
movaps xmm7, xmm0
mulsd xmm7, xmm6
movsd xmm0, qword [rax + 0x38]
divsd xmm0, xmm6
subsd xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movaps xmm8, xmm0
mulsd xmm8, xmm6
test edi, edi
je 0x1400baa69
nop dword [rax]
nop word [rax + rax]
movsd xmm0, qword [rbp]
dec edi
divsd xmm0, qword [rsi + 0x68]
add rbp, 8
addsd xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mulsd xmm0, qword [rsi + 0x68]
comisd xmm0, xmm7
jbe 0x1400baa65
comisd xmm8, xmm0
jbe 0x1400baa65
subsd xmm0, xmm7
movaps xmm1, xmm8
subsd xmm1, xmm7
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
divsd xmm0, xmm1
movaps xmm3, xmm0
call fcn.1400b2a00
cmp eax, 0xffffffff
je 0x1400baa65
mov byte [rbx + 0x29], 1
mov rbx, qword [rbx]
mov rax, qword [rbx + 8]
movsd xmm7, qword [rax + 0x38]
test edi, edi
jne 0x1400baa00
mov byte [rbx + 0x29], 1
mov rbx, qword [rbx]
test rbx, rbx
je 0x1400baa81
mov edi, dword [rsp + 0xb8]
jmp 0x1400ba9a0
mov rcx, qword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
test rcx, rcx
je 0x1400baaaa
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x1400baabd
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [rsi + 0x90]
test rbx, rbx
je 0x1400bab9b
mov qword [rsp + 0x80], r14
mov r14d, dword [rsp + 0xb0]
nop dword [rax]
movzx eax, byte [rbx + 0x28]
movzx edx, byte [rbx + 0x29]
add edx, eax
movzx eax, byte [0x1401bb2b1]
cmp edx, eax
jae 0x1400bab87
movzx eax, byte [0x1401bb2b0]
cmp edx, eax
jb 0x1400bab16
mov rdx, rbx
mov rcx, rsi
call fcn.1400b9f20
mov r14d, eax
test eax, eax
je 0x1400bab87
mov edi, 1
xor ebp, ebp
test dil, r14b
je 0x1400bab3f
movaps xmm3, xmm9
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.1400b2a00
cmp eax, 0xffffffff
je 0x1400bab3f
lea edi, [rbp + 2]
mov rbp, qword [rbx]
test r14b, 2
je 0x1400bab82
movaps xmm3, xmm9
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call fcn.1400b2a00
cmp eax, 0xffffffff
je 0x1400bab61
inc edi
test rbp, rbp
je 0x1400bab82
movaps xmm3, xmm9
mov r8d, 1
mov rdx, rbp
mov rcx, rsi
call fcn.1400b2a00
cmp eax, 0xffffffff
je 0x1400bab82
inc edi
cmp edi, 1
jne 0x1400bab8a
mov rbx, qword [rbx]
test rbx, rbx
jne 0x1400baae0
mov r14, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
xor eax, eax
movaps xmm9, xmmword [rsp + 0x40]
add rsp, 0x90
pop rdi
pop rsi
pop rbx
ret