Function at 0x10036d90
Capabilities:
Contain obfuscated stackstrings
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100dbbf7
mov eax, dword fs:[0]
push eax
sub esp, 0x66c
mov eax, dword [0x10114894]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
push 0x208
lea eax, [ebp - 0x668]
mov dword [ebp - 0x50], 0x6f006d
push 0
push eax
mov dword [ebp - 0x4c], 0x750064
mov dword [ebp - 0x48], 0x65006c
mov dword [ebp - 0x44], 0x67005c
mov dword [ebp - 0x40], 0x740070
mov dword [ebp - 0x3c], 0x640079
mov dword [ebp - 0x38], 0x2e006c
mov dword [ebp - 0x34], 0x6c0064
mov dword [ebp - 0x30], 0x6c
call fcn.10066cd0
add esp, 0xc
lea eax, [ebp - 0x50]
push eax
push dword [ebx + 4]
lea eax, [ebp - 0x668]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
call fcn.100078b0
mov ecx, eax
test ecx, ecx
je 0x100370ec
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x66c], eax
push str.EntryPoint
lea eax, [ebp - 0x668]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x66c]
push str.__s___s
push eax
call fcn.1001abe0
xor eax, eax
mov dword [ebp - 0x2c], 0x750072
push 0x208
push eax
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x460]
push eax
mov dword [ebp - 0x28], 0x64006e
mov dword [ebp - 0x24], 0x6c006c
mov dword [ebp - 0x20], 0x320033
mov dword [ebp - 0x1c], 0x65002e
mov dword [ebp - 0x18], 0x650078
call fcn.10066cd0
add esp, 0x1c
lea eax, [ebp - 0x460]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x460]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
or edi, 0xffffffff
cmp dword [ebp + 8], 0
jne 0x10036efe
mov esi, dword [ebp - 0x66c]
lea eax, [ebp - 0x460]
push edi
push 0
push 0
push 0
push 0
push esi
push eax
call fcn.100308e0
mov ebx, eax
jmp 0x100370b0
call fcn.100239e0
mov ecx, eax
call fcn.1001e070
mov esi, eax
call fcn.100078b0
mov ecx, eax
test ecx, ecx
je 0x100370f6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x674], eax
mov ecx, 0x100fc134
mov byte [ebp - 4], 1
test esi, esi
mov eax, str.__nosc
cmove eax, ecx
push eax
push dword [ebx + 0x70]
lea eax, [ebp - 0x674]
push str.__exe__s____param__s_
push eax
call fcn.1001abe0
push 0x208
lea eax, [ebp - 0x258]
push 0
push eax
call fcn.10066cd0
add esp, 0x1c
lea eax, [ebp - 0x258]
push 0x104
push eax
call fcn.1005fa50
call fcn.100078b0
mov ecx, eax
test ecx, ecx
je 0x10037100
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x670], eax
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x670]
call fcn.10008820
test al, al
jne 0x10036fe2
lea ecx, [ebp - 0x258]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10036fc0
sub ecx, edx
lea eax, [ebp - 0x258]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x670]
call fcn.100070c0
lea eax, [ebp - 0x670]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x674]
push eax
lea eax, [ebp - 0x678]
push eax
call fcn.1004b060
add esp, 0xc
mov edx, dword [ebp - 0x670]
mov eax, edi
mov byte [ebp - 4], 5
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10037024
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x678]
cmp dword [eax - 0xc], 0
jne 0x1003703a
mov esi, dword [ebp - 0x66c]
xor ebx, ebx
jmp 0x10037074
push eax
lea eax, [ebp - 0x66c]
push 0x100e8cac
push eax
call fcn.10035550
mov esi, dword [ebp - 0x66c]
lea eax, [ebp - 0x460]
add esp, 0xc
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
push esi
push eax
call fcn.100308e0
mov ebx, eax
mov eax, dword [ebp - 0x678]
lea edx, [eax - 0x10]
mov byte [ebp - 4], 1
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1003708f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x674]
mov eax, edi
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100370b0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x100370cc
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005e6b8
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.10005050
push 0x80004005
call fcn.10005050
push 0x80004005
call fcn.10005050
int3