Function at 0x18012c660
Capabilities:
Query environment variable

Disassembly:
push rdi
sub rsp, 0x60
mov qword [rsp + 0x20], 0
lea rcx, str.FT2_DEBUG
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x18012c8bf
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
jmp 0x18012c6a6
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
test eax, eax
je 0x18012c8bf
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
cmp eax, 0x20
je 0x18012c6f7
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
cmp eax, 9
je 0x18012c6f7
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
cmp eax, 0x2c
je 0x18012c6f7
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
cmp eax, 0x3b
je 0x18012c6f7
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
cmp eax, 0x3d
jne 0x18012c6f9
jmp 0x18012c699
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
test eax, eax
je 0x18012c72b
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
cmp eax, 0x3a
je 0x18012c72b
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
jmp 0x18012c703
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
test eax, eax
jne 0x18012c73c
jmp 0x18012c8bf
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
cmp eax, 0x3a
jne 0x18012c8ba
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x28], rax
jbe 0x18012c8ba
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], 0xffffffff
mov dword [rsp + 0x48], 0xffffffff
mov dword [rsp + 0x38], 0
jmp 0x18012c795
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0x66
jge 0x18012c822
movsxd rax, dword [rsp + 0x38]
lea rcx, [0x1801b8300]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x3c], 0
jmp 0x18012c7c9
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x3c], eax
jge 0x18012c7f7
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x50]
movsx eax, byte [rcx + rax]
movsxd rcx, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x30]
movsx ecx, byte [rdx + rcx]
cmp eax, ecx
je 0x18012c7f5
jmp 0x18012c7f7
jmp 0x18012c7bf
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x3c], eax
jne 0x18012c81d
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x50]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x18012c81d
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x48], eax
jmp 0x18012c822
jmp 0x18012c78b
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
test eax, eax
je 0x18012c860
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
sub eax, 0x30
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
jl 0x18012c858
cmp dword [rsp + 0x44], 7
jle 0x18012c860
mov dword [rsp + 0x44], 0xffffffff
cmp dword [rsp + 0x48], 0
jl 0x18012c8ba
cmp dword [rsp + 0x44], 0
jl 0x18012c8ba
cmp dword [rsp + 0x48], 0
jne 0x18012c8a7
mov dword [rsp + 0x38], 0
jmp 0x18012c889
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0x66
jge 0x18012c8a5
movsxd rax, dword [rsp + 0x38]
lea rcx, [0x18023b770]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edx
jmp 0x18012c87f
jmp 0x18012c8ba
movsxd rax, dword [rsp + 0x48]
lea rcx, [0x18023b770]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edx
jmp 0x18012c699
lea rax, [0x18023b770]
mov qword [0x18023c728], rax
add rsp, 0x60
pop rdi
ret