Function at 0x100bb57
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x1013668
push 0x1007742
mov eax, dword fs:[0]
push eax
push ecx
push ecx
mov eax, 0x104c
call fcn.01012ad0
mov eax, dword [section..data]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xf6c], eax
mov eax, dword [ebp + 0xc]
and eax, 0x10000000
mov dword [ebp - 0xf64], eax
mov esi, dword [ebp + 0xc]
and esi, 1
add esi, esi
mov eax, dword [ebp + 0xc]
shr eax, 0x14
and eax, 1
lea ecx, [ebp - 0xd50]
mov dword [ebp - 0xf78], ecx
mov dword [ebp - 0xf60], 0x1001a20
mov ebx, 0x10017dc
mov edi, ebx
push eax
call fcn.0100cfd0
test eax, eax
jne 0x100bbeb
xor eax, eax
jmp 0x100c3cb
call fcn.0100a986
test eax, eax
je 0x100bc03
mov edi, 0x10017ac
mov dword [ebp - 0xf60], 0x1001a00
push 1
push edi
call dword [0x1018548]
mov dword [ebp - 0xf5c], eax
xor edi, edi
cmp eax, edi
jne 0x100bc44
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x100bc3c
mov dword [ebp - 0xf60], 0x1001a20
push 1
push ebx
call dword [0x1018548]
mov dword [ebp - 0xf5c], eax
cmp dword [ebp - 0xf5c], edi
je 0x100bbe4
cmp dword [ebp - 0xf64], edi
jne 0x100bc52
inc dword [0x1018508]
xor eax, eax
mov ebx, dword [0x1018504]
cmp ebx, edi
setne al
mov dword [ebp - 0xf68], eax
cmp eax, edi
je 0x100c204
mov dword [ebp - 0xf60], ebx
mov dword [ebp - 0xf74], edi
cmp dword [ebp - 0xf6c], edi
je 0x100bca4
push dword [ebp - 0xf6c]
push 0x1001c28
push 0x104
lea eax, [ebp - 0x120]
push eax
call fcn.0100b001
add esp, 0x10
test eax, eax
jns 0x100bcd0
push 0xfa
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x100bcd0
push 0x1001c24
push 0x104
lea eax, [ebp - 0x120]
push eax
call fcn.0100af5d
mov dword [ebp - 4], edi
lea eax, [ebp - 0x328]
mov dword [ebp - 0x1054], eax
mov dword [ebp - 0x1050], esi
mov dword [ebp - 0x104c], edi
mov dword [ebp - 0x1048], edi
lea eax, [ebp - 0x530]
mov dword [ebp - 0xff4], eax
mov dword [ebp - 0xff0], esi
mov dword [ebp - 0xfec], edi
mov dword [ebp - 0xfe8], edi
lea eax, [ebp - 0x940]
mov dword [ebp - 0x1034], eax
mov dword [ebp - 0x1030], esi
mov dword [ebp - 0x102c], edi
mov dword [ebp - 0x1028], edi
lea eax, [ebp - 0x738]
mov dword [ebp - 0x1064], eax
mov dword [ebp - 0x1060], esi
mov dword [ebp - 0x105c], edi
mov dword [ebp - 0x1058], edi
mov dword [ebp - 0x1014], 0x1001c14
mov dword [ebp - 0x1010], edi
mov dword [ebp - 0x100c], edi
mov dword [ebp - 0x1008], edi
lea eax, [ebp - 0xb48]
mov dword [ebp - 0xfe4], eax
mov dword [ebp - 0xfe0], esi
mov dword [ebp - 0xfdc], edi
mov dword [ebp - 0xfd8], edi
lea eax, [ebp - 0xf58]
mov dword [ebp - 0x1004], eax
mov dword [ebp - 0x1000], esi
mov dword [ebp - 0xffc], edi
mov dword [ebp - 0xff8], edi
mov dword [ebp - 0xf90], 0x10019c0
mov eax, 0x10019f8
mov dword [ebp - 0xf8c], eax
mov edx, 0x10019f0
mov dword [ebp - 0xf88], edx
mov ecx, 0x10019c8
mov dword [ebp - 0xf84], ecx
mov dword [ebp - 0xf80], 0x10019b8
mov dword [ebp - 0xf7c], edi
mov dword [ebp - 0xfc4], eax
mov dword [ebp - 0xfc0], edx
mov dword [ebp - 0xfbc], 0x10019e8
mov dword [ebp - 0xfb8], 0x10019e0
mov dword [ebp - 0xfb4], 0x10019d8
mov dword [ebp - 0xfb0], 0x10019d0
mov dword [ebp - 0xfac], ecx
mov dword [ebp - 0xf70], 0x1001bfc
mov dword [ebp - 0xf6c], 0x1001bc4
mov dword [ebp - 0xfa8], 0x1001bac
mov dword [ebp - 0xfa4], 0x1001b7c
mov dword [ebp - 0x1044], eax
mov edx, 0x4000000
mov dword [ebp - 0x1040], edx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x103c], ecx
mov dword [ebp - 0x1038], edi
mov dword [ebp - 0xfa0], eax
mov dword [ebp - 0xf9c], 0x2000000
mov dword [ebp - 0xf98], ecx
mov dword [ebp - 0xf94], edi
mov dword [ebp - 0x1024], eax
mov dword [ebp - 0x1020], 0x3000000
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1018], ecx
mov dword [ebp - 0xfd4], eax
mov dword [ebp - 0xfd0], edx
mov dword [ebp - 0xfcc], edi
mov dword [ebp - 0xfc8], edi
push 0x1001b60
lea eax, [ebp - 0x120]
push eax
mov esi, 0x1001b54
push esi
push 0x104
lea eax, [ebp - 0x328]
push eax
call fcn.010051d0
add esp, 0x14
test eax, eax
js 0x100c3ba
push 0x1001b38
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0x530]
push eax
call fcn.010051d0
add esp, 0x14
test eax, eax
js 0x100c3ba
push 0x1001b1c
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0x738]
push eax
call fcn.010051d0
add esp, 0x14
test eax, eax
js 0x100c3ba
push 0x1001b04
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0xb48]
push eax
call fcn.010051d0
add esp, 0x14
test eax, eax
js 0x100c3ba
push 0x1001aec
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0xf58]
push eax
call fcn.010051d0
add esp, 0x14
test eax, eax
js 0x100c3ba
push 0x1001ad8
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0x940]
push eax
call fcn.010051d0
add esp, 0x14
test eax, eax
js 0x100c3ba
push 0x1001abc
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0xd50]
push eax
call fcn.010051d0
add esp, 0x14
test eax, eax
js 0x100c3ba
test dword [ebp + 0xc], 0x2000000
je 0x100bfe7
mov dword [0x1018518], 1
mov esi, 0x1000000
test dword [ebp + 0xc], esi
je 0x100c00f
test dword [0x101850c], esi
jne 0x100c00f
push 0x100b7d5
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov dword [0x101851c], eax
or dword [0x101850c], esi
call fcn.0100acfc
test eax, eax
je 0x100c3ba
mov eax, 0x1000
mov esi, 0x1001414
test dword [ebp + 0xc], eax
je 0x100c06b
test dword [0x101850c], eax
jne 0x100c06b
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1054]
push ecx
push 0x1001424
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0x1044]
push ecx
push 0x1001404
push ebx
call dword [eax]
test eax, eax
je 0x100c3ba
or dword [0x101850c], 0x1000
mov eax, 0x2000
test dword [ebp + 0xc], eax
je 0x100c0b5
test dword [0x101850c], eax
jne 0x100c0b5
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xff4]
push ecx
push 0x1001424
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0xfa0]
push ecx
push 0x1001404
push ebx
call dword [eax]
test eax, eax
je 0x100c3ba
or dword [0x101850c], 0x2000
mov eax, 0x20000
test dword [ebp + 0xc], eax
je 0x100c0f5
test dword [0x101850c], eax
jne 0x100c0f5
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1034]
push ecx
push 0x1001424
lea ecx, [ebp - 0xf90]
push ecx
push esi
push edi
push edi
push ebx
call dword [eax]
test eax, eax
je 0x100c3ba
or dword [0x101850c], 0x20000
mov eax, dword [ebp + 0xc]
and eax, 0xc0000
or dword [0x101850c], eax
mov eax, 0x10000
test dword [ebp + 0xc], eax
je 0x100c14d
test dword [0x101850c], eax
jne 0x100c14d
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1014]
push ecx
push 0x1001424
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0xfd4]
push ecx
push 0x1001404
push ebx
call dword [eax]
test eax, eax
je 0x100c3ba
or dword [0x101850c], 0x10000
mov eax, 0x8000
test dword [ebp + 0xc], eax
je 0x100c18b
test dword [0x101850c], eax
jne 0x100c18b
mov eax, dword [ebx]
push edi
push edi
push edi
lea ecx, [ebp - 0xfc4]
push ecx
push 0x1001444
push ecx
push 0x1001454
push ebx
call dword [eax]
test eax, eax
je 0x100c3ba
or dword [0x101850c], 0x8000
mov eax, 0x80000000
test dword [ebp + 0xc], eax
je 0x100c256
test dword [0x101850c], eax
jne 0x100c256
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xf70]
push ecx
push 0x1001434
lea ecx, [ebp - 0xf90]
push ecx
push esi
push edi
push edi
push ebx
call dword [eax]
test eax, eax
je 0x100c3ba
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xfa8]
push ecx
push 0x1001434
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0xfa0]
push ecx
mov esi, 0x1001404
push esi
push ebx
call dword [eax]
test eax, eax
je 0x100c3ba
or dword [0x101850c], 0x80000000
jmp 0x100c25b
call fcn.0100d6cc
push 0x11
push 0x1015958
push dword [ebp - 0xf60]
call fcn.0100f0e0
mov ebx, eax
mov dword [ebp - 0xf60], ebx
cmp ebx, edi
jne 0x100bc73
cmp dword [ebp - 0xf64], edi
jne 0x100c239
dec dword [0x1018508]
push dword [ebp - 0xf5c]
call dword [0x101854c]
push dword [ebp - 0xf5c]
call dword [0x1018554]
jmp 0x100bbe4
mov esi, 0x1001404
mov eax, 0x4000
test dword [ebp + 0xc], eax
je 0x100c2c7
test dword [0x101850c], eax
jne 0x100c2c7
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xfe4]
push ecx
push 0x1001424
push edi
push 0x1001464
lea ecx, [ebp - 0xfa0]
push ecx
push esi
push ebx
call dword [eax]
test eax, eax
je 0x100c3ba
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1004]
push ecx
push 0x1001424
push edi
push 0x1001464
lea ecx, [ebp - 0x1024]
push ecx
push esi
push ebx
call dword [eax]
test eax, eax
je 0x100c3ba
or dword [0x101850c], 0x4000
cmp dword [ebp - 0xf68], edi
jne 0x100c2ff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [0x1018514], eax
mov dword [0x1018504], ebx
mov esi, 0x104
push esi
push 0x1015640
push edi
call dword [0x1018574]
push esi
push str._unknown_
push edi
call dword [0x1018578]
mov dword [ebp - 0xf74], 1
cmp dword [ebp - 0xf68], edi
jne 0x100c36e
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xf78]
push ecx
push 0x1001474
push ebx
call dword [eax + 8]
test eax, eax
jne 0x100c36e
cmp dword [0x1015950], edi
je 0x100c36e
mov esi, dword [ebp + 4]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x10017dc
push 0x1001a58
push 0x595
push edi
push 0x100307c
push 0x90000
push 0x1001a34
push 0x67000000
call fcn.01004cc5
pop ecx
pop ecx
push eax
call fcn.0100b353
mov esi, 0x4000000
mov eax, dword [ebp + 0xc]
test esi, eax
je 0x100c39a
test dword [0x101850c], esi
jne 0x100c39a
shr eax, 0x1b
and eax, 1
push 0x100b827
push eax
call dword [0x1018584]
or dword [0x101850c], esi
test dword [ebp + 0xc], 2
je 0x100c3ab
mov eax, dword [ebx]
push ebx
call dword [eax + 0x18]
jmp 0x100c3ba
test dword [ebp + 0xc], 4
je 0x100c3ba
mov eax, dword [ebx]
push ebx
call dword [eax + 0x1c]
mov dword [ebp - 4], 0xfffffffe
call fcn.0100c3ef
mov eax, dword [0x1018504]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.01007066
leave
ret 0xc