Function at 0x10009e88
Capabilities:
Get common file path

Disassembly:
mov eax, 0x1004b7c6
call fcn.1004ae30
sub esp, 0x114
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x44], dl
mov byte [ebp - 0x48], cl
je 0x1000a53e
test cl, cl
je 0x10009f37
mov dword [ebp - 0x14], 0x12dd
xor ebx, ebx
cmp dword [ebp - 0x14], 0x1679
jle 0x10009ef1
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x10062a18
cdq
push edx
push eax
call fcn.10003a17
inc edi
cmp edi, 0x107
jl 0x10009ecc
inc esi
cmp esi, 0x4bb2
jl 0x10009eca
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x14], 0xf85
jge 0x10009f0c
mov edx, str.vxkaquc_pbj_ykjh_tdnr_ghjiporln_rxynjcht_qpcyzxvs_fnm
mov ecx, 0x10062a18
call fcn.10006198
mov ecx, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
call fcn.1001ac99
jmp 0x1000a566
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x38], edi
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x1000a497
lea eax, [ebp - 0x88]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
call fcn.1000b27a
mov dword [ebp - 4], 2
mov edi, 0x1421
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x54]
push dword [ebp - 0x54]
sar eax, 1
push eax
push edi
push 0x15cd
call fcn.10027aff
pop ecx
pop ecx
call eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x6c]
call fcn.1000a7d4
push 0xe47
mov byte [ebp - 4], 3
call fcn.10018b3c
cmp dword [ebp - 0x58], 8
pop ecx
movzx edx, ax
lea ecx, [ebp - 0x6c]
cmovae ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x8c], edx
cmp word [ecx + eax*2 - 2], dx
je 0x10009fd9
push edx
push ecx
lea ecx, [ebp - 0x6c]
call fcn.1000aeb2
push ecx
lea eax, [ebp - 0x6c]
mov dl, 1
push eax
push ecx
push ecx
push 0x6146
push ecx
mov ecx, 0x1559
call fcn.10008674
add esp, 0x18
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 8
cmovae eax, dword [ebp - 0x6c]
push ebx
push eax
push edi
push 0x1134
call fcn.10027aff
pop ecx
pop ecx
call eax
lea eax, [ebp - 0x6c]
push eax
push 1
push ecx
push 0x6902
lea edx, [ebp - 0x8c]
call fcn.10009c5c
push 0xad1
push 0x2316
push esi
push ebx
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], ebx
push eax
mov dl, 1
push 0x3bb6
mov cl, dl
call fcn.10009e88
add esp, 0x28
mov dword [ebp + 0x10], ebx
mov eax, ebx
cmp eax, 0x12c
jae 0x1000a48c
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10003b2c
push 0x10
pop edx
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 4
call fcn.10001ae2
push ecx
push ecx
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0xa4]
call fcn.1000b3b3
push 0x2e
pop eax
push 2
mov ecx, ebx
mov dword [ebp - 0x34], 0xc501fa00
mov dword [ebp - 0x30], 0x1d015602
mov word [ebp - 0x2c], 3
mov word [ebp - 0x78], ax
pop esi
mov dword [ebp - 0x40], ecx
cmp esi, 2
jne 0x1000a0c4
push esi
pop ecx
mov dword [ebp - 0x40], ecx
jmp 0x1000a10f
movzx edx, byte [ebp + esi - 0x33]
mov eax, esi
sub eax, ecx
push 1
push 0x3347
push 1
movzx eax, byte [ebp + eax - 0x36]
push 0x36d4
movzx ecx, word [ebp + eax*2 - 0x78]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x34]
add ecx, edx
mov edx, 0xe9e
mov word [ebp + eax*2 - 0x78], cx
lea eax, [ebp - 0x40]
push eax
mov cl, 1
call fcn.10008b57
mov ecx, dword [ebp - 0x40]
add esp, 0x14
add esi, 2
cmp esi, 0xa
jb 0x1000a0b8
xor eax, eax
mov dword [ebp - 0xc0], 7
mov word [ebp - 0x70], ax
lea ecx, [ebp - 0xd4]
mov word [ebp - 0xd4], ax
lea eax, [ebp - 0x78]
push eax
mov dword [ebp - 0xc4], ebx
call fcn.1000af16
push ecx
push ecx
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xa4]
call fcn.1000b3b3
push ebx
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 5
call fcn.100042fb
xor eax, eax
lea edi, [ebp - 0x78]
cmp dword [ebp - 0x90], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
mov edi, 0x1421
push eax
push edi
push 0xa84
call fcn.10027aff
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x1000a460
push ebx
lea eax, [ebp - 0xf0]
push eax
push dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
push dword [eax]
push esi
push edi
push 0xff3
call fcn.10027aff
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0xbc5
setne bl
call fcn.10027aff
pop ecx
pop ecx
call eax
test bl, bl
je 0x1000a45e
mov dword [ebp - 0x1c], 0x2a027800
xor ebx, ebx
mov byte [ebp - 0x18], 0x96
mov dword [ebp - 0x14], 0x34d5
cmp dword [ebp - 0x14], 0x3709
jle 0x1000a248
push 0x18e9
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x10062a18
cdq
push edx
push eax
call fcn.10003a17
inc edi
cmp edi, 0x6489
jl 0x1000a223
inc esi
cmp esi, 0x76a4
jl 0x1000a221
push 0x22
pop edi
mov byte [ebp - 4], 7
cmp dword [ebp - 0x14], 0x333f
mov word [ebp + 0x10], di
jge 0x1000a292
mov edx, str.jgeojqty_cibc_ffmvapcmc
mov ecx, 0x10062a18
call fcn.10006198
jmp 0x1000a292
mov ecx, ebx
mov dword [ebp - 4], 5
mov bl, byte [ebp - 0x1a]
push 2
pop esi
mov dword [ebp - 0x3c], ecx
cmp esi, 2
jne 0x1000a2b7
movzx eax, bl
lea ecx, [eax + 1]
mov dword [ebp - 0x3c], ecx
lea esi, [eax + 1]
jmp 0x1000a2ff
movzx edx, byte [ebp + esi - 0x1b]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x1e]
movzx ecx, word [ebp + eax*2 + 0x10]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x1c]
add ecx, edx
mov dl, 1
push ecx
push 0x3022
mov word [ebp + eax*2 + 0x10], cx
lea eax, [ebp - 0x3c]
push 0x469c
push eax
mov ecx, 0x23ff
call fcn.10008bf5
mov ecx, dword [ebp - 0x3c]
add esp, 0x10
add esi, 2
cmp esi, 5
jb 0x1000a2a4
xor eax, eax
mov dword [ebp - 0xa8], 7
mov word [ebp + 0x12], ax
lea ecx, [ebp - 0xbc]
mov word [ebp - 0xbc], ax
xor ebx, ebx
lea eax, [ebp + 0x10]
mov dword [ebp - 0xac], ebx
push eax
call fcn.1000af16
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 9
push eax
push 0x3893
push 0x1e
push 1
push ecx
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x10], ebx
call fcn.10009c1a
add esp, 0x14
mov dword [ebp - 0x28], 0x71033a00
mov dword [ebp - 0x24], 0xf027301
mov word [ebp - 0x84], di
push 2
pop esi
movzx eax, byte [ebp + esi - 0x2a]
movzx edx, byte [ebp + esi - 0x27]
movzx ecx, word [ebp + eax*2 - 0x84]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [ebp + esi - 0x28]
add edx, ecx
add esi, 2
mov word [ebp + eax*2 - 0x84], dx
cmp esi, 8
jb 0x1000a373
xor eax, eax
mov dword [ebp - 0xd8], 7
mov word [ebp - 0x7c], ax
lea ecx, [ebp - 0xec]
mov word [ebp - 0xec], ax
lea eax, [ebp - 0x84]
push eax
mov dword [ebp - 0xdc], ebx
call fcn.1000af16
push ecx
push ecx
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0xbc]
call fcn.1000b3b3
push ebx
push 1
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 9
call fcn.100042fb
xor eax, eax
lea edi, [ebp - 0x84]
stosd dword es:[edi], eax
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0xbc]
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.1000755a
mov ecx, dword [ebp + 0x1c]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0xbc]
call fcn.100042fb
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.100042fb
push ebx
push 1
lea ecx, [ebp - 0xa4]
call fcn.100042fb
push ebx
push 1
lea ecx, [ebp - 0x6c]
call fcn.100042fb
lea ecx, [ebp - 0x54]
call fcn.1000b30b
jmp 0x1000a566
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.100042fb
push ebx
push 1
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 3
call fcn.100042fb
mov eax, dword [ebp + 0x10]
inc eax
mov dword [ebp + 0x10], eax
jmp 0x1000a051
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 2
jmp 0x1000a446
mov dword [ebp - 0x38], 0x302c
cmp dword [ebp - 0x38], 0x30fb
jle 0x1000a523
xor ebx, ebx
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov edx, esi
mov dword [ebp - 0x20], 0x223c
mov dword [ebp + 0x10], edx
mov edi, ebx
mov esi, ebx
mov ecx, esi
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x120]
xor eax, edx
cdq
push edx
push eax
call fcn.10001a6a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000a4de
mov eax, dword [eax]
push eax
call fcn.10036008
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x120]
call fcn.100040fa
mov edx, dword [ebp + 0x10]
inc esi
cmp esi, 0x66cf
jl 0x1000a4be
inc edi
cmp edi, 0xb67
jl 0x1000a4bc
dec edx
dec dword [ebp - 0x20]
mov dword [ebp + 0x10], edx
jne 0x1000a4ba
mov esi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x21fb
jl 0x1000a4ae
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0x38], 0x2ee1
mov dword [edi], 1
jge 0x1000a566
push str.mxio_xupy_vjmkh_xbtnjgs_rarofngk_cajbcqtf_avktf_dyptfyob
call fcn.10036008
jmp 0x1000a554
test dl, dl
je 0x1000a557
mov eax, dword [ebp + 0x14]
push dword [ebp + 0xc]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov edx, dword [eax]
call fcn.1000e9d3
pop ecx
jmp 0x1000a566
xor ebx, ebx
push ebx
push 0x24f0
push ebx
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret