Function at 0x10001b90
Capabilities:
Hash data with md5
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x84
mov eax, dword [0x1005c0e4]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push ebp
mov ebp, dword [esp + 0x98]
push esi
mov esi, dword [esp + 0x94]
push edi
mov edi, dword [esp + 0x9c]
push edi
push esi
mov dword [esp + 0x1c], 0
call fcn.10006c60
push edi
push esi
mov dword [esp + 0x28], eax
call fcn.10006ad0
mov edx, dword [esp + 0x28]
add esp, 0x10
test eax, eax
mov dword [esp + 0x20], eax
mov ebx, edi
cmovne ebx, eax
xor ecx, ecx
test eax, eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], ebx
cmove edi, ecx
mov dword [esp + 0x1c], edi
test edx, edx
je 0x10001c68
mov edi, ebx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10001c05
mov ebx, edx
sub edi, ecx
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x10001c13
sub ebx, ecx
lea esi, [ebx + edi]
lea eax, [esi + 1]
push eax
call fcn.100274ed
push edi
push dword [esp + 0x18]
mov dword [esp + 0x20], eax
push eax
call fcn.10024bf0
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x24]
push eax
push dword [esp + 0x2c]
lea eax, [edi + ebx]
push eax
call fcn.10024bf0
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [esp + 0x24]
test eax, eax
mov byte [esi + ebx], 0
cmovne ecx, eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ecx
mov esi, ebx
mov dword [esp + 0x28], 0x67452301
mov dword [esp + 0x2c], 0xefcdab89
mov dword [esp + 0x30], 0x98badcfe
mov dword [esp + 0x34], 0x10325476
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10001c90
sub esi, ecx
mov edi, ebx
lea eax, [esi*8]
mov dword [esp + 0x38], eax
mov eax, esi
shr eax, 0x1d
mov dword [esp + 0x3c], eax
cmp esi, 0x40
jb 0x10001d04
mov ebx, esi
shr ebx, 6
nop dword [eax]
movups xmm0, xmmword [edi]
lea eax, [esp + 0x40]
push eax
movups xmmword [esp + 0x44], xmm0
lea eax, [esp + 0x2c]
movups xmm0, xmmword [edi + 0x10]
push eax
movups xmmword [esp + 0x58], xmm0
movups xmm0, xmmword [edi + 0x20]
movups xmmword [esp + 0x68], xmm0
movups xmm0, xmmword [edi + 0x30]
movups xmmword [esp + 0x78], xmm0
call fcn.10003200
add esp, 8
add edi, 0x40
sub esi, 0x40
sub ebx, 1
jne 0x10001cc0
mov ebx, dword [esp + 0x10]
push esi
lea eax, [esp + 0x44]
push edi
push eax
call fcn.10024bf0
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x4c]
shr eax, 3
mov edx, 0x3f
and eax, 0x3f
add esp, 0xc
add ecx, eax
sub edx, eax
mov byte [ecx], 0x80
inc ecx
cmp edx, 8
jae 0x10001d5e
push edx
push 0
push ecx
call fcn.10025170
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.10003200
push 0x38
lea eax, [esp + 0x58]
push 0
push eax
call fcn.10025170
add esp, 0x20
jmp 0x10001d6d
lea eax, [edx - 8]
push eax
push 0
push ecx
call fcn.10025170
add esp, 0xc
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10003200
movups xmm0, xmmword [esp + 0x30]
mov eax, dword [esp + 0x1c]
add esp, 8
movups xmmword [esp + 0x80], xmm0
test eax, eax
je 0x10001dad
push eax
call sym.fontconfig.dll_FcStrFree
add esp, 4
mov byte [ebp], 0x2f
xor edx, edx
movzx ecx, byte [esp + edx + 0x80]
mov eax, ecx
and ecx, 0xf
shr eax, 4
movzx eax, byte [eax + str.0123456789abcdefFONTCONFIG_USE_MMAP]
mov byte [ebp + edx*2 + 1], al
movzx eax, byte [ecx + str.0123456789abcdefFONTCONFIG_USE_MMAP]
mov byte [ebp + edx*2 + 2], al
inc edx
cmp edx, 0x10
jl 0x10001db3
mov byte [ebp + edx*2 + 1], 0
lea ecx, [ebp - 1]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x10001de7
mov eax, dword [str._le32d8.cache_8]
mov esi, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [0x10043364]
mov dword [ecx + 4], eax
mov eax, dword [0x10043368]
mov dword [ecx + 8], eax
mov eax, dword [0x1004336c]
mov dword [ecx + 0xc], eax
test byte [0x1005dec4], 0x10
je 0x10001e69
mov ecx, dword [esp + 0x18]
mov edx, 0x10043370
test ecx, ecx
mov eax, edx
cmovne eax, ecx
push eax
mov eax, 0x10043374
cmove eax, edx
test esi, esi
push eax
mov eax, 0x10043380
cmove eax, edx
push eax
mov eax, edx
cmovne eax, esi
push eax
mov eax, str.__mapped_to
cmove eax, edx
push eax
mov eax, dword [esp + 0x30]
test eax, eax
cmovne ebx, eax
push ebx
push ebp
push str.cache:__s__dir:__s_s_s_s_s_s__n
call fcn.10003b90
add esp, 0x20
test esi, esi
je 0x10001e76
push esi
call sym.fontconfig.dll_FcStrFree
add esp, 4
mov ecx, dword [esp + 0x90]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10023cd9
add esp, 0x84
ret