Function at 0x686132a0
Capabilities:
Query environment variable

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov rbp, rcx
lea rcx, [0x686cd5e0]
call sym.libglib_2.0_0.dll_g_mutex_lock
cmp qword [0x686cd5e8], 0
je 0x686133d0
test rbp, rbp
je 0x68613310
mov rcx, qword [0x686cd5e8]
mov rdx, rbp
call sym.libglib_2.0_0.dll_g_hash_table_lookup
test rax, rax
mov rbx, rax
je 0x68613596
lock add dword [rbx + 0x3c], 1
lea rcx, [0x686cd5e0]
call sym.libglib_2.0_0.dll_g_mutex_unlock
mov rax, rbx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov ecx, 0x40
call sym.libglib_2.0_0.dll_g_slice_alloc0
xor ecx, ecx
mov rbx, rax
call sym.libglib_2.0_0.dll_g_strdup
lea rcx, str._etc_localtime
mov qword [rbx], rax
mov dword [rbx + 0x3c], 0
mov qword [rbx + 8], 0
call sym.libglib_2.0_0.dll_g_strdup
mov rsi, rax
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call sym.libglib_2.0_0.dll_g_mapped_file_new
test rax, rax
mov rdi, rax
je 0x68613399
mov rcx, rax
call sym.libglib_2.0_0.dll_g_mapped_file_ref
mov rcx, rdi
mov r13, rax
call sym.libglib_2.0_0.dll_g_mapped_file_get_length
mov rcx, rdi
mov r12, rax
call sym.libglib_2.0_0.dll_g_mapped_file_get_contents
lea r8, [sym.libglib_2.0_0.dll_g_mapped_file_unref]
mov rcx, rax
mov r9, r13
mov rdx, r12
call sym.libglib_2.0_0.dll_g_bytes_new_with_free_func
mov rcx, rdi
mov qword [rbx + 8], rax
call sym.libglib_2.0_0.dll_g_mapped_file_unref
mov rcx, rsi
call sym.libglib_2.0_0.dll_g_free
mov rax, qword [rbx + 8]
test rax, rax
jne 0x686134b7
nop
test rbp, rbp
je 0x686132ec
mov rdx, qword [rbx]
mov rcx, qword [0x686cd5e8]
mov r8, rbx
call sym.libglib_2.0_0.dll_g_hash_table_insert
jmp 0x686132ec
lea rdx, [sym.libglib_2.0_0.dll_g_str_equal]
lea rcx, [sym.libglib_2.0_0.dll_g_str_hash]
call sym.libglib_2.0_0.dll_g_hash_table_new
mov qword [0x686cd5e8], rax
jmp 0x686132cc
lea rdx, [rsp + 0x24]
mov rcx, rdi
call fcn.686130b0
test eax, eax
je 0x686135e0
mov eax, dword [rsp + 0x24]
neg eax
bswap eax
mov ecx, 0x66
mov dword [rsp + 0x24], eax
call sym.libglib_2.0_0.dll_g_malloc
mov rsi, rax
mov rax, qword [rsp + 0x30]
mov rdx, rbp
lea rcx, [rsi + 0x5e]
mov byte [rsi + 0x5c], 0
mov byte [rsi + 0x5d], 0
mov qword [rsi], rax
mov rax, qword [rsp + 0x38]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x20], rax
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0x60]
mov qword [rsi + 0x30], rax
mov rax, qword [rsp + 0x68]
mov qword [rsi + 0x38], rax
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x40], rax
mov rax, qword [rsp + 0x78]
mov qword [rsi + 0x48], rax
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x50], rax
mov eax, dword [rsp + 0x24]
mov dword [rsi + 0x58], eax
call sub.msvcrt.dll_strcpy
mov edx, 0x66
mov rcx, rsi
call sym.libglib_2.0_0.dll_g_bytes_new_take
test rax, rax
mov qword [rbx + 8], rax
je 0x686135e8
lea rdx, [rsp + 0x28]
mov rcx, rax
call sym.libglib_2.0_0.dll_g_bytes_get_data
cmp qword [rsp + 0x28], 0x2b
mov rsi, rax
jbe 0x68613580
lea rdx, str.TZif2
mov r8d, 5
mov rcx, rax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x68613580
mov r10d, dword [rsi + 0x14]
mov r9d, dword [rsi + 0x18]
mov r8d, dword [rsi + 0x28]
mov ecx, dword [rsi + 0x1c]
mov edx, dword [rsi + 0x20]
mov eax, dword [rsi + 0x24]
bswap r10d
bswap r9d
mov r10d, r10d
mov r9d, r9d
bswap r8d
lea r9, [r10 + r9 + 0x2c]
bswap ecx
bswap edx
bswap eax
mov r8d, r8d
shl ecx, 3
add r8, r9
lea edx, [rdx + rdx*4]
lea eax, [rax + rax*2]
add rcx, r8
add rdx, rcx
add eax, eax
add rax, rdx
add rsi, rax
mov qword [rbx + 0x10], rsi
mov eax, dword [rsi + 0x20]
mov edx, dword [rsi + 0x24]
add rsi, 0x2c
mov qword [rbx + 0x20], rsi
bswap eax
bswap edx
mov dword [rbx + 0x38], eax
cdqe
lea rcx, [rsi + rax*8]
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
add rax, rcx
mov qword [rbx + 0x28], rcx
mov qword [rbx + 0x18], rax
lea rax, [rax + rdx*2]
mov qword [rbx + 0x30], rax
jmp 0x686133b0
mov rcx, qword [rbx + 8]
call sym.libglib_2.0_0.dll_g_bytes_unref
mov qword [rbx + 8], 0
jmp 0x686133b0
mov ecx, 0x40
lea rdi, [rsp + 0x30]
lea rsi, [0x68675620]
call sym.libglib_2.0_0.dll_g_slice_alloc0
mov rcx, rbp
mov rbx, rax
call sym.libglib_2.0_0.dll_g_strdup
mov ecx, 0x59
mov qword [rbx], rax
mov dword [rbx + 0x3c], 0
rep movsb byte [rdi], byte [rsi]
lea rdi, [rbp + 1]
movzx eax, byte [rbp]
cmp al, 0x2d
je 0x686133ef
cmp al, 0x5a
je 0x68613643
cmp al, 0x2b
je 0x68613629
mov qword [rbx + 8], 0
lea rcx, str.TZDIR
call sub.msvcrt.dll_getenv
test rax, rax
mov rsi, rax
lea rax, str._usr_share_zoneinfo
cmove rsi, rax
cmp byte [rbp], 0x3a
cmove rbp, rdi
mov rcx, rbp
call sym.libglib_2.0_0.dll_g_path_is_absolute
test eax, eax
je 0x68613656
mov rcx, rbp
call sym.libglib_2.0_0.dll_g_strdup
mov rsi, rax
jmp 0x68613345
lea rdx, [rsp + 0x24]
mov rcx, rdi
call fcn.686130b0
test eax, eax
je 0x686135e0
mov eax, dword [rsp + 0x24]
jmp 0x6861340a
xor eax, eax
cmp byte [rbp + 1], 0
mov dword [rsp + 0x24], 0
sete al
jmp 0x68613636
mov rcx, rsi
xor r8d, r8d
mov rdx, rbp
call sym.libglib_2.0_0.dll_g_build_filename
mov rsi, rax
jmp 0x68613345