Function at 0x6f6108
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x6f6250
mov al, byte [eax]
test al, al
je 0x6f6250
movzx eax, al
mov edx, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [edx], 1
je 0x6f627b
mov dword [esp + 4], 0x103
mov dword [esp], eax
call sub.msvcrt.dll__isctype
test eax, eax
je 0x6f615c
mov eax, dword [ebp - 0x24]
cmp byte [eax + 1], 0x3a
je 0x6f62b4
mov ecx, dword [ebp - 0x24]
mov al, byte [ecx]
cmp al, 0x5c
je 0x6f62c4
cmp al, 0x7e
je 0x6f6294
cmp al, 0x2f
je 0x6f62c4
mov dword [esp], str.FONTCONFIG_PATH
call sub.msvcrt.dll_getenv
mov esi, eax
test eax, eax
je 0x6f6468
mov ecx, 3
mov dl, byte [eax]
test dl, dl
je 0x6f61a7
inc eax
cmp dl, 0x3b
jne 0x6f6194
inc ecx
mov dl, byte [eax]
test dl, dl
jne 0x6f619a
mov dword [esp + 4], 4
mov dword [esp], ecx
call sub.msvcrt.dll_calloc
mov dword [ebp - 0x28], eax
test eax, eax
je 0x6f6450
test esi, esi
je 0x6f645c
cmp byte [esi], 0
je 0x6f645c
mov dword [ebp - 0x20], 0
mov dword [esp + 4], 0x3b
mov dword [esp], esi
call sub.msvcrt.dll_strchr
mov ebx, eax
test eax, eax
je 0x6f6380
mov edx, ebx
sub edx, esi
mov dword [ebp - 0x1c], edx
mov eax, edx
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edi, eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov dword [eax + ecx*4], edi
test edi, edi
je 0x6f6418
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.msvcrt.dll_strncpy
mov ecx, dword [ebp - 0x1c]
mov byte [edi + ecx], 0
cmp byte [ebx], 0
je 0x6f62d8
lea esi, [ebx + 1]
inc dword [ebp - 0x20]
cmp byte [ebx + 1], 0
jne 0x6f61da
jmp 0x6f62db
mov dword [esp], str.FONTCONFIG_FILE
call sub.msvcrt.dll_getenv
mov dword [ebp - 0x24], eax
test eax, eax
je 0x6f6404
mov al, byte [eax]
movzx eax, al
mov edx, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [edx], 1
jne 0x6f613b
mov edx, dword [sym.imp.msvcrt.dll__pctype]
mov edx, dword [edx]
movzx eax, word [edx + eax*2]
and eax, 0x103
jmp 0x6f614b
call fcn.006f60c0
test eax, eax
je 0x6f6450
mov edx, dword [ebp - 0x24]
inc edx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
jmp fcn.006f3ad8
mov al, byte [eax + 2]
cmp al, 0x2f
je 0x6f62c4
cmp al, 0x5c
jne 0x6f615c
nop
mov edx, dword [ebp - 0x24]
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
jmp fcn.006f3ad8
inc dword [ebp - 0x20]
cmp byte [0x91b5a0], 0
je 0x6f6398
mov edx, 0x91b5a0
xor eax, eax
mov ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
mov dword [esp], ecx
call sub.msvcrt.dll_malloc
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
mov dword [edx + ecx*4], eax
test eax, eax
je 0x6f6418
mov dword [esp + 4], 0x91b5a0
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov ecx, dword [ebp - 0x28]
mov esi, dword [ecx]
test esi, esi
je 0x6f6472
mov eax, esi
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
jmp 0x6f6345
add edi, 4
mov eax, dword [edi]
test eax, eax
je 0x6f6352
mov edx, ebx
call fcn.006f3ad8
mov edx, eax
test eax, eax
je 0x6f633c
mov ebx, edx
mov edi, dword [ebp - 0x28]
nop
mov dword [esp], esi
call fcn.008f2ba8
add edi, 4
mov esi, dword [edi]
test esi, esi
jne 0x6f6358
mov edx, dword [ebp - 0x28]
mov dword [esp], edx
call fcn.008f2ba8
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
mov ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea ebx, [esi + ecx - 1]
jmp 0x6f61f4
mov dword [esp + 8], 0x3e8
mov dword [esp + 4], 0x91b5a0
mov dword [esp], 0
call sub.KERNEL32.dll_GetModuleFileNameA
sub esp, 0xc
test eax, eax
je 0x6f6418
mov dword [esp + 4], 0x5c
mov dword [esp], 0x91b5a0
call sub.msvcrt.dll_strrchr
test eax, eax
je 0x6f63d6
mov byte [eax], 0
mov edx, 0x91b5a0
xor eax, eax
mov ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea eax, [ecx + 0x91b59f]
mov esi, 0xb1f4a4
mov ecx, 7
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x6f62ed
mov dword [ebp - 0x24], str.fonts.conf
mov al, byte [str.fonts.conf]
jmp 0x6f6129
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
test eax, eax
je 0x6f6436
mov ebx, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.008f2ba8
mov eax, dword [ebx + 4]
add ebx, 4
test eax, eax
jne 0x6f6424
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.008f2ba8
xor ebx, ebx
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
xor ebx, ebx
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
mov dword [ebp - 0x20], 0
jmp 0x6f62db
mov ecx, 2
jmp 0x6f61a7
xor ebx, ebx
jmp 0x6f6369