Function at 0x10003470
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
vmovss xmm3, dword [0x10228684]
sub esp, 0xe4
vxorps xmm2, xmm2, xmm2
push ebx
push esi
mov esi, ecx
mov ecx, 0x28
push edi
lea eax, [esi + 2]
mov dword [eax - 2], 0x1000000
lea eax, [eax + 0x34]
mov dword [eax - 0x32], 1
mov dword [eax - 0x1e], 0
mov dword [eax - 0x1a], 0
mov word [eax - 0x16], 0x100
mov dword [eax - 0xa], 0
mov word [eax - 6], 0x100
vmovss dword [eax - 0x2e], xmm2
vmovss dword [eax - 0x2a], xmm2
vmovss dword [eax - 0x26], xmm2
vmovss dword [eax - 0x22], xmm3
vmovss dword [eax - 0x12], xmm2
vmovss dword [eax - 0xe], xmm2
sub ecx, 1
jne 0x10003495
vmovss xmm1, dword [0x1022853c]
vmovss xmm0, dword [0x102285e0]
mov word [esi + 0x820], cx
lea eax, [esi + 0x894]
mov word [esi + 0x836], cx
mov word [esi + 0x84c], cx
mov byte [esi + 0x850], cl
mov byte [esi + 0x85c], cl
mov byte [esi + 0x868], cl
mov dword [esi + 0x874], ecx
mov byte [esi + 0x878], cl
mov byte [esi + 0x884], cl
mov dword [esi + 0x890], ecx
mov ecx, 0x28
vmovss dword [esi + 0x822], xmm3
vmovss dword [esi + 0x826], xmm3
vmovss dword [esi + 0x82a], xmm3
vmovss dword [esi + 0x82e], xmm1
vmovss dword [esi + 0x832], xmm0
vmovss dword [esi + 0x838], xmm3
vmovss dword [esi + 0x83c], xmm3
vmovss dword [esi + 0x840], xmm3
vmovss dword [esi + 0x844], xmm1
vmovss dword [esi + 0x848], xmm0
mov dword [esi + 0x854], 1
mov byte [esi + 0x858], 0x42
mov dword [esi + 0x860], 1
mov byte [esi + 0x864], 0x42
mov dword [esi + 0x86c], 1
mov byte [esi + 0x870], 0x42
mov dword [esi + 0x87c], 1
mov byte [esi + 0x880], 0x42
mov dword [esi + 0x888], 1
mov byte [esi + 0x88c], 0x42
nop dword [eax]
mov dword [eax], 0
lea eax, [eax + 0x30]
mov dword [eax - 0x2c], 1
mov dword [eax - 0x24], 1
mov dword [eax - 0x20], 0
mov dword [eax - 0x1c], 0
mov dword [eax - 0x18], 1
mov dword [eax - 0x14], 1
mov dword [eax - 0x10], 1
mov word [eax - 8], 0
mov byte [eax - 6], 0
mov dword [eax - 4], 0
vmovss dword [eax - 0x28], xmm2
vmovss dword [eax - 0xc], xmm2
sub ecx, 1
jne 0x100035f0
mov word [esi + 0x1014], cx
lea eax, [esi + 0x1020]
mov dword [esi + 0x1018], ecx
mov dword [esi + 0x101c], ecx
mov ecx, 0x28
nop dword [eax + eax]
mov dword [eax], 0x10000
lea eax, [eax + 0x18]
mov word [eax - 0x14], 0
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
mov dword [eax - 8], 1
vmovss dword [eax - 4], xmm2
sub ecx, 1
jne 0x10003670
mov byte [esi + 0x13e0], cl
mov dword [esi + 0x13e4], 1
mov byte [esi + 0x13e8], 0x42
mov dword [esi + 0x13ec], ecx
mov dword [esi + 0x13f0], ecx
vmovss dword [esi + 0x13f4], xmm2
push 0x3d43
mov dword [esi + 0x13f8], ecx
mov dword [esi + 0x13fc], ecx
call fcn.1017d6f1
add esp, 4
test eax, eax
je 0x10003d6c
vmovss xmm0, dword [0x10228684]
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
push 0x40
mov dword [ecx - 4], eax
mov dword [ecx], ecx
mov dword [ecx + 4], ecx
mov dword [esi + 0x13f8], ecx
mov dword [esi + 0x1400], 0
mov dword [esi + 0x1404], 0
mov dword [esi + 0x1408], 0
mov dword [esi + 0x140c], 7
mov dword [esi + 0x1410], 8
vmovss dword [esi + 0x13f4], xmm0
mov ebx, dword [esi + 0x13f8]
call fcn.1017d6f1
mov ecx, dword [esi + 0x1408]
mov edi, eax
mov eax, dword [esi + 0x1400]
add esp, 4
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x10003792
shl ecx, 2
cmp ecx, 0x1000
jb 0x10003788
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003d6c
mov eax, edx
push ecx
push eax
call fcn.1017d3f8
add esp, 8
lea eax, [edi + 0x40]
mov dword [esi + 0x1400], edi
mov dword [esi + 0x1404], eax
mov dword [esi + 0x1408], eax
cmp edi, eax
je 0x100037b9
nop dword [eax + eax]
mov dword [edi], ebx
add edi, 4
cmp edi, eax
jne 0x100037b0
lea ecx, [esi + 0x1444]
mov byte [esi + 0x1414], 0
mov dword [esi + 0x1418], 1
mov byte [esi + 0x141c], 0x42
mov byte [esi + 0x1420], 0
mov dword [esi + 0x1424], 1
mov byte [esi + 0x1428], 0x42
mov byte [esi + 0x142c], 0
mov dword [esi + 0x1430], 1
mov byte [esi + 0x1434], 0x42
mov byte [esi + 0x1438], 0
mov dword [esi + 0x143c], 1
mov byte [esi + 0x1440], 0x42
call fcn.1000dd60
lea ecx, [esi + 0x1464]
call fcn.1000dd60
lea ecx, [esi + 0x1484]
call fcn.1000dbd0
lea ecx, [esi + 0x14a4]
call fcn.1000dab0
lea ecx, [esi + 0x14c4]
call fcn.1000d990
lea ecx, [esi + 0x14e4]
call fcn.1000d990
lea ecx, [esi + 0x1504]
call fcn.10003d80
mov byte [esi + 0x1544], 0
lea edi, [esi + 0x15a0]
mov dword [esi + 0x1548], 0
xor eax, eax
mov word [esi + 0x154c], 0
mov byte [esi + 0x154e], 0
mov dword [esi + 0x1550], 0
mov dword [esi + 0x1554], 0
mov dword [esi + 0x1558], 0
mov dword [esi + 0x155c], 0
mov dword [esi + 0x1560], 0
mov dword [esi + 0x1564], 0
mov dword [esi + 0x1568], 0
mov dword [esi + 0x156c], 0
mov dword [esi + 0x1570], 0xa
mov dword [esi + 0x1574], 0xa
mov dword [esi + 0x1578], 0xa
mov dword [esi + 0x157c], 1
mov dword [esi + 0x1580], 0
mov dword [esi + 0x1584], 0
mov dword [esi + 0x1588], 0
mov dword [esi + 0x158c], 0
mov dword [esi + 0x1590], 0
mov dword [esi + 0x1594], 0
mov dword [esi + 0x1598], 0
mov dword [esi + 0x159c], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
lea eax, [esp + 0x14]
push eax
push 0
push 0
push 0x101ab490
call dword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x10003a73
mov edx, dword [esp + 0x14]
mov ecx, edx
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10003995
sub ecx, ebx
mov dword [esp + 0x48], edx
sar ecx, 1
lea eax, [esp + 0x48]
push ecx
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x54]
push eax
call fcn.10024e50
lea eax, [esp + 0x50]
cmp edi, eax
je 0x10003a2d
mov ecx, dword [edi + 0x14]
cmp ecx, 7
jbe 0x100039fc
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x100039f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003d6c
mov eax, edx
push ecx
push eax
call fcn.1017d3f8
add esp, 8
vmovdqu xmm0, xmmword [esp + 0x50]
mov dword [edi + 0x10], 0
xor eax, eax
mov dword [edi + 0x14], 7
mov ecx, 7
vmovdqu xmmword [edi], xmm0
vmovq xmm0, qword [esp + 0x60]
vmovq qword [edi + 0x10], xmm0
mov word [esp + 0x50], ax
jmp 0x10003a31
mov ecx, dword [esp + 0x64]
cmp ecx, 7
jbe 0x10003a69
mov edx, dword [esp + 0x50]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10003a5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003d6c
push ecx
push edx
call fcn.1017d3f8
add esp, 8
push dword [esp + 0x14]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push 0xd
push str.azurreconfig
call fcn.1017b21b
mov edx, eax
lea ecx, [esp + 0x80]
call fcn.100214c0
lea eax, [esp + 0x78]
mov ecx, edi
push eax
call fcn.10025b80
lea ecx, [esp + 0x78]
call fcn.10025e70
mov eax, dword [0x101b4ac0]
lea ecx, [esi + 0x15b8]
mov dword [esp + 0x18], eax
lea edx, [esp + 0x18]
mov ax, word [0x101b4ac4]
mov word [esp + 0x1c], ax
mov al, byte [0x101b4ac6]
mov byte [esp + 0x1e], al
lea eax, [esp + 0x30]
push ecx
push eax
vxorpd xmm0, xmm0, xmm0
push edx
vmovlpd qword [esp + 0x2c], xmm0
mov dword [esp + 0x34], 7
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x2b], 0
call fcn.1000e3d0
mov ebx, 1
lea edi, [esp + 0x30]
nop dword [eax]
mov ecx, dword [edi - 4]
lea edi, [edi - 0x18]
dec ebx
cmp ecx, 0xf
jbe 0x10003b37
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x10003b2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003d6c
mov eax, edx
push ecx
push eax
call fcn.1017d3f8
add esp, 8
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
test ebx, ebx
jne 0x10003b00
mov eax, dword [0x101b4ac0]
lea ecx, [esi + 0x15c4]
mov dword [esp + 0x30], eax
lea edx, [esp + 0x30]
mov ax, word [0x101b4ac4]
mov word [esp + 0x34], ax
mov al, byte [0x101b4ac6]
mov byte [esp + 0x36], al
lea eax, [esp + 0x48]
push ecx
push eax
vxorpd xmm0, xmm0, xmm0
push edx
vmovlpd qword [esp + 0x44], xmm0
mov dword [esp + 0x4c], 7
mov dword [esp + 0x50], 0xf
mov byte [esp + 0x43], bl
call fcn.1000e3d0
mov ebx, 1
lea edi, [esp + 0x48]
mov ecx, dword [edi - 4]
lea edi, [edi - 0x18]
dec ebx
cmp ecx, 0xf
jbe 0x10003bdd
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x10003bd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003d6c
mov eax, edx
push ecx
push eax
call fcn.1017d3f8
add esp, 8
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
test ebx, ebx
jne 0x10003ba6
vxorps xmm0, xmm0, xmm0
vmovss dword [esi + 0x15d0], xmm0
push 0x2c
mov dword [esi + 0x15d4], ebx
mov dword [esi + 0x15d8], ebx
call fcn.1017d6f1
vmovss xmm0, dword [0x10228684]
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 0x15d4], eax
mov dword [esi + 0x15dc], ebx
mov dword [esi + 0x15e0], ebx
mov dword [esi + 0x15e4], ebx
mov dword [esi + 0x15e8], 7
mov dword [esi + 0x15ec], 8
vmovss dword [esi + 0x15d0], xmm0
mov ebx, dword [esi + 0x15d4]
push 0x40
call fcn.1017d6f1
mov ecx, dword [esi + 0x15e4]
mov edi, eax
mov eax, dword [esi + 0x15dc]
add esp, 4
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x10003ca7
shl ecx, 2
cmp ecx, 0x1000
jb 0x10003c9d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003d6c
mov eax, edx
push ecx
push eax
call fcn.1017d3f8
add esp, 8
lea eax, [edi + 0x40]
mov dword [esi + 0x15dc], edi
mov dword [esi + 0x15e0], eax
mov dword [esi + 0x15e4], eax
cmp edi, eax
je 0x10003cc9
mov dword [edi], ebx
add edi, 4
cmp edi, eax
jne 0x10003cc0
mov ecx, esi
mov dword [esi + 0x15f0], 0
mov dword [esi + 0x15f4], 0
mov dword [esi + 0x15f8], 0
call fcn.1000c340
push 0
push 0
push str.default.json
mov ecx, esi
call fcn.10005950
xor eax, eax
mov byte [esp + 0xa7], 0
push eax
lea edi, [esi + 0x15c4]
mov word [esp + 0xb0], ax
push edi
push 0x10003390
lea eax, [esp + 0x9c]
mov byte [esp + 0xb7], 0
push eax
push 0
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_EnumFontFamiliesExW]
mov ecx, dword [edi]
mov edx, dword [esi + 0x15c8]
add ecx, 0x18
mov eax, edx
mov byte [esp + 0x14], 0
push dword [esp + 0x14]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
push eax
call fcn.1001d730
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.101829ea
int3