Function at 0x1400d1c30
Capabilities:
Query environment variable

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, rcx
movsxd rcx, dword [0x1400fc974]
mov rsi, rcx
imul rcx, rcx, 0x138
call sym.malloc
mov qword [0x140147738], rax
test rax, rax
je 0x1400d1dfc
lea rcx, str.MQTT_C_CLIENT_TRACE
mov dword [0x140147730], esi
call sym.getenv
mov rsi, rax
test rax, rax
je 0x1400d1d38
cmp byte [rax], 0
je 0x1400d1d38
cmp byte [rax], 0x4f
jne 0x1400d1c99
cmp byte [rax + 1], 0x4e
je 0x1400d1f40
lea rdx, [0x140123f74]
mov rcx, rsi
call sym.fopen
mov qword [0x140147728], rax
test rax, rax
je 0x1400d1f4a
mov rcx, rsi
call sym.strlen
lea r12, [rax + 1]
mov rbp, rax
mov rcx, r12
call sym.malloc
mov qword [0x140147720], rax
mov rdi, rax
test rax, rax
je 0x1400d1fae
mov rdx, rsi
mov r8, r12
lea rsi, [rbp + 3]
mov rcx, rax
call sym.memcpy
mov rcx, rsi
call sym.malloc
mov qword [0x140147718], rax
mov rcx, rax
test rax, rax
je 0x1400d1f95
mov r9, rdi
lea r8, str._s.0
mov rdx, rsi
call qword [sym.imp.msvcrt.dll__snprintf]
cdqe
cmp rax, rsi
jb 0x1400d1d38
mov rax, qword [0x140147718]
mov byte [rax + rbp + 2], 0
nop dword [rax]
lea rcx, str.MQTT_C_CLIENT_TRACE_MAX_LINES
call sym.getenv
test rax, rax
je 0x1400d1d52
cmp byte [rax], 0
jne 0x1400d1f08
lea rcx, str.MQTT_C_CLIENT_TRACE_LEVEL
call sym.getenv
mov rsi, rax
test rax, rax
je 0x1400d1d6f
cmp byte [rax], 0
jne 0x1400d1e10
lea r12, [0x140124050]
mov ecx, 3
mov rdx, r12
call fcn.1400d1980
lea rdx, str.___________________Trace_Output
mov ecx, 3
call fcn.1400d1980
test rbx, rbx
je 0x1400d1def
mov r9, qword [rbx]
test r9, r9
je 0x1400d1def
mov rbp, qword [sym.imp.msvcrt.dll__snprintf]
lea rsi, [0x140147500]
lea rdi, str._s:__s
nop word cs:[rax + rax]
mov rax, qword [rbx + 8]
mov r8, rdi
mov edx, 0x200
mov rcx, rsi
add rbx, 0x10
mov qword [rsp + 0x20], rax
call rbp
mov rdx, rsi
mov ecx, 3
call fcn.1400d1980
mov r9, qword [rbx]
test r9, r9
jne 0x1400d1dc0
mov rdx, r12
mov ecx, 3
call fcn.1400d1980
mov eax, 0xffffffff
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rdx, str.MAXIMUM
mov rcx, rax
call sym.strcmp
test eax, eax
je 0x1400d1f28
lea rdx, str.TRACE_MAXIMUM
mov rcx, rsi
call sym.strcmp
test eax, eax
je 0x1400d1f28
lea rdx, str.MEDIUM
mov rcx, rsi
call sym.strcmp
test eax, eax
je 0x1400d1f68
lea rdx, str.TRACE_MEDIUM
mov rcx, rsi
call sym.strcmp
test eax, eax
je 0x1400d1f68
lea rdx, str.MINIMUM
mov rcx, rsi
call sym.strcmp
test eax, eax
je 0x1400d1f77
lea rdx, str.TRACE_MINIMUM
mov rcx, rsi
call sym.strcmp
test eax, eax
je 0x1400d1f77
lea rdx, str.PROTOCOL
mov rcx, rsi
call sym.strcmp
test eax, eax
je 0x1400d1f86
lea rdx, str.TRACE_PROTOCOL
mov rcx, rsi
call sym.strcmp
test eax, eax
je 0x1400d1f86
lea rdx, str.ERROR
mov rcx, rsi
call sym.strcmp
test eax, eax
je 0x1400d1ef2
lea rdx, str.TRACE_ERROR
mov rcx, rsi
call sym.strcmp
test eax, eax
jne 0x1400d1d6f
mov dword [0x1400fc960], 5
jmp 0x1400d1d6f
mov rcx, rax
call sym.atoi
mov edx, 0x3e8
test eax, eax
cmovle eax, edx
mov dword [0x1400fc964], eax
jmp 0x1400d1d52
mov dword [0x1400fc970], 1
jmp 0x1400d1d6f
cmp byte [rax + 2], 0
jne 0x1400d1c99
mov ecx, 1
call qword [dbg.__acrt_iob_func]
mov qword [0x140147728], rax
jmp 0x1400d1d38
mov dword [0x1400fc970], 2
jmp 0x1400d1d6f
mov dword [0x1400fc970], 3
jmp 0x1400d1d6f
mov dword [0x1400fc960], 4
jmp 0x1400d1d6f
mov rcx, qword [0x140147738]
call sym.free
mov rcx, rdi
call sym.free
jmp 0x1400d1dfc
mov rcx, qword [0x140147738]
call sym.free
jmp 0x1400d1dfc