Function at 0x10006090
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d0270
mov eax, dword fs:[0]
push eax
sub esp, 0x100
mov eax, dword [0x10105018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x110
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
call fcn.100a8eb1
push pe_nt_image_headers32
mov esi, eax
mov dword [ebp - 0x18], pe_nt_image_headers32
push 0
push esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], 0x10f
call fcn.100aaf70
add esp, 0x10
mov byte [esi + 0x100], 0
mov dword [ebp - 4], 0
lea esi, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
cmovae esi, dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_GetActiveWindow]
push 0
push 0x14
push esi
push eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x100067f9
call fcn.10031ef0
cmp dword [ebp - 0x14], 0x10
lea edi, [ebp - 0x28]
mov esi, dword [ebp - 0x18]
cmovae edi, dword [ebp - 0x28]
test esi, esi
je 0x1000615f
push esi
push 0
push edi
call fcn.100ab0d0
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1000615f
sub ecx, edi
jmp 0x10006162
or ecx, 0xffffffff
cmp ecx, esi
ja 0x1000617a
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], ecx
cmovae eax, dword [ebp - 0x28]
mov byte [eax + ecx], 0
jmp 0x100061bd
mov edx, dword [ebp - 0x14]
mov edi, ecx
mov eax, edx
sub edi, esi
sub eax, esi
cmp edi, eax
ja 0x100061aa
cmp edx, 0x10
mov dword [ebp - 0x18], ecx
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push edi
add esi, eax
push 0
push esi
call fcn.100aaf70
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x100061bd
push 0
push edi
mov byte [ebp - 0x5c], 0
lea ecx, [ebp - 0x28]
push dword [ebp - 0x5c]
push edi
call fcn.1000e4c0
mov ecx, dword [0x101079ec]
mov edx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test ecx, ecx
jne 0x100061e2
push str.samp.dll
call edx
mov edx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov dword [0x101079ec], ecx
mov eax, dword [0x101079d8]
mov esi, ecx
cmp eax, 1
jg 0x10006230
test esi, esi
jne 0x10006201
push str.samp.dll
call edx
mov ecx, eax
mov dword [0x101079ec], ecx
test ecx, ecx
jne 0x10006209
xor eax, eax
jmp 0x10006230
mov eax, dword [ecx + 0x3c]
mov ecx, dword [eax + ecx + 0x28]
cmp ecx, 0xcc4d0
je 0x10006226
xor eax, eax
cmp ecx, 0x31df13
sete al
inc eax
jmp 0x1000622b
mov eax, 3
mov dword [0x101079d8], eax
add eax, 0xfffffffe
imul eax, eax, 0x5c
mov eax, dword [eax + 0x100f7d54]
add eax, esi
call eax
mov edx, eax
mov dword [ebp - 0x30], 0
mov ecx, edx
mov dword [ebp - 0x2c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10006260
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.1000e300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x30]
cmovae ecx, esi
mov dword [ebp - 0x64], edi
cmp edi, 5
jne 0x10006341
mov esi, edi
mov edx, str.Arial
sub esi, 4
jb 0x100062b2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100062b7
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100062a1
cmp esi, 0xfffffffc
je 0x100062eb
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100062e4
cmp esi, 0xfffffffd
je 0x100062eb
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100062e4
cmp esi, 0xfffffffe
je 0x100062eb
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100062e4
cmp esi, 0xffffffff
je 0x100062eb
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100062eb
sbb eax, eax
or eax, 1
jmp 0x100062ed
xor eax, eax
test eax, eax
jne 0x1000633b
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
sub eax, edi
cmp eax, 2
jb 0x1000631d
lea eax, [edi + 2]
cmp ecx, 0x10
mov dword [ebp - 0x30], eax
mov ecx, 0x6442
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
mov word [edi + eax], cx
mov byte [edi + eax + 2], 0
jmp 0x10006335
push 2
push 0x100f7920
mov byte [ebp - 0x5c], 0
lea ecx, [ebp - 0x40]
push dword [ebp - 0x5c]
push 2
call fcn.1000e620
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x64], edi
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x40]
mov eax, 0x7fffffff
sub eax, edi
cmp eax, 1
jb 0x10006844
cmp edx, 0x10
mov dword [ebp - 0x6c], 0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x68], 0
cmovae eax, esi
lea ecx, [edi + 1]
mov esi, 0xf
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
xorps xmm0, xmm0
lea edi, [ebp - 0x7c]
movups xmmword [ebp - 0x7c], xmm0
cmp ecx, esi
jbe 0x100063f7
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x100063bd
mov ecx, 0x80000000
mov esi, 0x7fffffff
add ecx, 0x23
push ecx
call fcn.100a8eb1
add esp, 4
test eax, eax
je 0x1000684e
mov ecx, dword [ebp - 0x5c]
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x100063f4
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x100063de
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x10006849
jmp 0x1000639e
test eax, eax
je 0x100063f2
push eax
call fcn.100a8eb1
mov ecx, dword [ebp - 0x5c]
add esp, 4
mov edi, eax
jmp 0x100063f4
xor edi, edi
mov dword [ebp - 0x7c], edi
push dword [ebp - 0x64]
lea eax, [edi + 1]
mov dword [ebp - 0x6c], ecx
push dword [ebp - 0x60]
mov dword [ebp - 0x68], esi
push eax
mov byte [edi], 0x5c
call fcn.100aa9f0
mov eax, dword [ebp - 0x5c]
mov byte [edi + eax], 0
push str..ttf
lea edx, [ebp - 0x7c]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x94]
call fcn.1000db00
add esp, 0x10
mov ecx, eax
mov byte [ebp - 4], 3
cmp dword [ecx + 0x14], 0x10
mov edi, dword [ecx + 0x10]
jb 0x10006441
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
sub eax, edx
mov dword [ebp - 0x60], edx
push edi
push ecx
cmp edi, eax
ja 0x1000647b
cmp dword [ebp - 0x14], 0x10
lea esi, [ebp - 0x28]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
lea eax, [esi + edx]
push eax
call fcn.100aa9f0
mov ecx, dword [ebp - 0x60]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x1000648b
mov byte [ebp - 0x60], 0
lea ecx, [ebp - 0x28]
push dword [ebp - 0x60]
push edi
call fcn.1000e620
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x80]
cmp ecx, 0x10
jb 0x100064c6
mov edx, dword [ebp - 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100064bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000684e
push ecx
push edx
call fcn.100a91fb
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0xf
mov byte [ebp - 0x94], 0
cmp ecx, 0x10
jb 0x10006516
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000650c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000684e
push ecx
push edx
call fcn.100a91fb
add esp, 8
mov esi, dword [0x10107a10]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
mov byte [ebp - 0x7c], 0
mov ecx, dword [esi + 0x98]
mov dword [ebp - 0x64], esi
call fcn.1002e2b0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x44], 0
push 0x800
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 5
call fcn.1000b390
mov edi, dword [ebp - 0x44]
push 0x2000
push 0
push edi
mov dword [ebp - 0x4c], 0x800
call fcn.100aaf70
add esp, 0xc
mov byte [ebp - 4], 6
mov eax, 0x100fc512
or dword [esi + 8], 0x20
mov ecx, 0x20
mov dword [ebp - 0x5c], eax
movzx esi, cx
cmp cx, word [eax]
ja 0x100065ce
nop
movzx ecx, si
mov eax, 1
mov edx, ecx
inc esi
shr edx, 5
and ecx, 0x1f
shl eax, cl
or dword [edi + edx*4], eax
mov eax, dword [ebp - 0x5c]
cmp si, word [eax]
jbe 0x100065b0
add eax, 4
mov dword [ebp - 0x5c], eax
movzx eax, word [eax - 2]
mov ecx, eax
test ax, ax
mov eax, dword [ebp - 0x5c]
jne 0x100065a6
mov esi, 0x100f7930
nop word [eax + eax]
push 0
mov edx, esi
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x5c]
call fcn.10017b90
add esp, 4
add esi, eax
test eax, eax
je 0x10006626
movzx edx, word [ebp - 0x5c]
mov ecx, edx
and edx, 0x1f
shr ecx, 5
mov eax, dword [edi + ecx*4]
bts eax, edx
mov dword [edi + ecx*4], eax
cmp byte [esi], 0
jne 0x100065f0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x4c]
call fcn.1002f2a0
mov ecx, dword [0x101079ec]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test ecx, ecx
jne 0x10006651
push str.samp.dll
call edi
mov ecx, eax
mov dword [0x101079ec], ecx
mov eax, dword [0x101079d8]
mov esi, ecx
cmp eax, 1
jg 0x1000669f
test esi, esi
jne 0x10006670
push str.samp.dll
call edi
mov ecx, eax
mov dword [0x101079ec], ecx
test ecx, ecx
jne 0x10006678
xor eax, eax
jmp 0x1000669f
mov eax, dword [ecx + 0x3c]
mov ecx, dword [eax + ecx + 0x28]
cmp ecx, 0xcc4d0
je 0x10006695
xor eax, eax
cmp ecx, 0x31df13
sete al
inc eax
jmp 0x1000669a
mov eax, 3
mov dword [0x101079d8], eax
add eax, 0xfffffffe
imul eax, eax, 0x5c
mov eax, dword [eax + 0x100f7d60]
add eax, esi
call eax
push 0x78
push 0
movd xmm0, eax
lea eax, [ebp - 0x10c]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebp - 0x60], xmm0
movss dword [0x10107b94], xmm0
call fcn.100aaf70
or dword [ebp - 0xcc], 0xc
lea ecx, [ebp - 0x10c]
movss xmm2, dword [ebp - 0x60]
add esp, 0xc
cmp dword [ebp - 0x14], 0x10
mov eax, 0xffff
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x64]
subss xmm2, dword [0x100fcbe8]
mov word [ebp - 0xc4], ax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push esi
push ecx
mov ecx, dword [edi + 0x98]
push eax
mov byte [ebp - 0x104], 1
mov dword [ebp - 0xf8], 3
mov dword [ebp - 0xf4], 1
mov dword [ebp - 0xd4], 0x7f7fffff
mov dword [ebp - 0xc8], 0x3f800000
call fcn.1002e760
mov ecx, dword [edi + 0x98]
mov eax, dword [ecx + 0x458]
test eax, eax
jne 0x10006769
mov dword [0x10107f80], 0x10046ad0
mov eax, 0x10107f80
mov eax, dword [eax]
push ecx
call eax
mov eax, dword [0x10107a10]
add esp, 4
cmp dword [0x10107a30], 0
mov dword [eax + 0x1564], 0x40000000
je 0x10006793
call fcn.10031d20
mov eax, dword [0x10107a10]
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x100067b2
test eax, eax
je 0x100067a4
dec dword [eax + 0x370]
push ecx
call fcn.100b1148
mov eax, dword [0x10107a10]
add esp, 4
test esi, esi
je 0x100067c9
test eax, eax
je 0x100067c0
dec dword [eax + 0x370]
push esi
call fcn.100b1148
add esp, 4
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x100067f9
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100067ef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10006853
push ecx
push edx
call fcn.100a91fb
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x10006829
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000681f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10006858
push ecx
push edx
call fcn.100a91fb
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100a8abc
mov esp, ebp
pop ebp
ret
call fcn.10001370
call fcn.100012d0
call fcn.100b5da6
call fcn.100b5da6
call fcn.100b5da6
int3