Function at 0x100f7760
Capabilities:
Check if file exists
Check mutex on windows
Get session user name

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x55c
mov eax, dword [0x1022c684]
xor eax, ebp
mov dword [ebp - 0xc], eax
push esi
mov dword [ebp - 0x540], 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1010c760
mov dword [ebp - 4], eax
cmp dword [ebp + 0xc], 0
je 0x100f80a3
lea ecx, [ebp - 0x274]
call fcn.10005d40
mov dx, word [0x101d7bd4]
mov word [ebp - 0x480], dx
push 0x1fe
push 0
lea eax, [ebp - 0x47e]
push eax
call fcn.1016f6c0
add esp, 0xc
mov dword [ebp - 0x270], 0x100
lea ecx, [ebp - 0x270]
push ecx
lea edx, [ebp - 0x480]
push edx
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x100f77fb
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0x274]
call fcn.10005e20
lea ecx, [ebp - 0x26c]
call fcn.10005d40
lea ecx, [ebp - 0x274]
call fcn.100043a0
push eax
mov ecx, dword [str.Global_s_deskbar]
push ecx
lea edx, [ebp - 0x26c]
push edx
call fcn.10005660
add esp, 0xc
mov dword [ebp - 0x27c], 0
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ebp - 0x26c]
call fcn.10004390
push eax
push 1
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
jne 0x100f7889
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x100f7889
lea ecx, [ebp - 0x26c]
call fcn.10004390
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x27c], eax
mov eax, dword [0x10232fdc]
add eax, 1
mov dword [0x10232fdc], eax
call fcn.1010c1c0
movzx ecx, byte [0x1022ee0c]
test ecx, ecx
jne 0x100f7a2d
push str._mutex0
lea edx, [ebp - 0x274]
push edx
push 0x101d7be8
push 0x1022edbc
push 0x101d7bec
lea eax, [ebp - 0x4cc]
push eax
call fcn.1001a4e0
add esp, 0xc
push eax
lea ecx, [ebp - 0x4d0]
push ecx
call fcn.10090bb0
add esp, 0xc
push eax
lea edx, [ebp - 0x4d4]
push edx
call fcn.100042a0
add esp, 0xc
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.10090bb0
add esp, 0xc
lea ecx, [ebp - 0x4d4]
call fcn.10005e00
lea ecx, [ebp - 0x4d0]
call fcn.10005e00
lea ecx, [ebp - 0x4cc]
call fcn.10005e00
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ebp - 0x484]
call fcn.10004390
push eax
push 1
push 1
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xec], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x100f7a22
lea ecx, [ebp - 0x484]
call fcn.10004390
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edx, dword [ebp + 8]
mov dword [edx + 0xec], eax
push 0
push ecx
mov eax, esp
mov dword [ebp - 0x4d8], esp
push 1
push eax
call fcn.100e14d0
add esp, 8
call fcn.10108730
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x658], 1
call fcn.100e4e40
push ecx
mov ecx, esp
mov dword [ebp - 0x4dc], esp
push 0x101d7bfc
call fcn.10005d80
push ecx
mov esi, esp
mov dword [ebp - 0x4e0], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x4e4], esp
push 0x101d7c00
call fcn.10005d80
push ecx
mov ecx, esp
mov dword [ebp - 0x4e8], esp
push 0x101d7c04
call fcn.10005d80
push ecx
mov ecx, esp
mov dword [ebp - 0x4ec], esp
push 0x101d7c08
call fcn.10005d80
push esi
call fcn.100e0810
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x4f0], esp
push str.additional_xml
call fcn.10005d80
call fcn.100e0b60
add esp, 0xc
lea ecx, [ebp - 0x484]
call fcn.10005e00
lea ecx, [ebp - 0x278]
call fcn.1010cd10
mov edx, dword [ebp + 8]
mov dword [edx + 0x61c], 0
lea ecx, [ebp - 0x278]
call fcn.1010cd60
push eax
push 0x101f17b8
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ecx]
call eax
test eax, eax
jl 0x100f7a96
lea ecx, [ebp - 0x278]
call fcn.1010cd70
mov dword [ebp - 0x544], eax
mov ecx, dword [ebp + 8]
add ecx, 0x61c
push ecx
mov edx, dword [ebp - 0x544]
push edx
mov eax, dword [ebp - 0x544]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
call edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x61c]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x100f7ae0
mov dword [ebp - 0x4f4], 0x80004005
lea ecx, [ebp - 0x278]
call fcn.1010b9e0
lea ecx, [ebp - 0x26c]
call fcn.10005e00
lea ecx, [ebp - 0x274]
call fcn.10005e00
mov eax, dword [ebp - 0x4f4]
jmp 0x100f8234
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 8]
call fcn.100dcb80
mov eax, dword [ebp + 8]
cmp dword [eax + 0x624], 0
je 0x100f7b05
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x624], 0
lea ecx, [ebp - 8]
call fcn.100d6c60
mov dword [ebp - 0x548], eax
mov edx, dword [ebp + 8]
add edx, 0x624
push edx
push 0x101f1918
push 0x101f1908
mov eax, dword [ebp - 0x548]
push eax
mov ecx, dword [ebp - 0x548]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
test eax, eax
jge 0x100f7c3a
mov ecx, dword [ebp + 8]
add ecx, 0x624
push ecx
push 0x101f1918
push 1
push 0
push 0x101f1948
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x100f7ba8
mov dword [ebp - 0x4f8], 0x80004005
lea ecx, [ebp - 8]
call fcn.100dc9e0
lea ecx, [ebp - 0x278]
call fcn.1010b9e0
lea ecx, [ebp - 0x26c]
call fcn.10005e00
lea ecx, [ebp - 0x274]
call fcn.10005e00
mov eax, dword [ebp - 0x4f8]
jmp 0x100f8234
mov edx, dword [ebp + 8]
mov byte [edx + 0x63c], 1
push 0x101d7c58
lea ecx, [ebp - 0x4fc]
call fcn.10003dd0
push eax
lea ecx, [ebp - 0x4a8]
call fcn.10019d00
lea ecx, [ebp - 0x4fc]
call fcn.100058a0
lea ecx, [ebp - 0x498]
call fcn.10012560
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x498]
push ecx
lea edx, [ebp - 0x498]
push edx
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x4a8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x624]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x624]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0xd0]
call ecx
lea ecx, [ebp - 0x498]
call fcn.10012580
lea ecx, [ebp - 0x4a8]
call fcn.10012580
mov dx, word [0x101d7c70]
mov word [ebp - 0x268], dx
push 0x256
push 0
lea eax, [ebp - 0x266]
push eax
call fcn.1016f6c0
add esp, 0xc
push 0x12c
lea ecx, [ebp - 0x268]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x61c]
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
push str.ReBarWindow32
lea ecx, [ebp - 0x268]
push ecx
call fcn.1016f1ec
add esp, 8
test eax, eax
je 0x100f7db9
push 0x101d7c90
push ecx
mov ecx, esp
mov dword [ebp - 0x504], esp
push 0x101d7c94
call fcn.10005d80
push ecx
mov ecx, esp
mov dword [ebp - 0x508], esp
push 0x101d7c98
call fcn.10005d80
push ecx
mov ecx, esp
mov dword [ebp - 0x50c], esp
push 0x101d7c9c
call fcn.10005d80
lea edx, [ebp - 0x510]
push edx
call fcn.100e0810
add esp, 0x10
or dword [ebp - 0x540], 1
push eax
call fcn.10004370
add esp, 8
movzx eax, al
test eax, eax
je 0x100f7d20
mov ecx, dword [str.Internet_Explorer_Server]
push ecx
lea edx, [ebp - 0x268]
push edx
call fcn.1016f1ec
add esp, 8
test eax, eax
jne 0x100f7d20
mov dword [ebp - 0x54c], 1
jmp 0x100f7d2a
mov dword [ebp - 0x54c], 0
mov al, byte [ebp - 0x54c]
mov byte [ebp - 0x4fd], al
mov ecx, dword [ebp - 0x540]
and ecx, 1
je 0x100f7d53
and dword [ebp - 0x540], 0xfffffffe
lea ecx, [ebp - 0x510]
call fcn.10005e00
movzx edx, byte [ebp - 0x4fd]
test edx, edx
je 0x100f7d7b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x624]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x624]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0x80]
call edx
mov dword [ebp - 0x514], 0
lea ecx, [ebp - 8]
call fcn.100dc9e0
lea ecx, [ebp - 0x278]
call fcn.1010b9e0
lea ecx, [ebp - 0x26c]
call fcn.10005e00
lea ecx, [ebp - 0x274]
call fcn.10005e00
mov eax, dword [ebp - 0x514]
jmp 0x100f8234
mov ecx, dword [ebp + 8]
add ecx, 0x620
call fcn.1010c550
lea ecx, [ebp - 8]
call fcn.100d6c60
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp + 8]
add ecx, 0x620
call fcn.100d0670
push eax
push 0x101f1918
push 0x101f1908
mov eax, dword [ebp - 0x550]
push eax
mov ecx, dword [ebp - 0x550]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
test eax, eax
jge 0x100f7f14
mov ecx, dword [ebp + 8]
add ecx, 0x620
call fcn.100d0670
push eax
push 0x101f1918
push 1
push 0
push 0x101f1948
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x100f7e74
mov dword [ebp - 0x518], 0x80004005
lea ecx, [ebp - 8]
call fcn.100dc9e0
lea ecx, [ebp - 0x278]
call fcn.1010b9e0
lea ecx, [ebp - 0x26c]
call fcn.10005e00
lea ecx, [ebp - 0x274]
call fcn.10005e00
mov eax, dword [ebp - 0x518]
jmp 0x100f8234
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x63c], 1
push 0x101d7cb4
lea ecx, [ebp - 0x51c]
call fcn.10003dd0
push eax
lea ecx, [ebp - 0x4c8]
call fcn.10019d00
lea ecx, [ebp - 0x51c]
call fcn.100058a0
lea ecx, [ebp - 0x4b8]
call fcn.10012560
mov ecx, dword [ebp + 8]
add ecx, 0x620
call fcn.10098830
mov dword [ebp - 0x554], eax
lea edx, [ebp - 0x4b8]
push edx
lea eax, [ebp - 0x4b8]
push eax
lea ecx, [ebp - 0x4b8]
push ecx
lea edx, [ebp - 0x4b8]
push edx
lea eax, [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x554]
push ecx
mov edx, dword [ebp - 0x554]
mov eax, dword [edx]
mov ecx, dword [eax + 0xd0]
call ecx
lea ecx, [ebp - 0x4b8]
call fcn.10012580
lea ecx, [ebp - 0x4c8]
call fcn.10012580
mov ecx, dword [ebp + 8]
add ecx, 0x124
call fcn.1010ccb0
push eax
push 0x101f69b8
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [eax]
call edx
test eax, eax
jge 0x100f7f77
mov dword [ebp - 0x520], 0x80004005
lea ecx, [ebp - 8]
call fcn.100dc9e0
lea ecx, [ebp - 0x278]
call fcn.1010b9e0
lea ecx, [ebp - 0x26c]
call fcn.10005e00
lea ecx, [ebp - 0x274]
call fcn.10005e00
mov eax, dword [ebp - 0x520]
jmp 0x100f8234
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x624]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x14
call fcn.1010c820
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x100f7fd3
mov dword [ebp - 0x524], 0x80004005
lea ecx, [ebp - 8]
call fcn.100dc9e0
lea ecx, [ebp - 0x278]
call fcn.1010b9e0
lea ecx, [ebp - 0x26c]
call fcn.10005e00
lea ecx, [ebp - 0x274]
call fcn.10005e00
mov eax, dword [ebp - 0x524]
jmp 0x100f8234
mov ecx, dword [ebp + 8]
sub ecx, 4
call fcn.100f63e0
test eax, eax
jne 0x100f8020
mov dword [ebp - 0x528], 0x80004005
lea ecx, [ebp - 8]
call fcn.100dc9e0
lea ecx, [ebp - 0x278]
call fcn.1010b9e0
lea ecx, [ebp - 0x26c]
call fcn.10005e00
lea ecx, [ebp - 0x274]
call fcn.10005e00
mov eax, dword [ebp - 0x528]
jmp 0x100f8234
mov edx, dword [ebp + 8]
add edx, 0x12c
je 0x100f803b
mov eax, dword [ebp + 8]
add eax, 0x1ec
mov dword [ebp - 0x558], eax
jmp 0x100f8045
mov dword [ebp - 0x558], 0
mov ecx, dword [ebp - 0x558]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x1f0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1f0]
mov edx, dword [eax + 0x5c]
call edx
push eax
call dword [sym.imp.ole32.dll_RegisterDragDrop]
mov ecx, dword [ebp + 8]
sub ecx, 4
call fcn.1010a690
lea ecx, [ebp - 8]
call fcn.100dc9e0
lea ecx, [ebp - 0x278]
call fcn.1010b9e0
lea ecx, [ebp - 0x26c]
call fcn.10005e00
lea ecx, [ebp - 0x274]
call fcn.10005e00
jmp 0x100f8232
mov ecx, dword [ebp + 8]
add ecx, 0x12c
call fcn.10136350
mov eax, dword [ebp + 8]
cmp dword [eax + 0x65c], 0
je 0x100f810d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x65c]
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x530]
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
je 0x100f80f6
push 1
mov ecx, dword [ebp - 0x52c]
call fcn.1010ba00
mov dword [ebp - 0x55c], eax
jmp 0x100f8100
mov dword [ebp - 0x55c], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x65c], 0
mov ecx, dword [ebp + 8]
add ecx, 0x124
call fcn.1010cca0
test eax, eax
je 0x100f812f
push 0
mov ecx, dword [ebp + 8]
add ecx, 0x124
call fcn.1010cc60
mov edx, dword [ebp + 8]
cmp dword [edx + 0x624], 0
jne 0x100f8142
xor eax, eax
jmp 0x100f8234
mov eax, dword [ebp + 8]
cmp dword [eax + 0x624], 0
je 0x100f8168
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x624]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x624]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x624], 0
mov ecx, dword [ebp + 8]
add ecx, 0x620
call fcn.10014340
test eax, eax
je 0x100f8195
mov ecx, dword [ebp + 8]
add ecx, 0x620
call fcn.1010c550
mov byte [0x10232007], 0
mov edx, dword [0x10232fdc]
sub edx, 1
mov dword [0x10232fdc], edx
jne 0x100f8216
movzx eax, byte [0x1022ee0c]
test eax, eax
jne 0x100f8216
push 0
push 0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x534], esp
push 0
push ecx
call fcn.100e14d0
add esp, 8
call fcn.100a70c0
add esp, 0x10
push ecx
mov esi, esp
mov dword [ebp - 0x538], esp
push 0x101d7ccc
push 0
lea edx, [ebp - 0x53c]
push edx
call fcn.100e14d0
add esp, 8
push eax
push esi
call fcn.10090bb0
add esp, 0xc
call fcn.100a7390
add esp, 4
lea ecx, [ebp - 0x53c]
call fcn.10005e00
mov eax, dword [ebp + 8]
cmp dword [eax + 0xec], 0
je 0x100f8232
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xec]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1016f6a2
mov esp, ebp
pop ebp
ret 8