Function at 0x10031be0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
push 0x1018fba0
push 0x7d1
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
movzx edx, word [0x1018e7c4]
mov ebx, eax
mov esi, dword [0x1018e810]
mov eax, edx
mov dword [esp + 0x1c], ebx
mov dword [0x1018e7c8], ebx
cmp esi, edx
jb 0x10031c34
add dword [0x1018e7dc], ebx
imul eax, ebx, 0x164a
add eax, edx
add eax, esi
mov word [0x1018e7c4], ax
movzx eax, ax
mov ebx, dword [0x1018e814]
mov edx, 0x1018e85c
movzx ecx, ax
movzx eax, cx
movzx edi, cx
cmp eax, dword [0x1018e7ec]
je 0x10031c7a
add dword [edx], esi
sub edx, 8
movzx ecx, bx
lea eax, [ecx + esi]
lea eax, [eax*2 + 0x5a78]
sub eax, ecx
add eax, esi
mov word [0x1018e7c4], ax
movzx ecx, ax
movzx edi, ax
cmp edx, 0x1018e7d8
jg 0x10031c42
movzx ecx, di
call fcn.10032080
mov ebx, dword [esp + 0x1c]
sub ebx, dword [0x1018e814]
push 0x7d1
push 0x101a5630
add ebx, eax
mov dword [esp + 0x20], eax
push 0
mov dword [0x1018e814], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
movzx ecx, ax
mov eax, dword [0x1018e7e0]
mov edx, ecx
sub eax, dword [str.WWHK9]
cmp eax, 0x118
mov word [0x1018e7c4], cx
mov eax, dword [0x1018e814]
jne 0x10031cd9
add eax, 0xffffffc1
add eax, edx
mov dword [0x1018e814], eax
jmp 0x10031ce1
sub eax, edx
dec eax
mov dword [0x1018e7ec], eax
movzx edx, word [0x1018e832]
mov eax, ecx
mov di, word [0x1018e82e]
mov esi, 0x1018e826
mov ecx, dword [0x1018e810]
nop dword [eax]
movzx ebx, ax
cmp ecx, edx
je 0x10031d40
movzx eax, word [esi]
mov edx, dword [0x1018e7c8]
sub ecx, eax
add edx, 2
movzx eax, di
add edx, ecx
mov word [0x1018e7c4], dx
movzx ebx, dx
cmp ecx, eax
je 0x10031d40
add esi, 2
movzx eax, dx
movzx ebx, dx
movzx edx, word [0x1018e832]
cmp esi, 0x1018e870
jl 0x10031d00
movzx ecx, bx
mov eax, ecx
sub eax, dword [0x1018e7c8]
dec eax
mov dword [esp + 0x1c], eax
call fcn.10032080
imul ecx, eax, 0xe9b7
xor ebx, ebx
movzx eax, word [0x1018e7c4]
cdq
sub ecx, dword [0x1018e814]
mov esi, ecx
mov dword [0x1018e814], ecx
add esi, eax
adc ebx, edx
sub esi, dword [esp + 0x18]
sbb ebx, 0
call fcn.10032080
mov eax, dword [0x1018e7c8]
movzx ecx, word [0x1018e7c4]
add eax, 2
add eax, esi
mov dword [esp + 0x10], eax
mov eax, esi
sub eax, ecx
mov ecx, 0x1018e866
dec eax
mov dword [esp + 0xc], eax
movzx eax, di
cdq
cmp esi, eax
jne 0x10031db2
cmp ebx, edx
je 0x10031dee
mov eax, dword [esp + 0x1c]
xor ebx, ebx
add word [ecx], ax
mov esi, eax
movzx edx, word [0x1018e7c4]
mov di, word [0x1018e82e]
sub esi, edx
add edx, 0x3c
add esi, 0x5a00
add eax, edx
mov edx, 2
mul edx
add esi, eax
adc ebx, edx
sub ecx, 4
cmp ecx, 0x1018e824
jg 0x10031da6
mov eax, dword [0x1018e7e0]
sub eax, dword [str.WWHK9]
cmp eax, 0x118
jne 0x10031e10
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
add ecx, 0xffffffdf
lea ecx, [eax + ecx*2]
jmp 0x10031e21
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0xc]
dec eax
or ecx, 0xffffffff
mov dword [0x1018e7ec], eax
movzx eax, byte [0x1018e7c6]
mov edx, dword [0x1018e7c0]
add eax, 0xfffffff5
mov ebx, dword [0x1018e7dc]
add eax, ecx
mov dword [esp + 0x10], eax
cmp eax, edx
jb 0x10031e51
add ebx, eax
imul eax, eax, 0xe9b5
mov dword [0x1018e7dc], ebx
sub edx, eax
movzx ecx, word [0x1018e7c4]
imul eax, ecx, 0xe9b7
sub eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add eax, 0xfffffff5
sub edx, dword [esp + 0x10]
add eax, ecx
add edx, ecx
mov dword [esp + 0x18], eax
mov ecx, eax
cmp ecx, edx
jb 0x10031e97
imul eax, dword [esp + 0xc], 0xe9b6
add ebx, dword [esp + 0xc]
mov dword [0x1018e7dc], ebx
sub edx, eax
add edx, ecx
mov eax, dword [esp + 0x14]
add eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, 0xffffffbe
add eax, ecx
mov dword [0x1018e7c0], eax
movzx ecx, ax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov ecx, 0x3c
lea eax, [eax + eax*8]
shl eax, 3
sub ecx, eax
sub ecx, edx
movzx edx, word [0x1018e7c4]
movzx eax, cl
add edx, 0xfffffffd
imul ecx, dword [esp + 0xc], 0xfffe
sub ecx, eax
mov eax, dword [esp + 0xc]
sub ecx, dword [0x1018e7c0]
add edx, ecx
mov ecx, dword [0x1018e7c0]
add ecx, 0xfffffff5
add eax, ecx
mov dword [0x1018e7c8], eax
lea eax, [eax*2 + 0x31]
add eax, edx
movzx ecx, al
movzx eax, dx
sub eax, ecx
sub eax, dword [esp + 0xc]
add eax, 0xfffffffe
add eax, dword [0x1018e7c8]
mov dword [esp + 0x18], eax
cmp dword [0x1018e7c8], ecx
jb 0x10031f2c
add ebx, dword [esp + 0xc]
mov dword [0x1018e7dc], ebx
mov ebx, dword [0x1018e7c8]
sub al, bl
mov ecx, dword [esp + 0x18]
dec al
mov byte [0x1018e7c6], al
mov eax, dword [esp + 0x14]
add eax, ecx
lea edx, [eax*2 - 6]
movzx eax, dx
mov dword [esp + 0x18], eax
imul eax, ebx, 0xe9b7
mov word [0x1018e7c4], dx
sub eax, dword [esp + 0x18]
sub eax, ecx
movzx ecx, word [0x1018e828]
sub eax, esi
movzx esi, bx
add eax, 0x42
mov dword [0x1018e814], eax
movzx eax, word [0x1018e820]
sub ecx, eax
cmp ecx, 0x118
jne 0x10031fab
mov ecx, dword [esp + 0x18]
mov eax, dword [0x1018e7c0]
lea eax, [eax + ecx*2]
add eax, 0xffffffbe
sub esi, edx
lea ecx, [esi + eax]
mov word [0x1018e7c4], cx
movzx ecx, cx
jmp 0x10031fbd
mov edi, edx
movzx ecx, dx
sub edi, esi
dec edi
or eax, 0xffffffff
mov word [0x1018e82e], di
mov dword [0x1018e810], eax
mov edx, 0x1018e826
movzx ecx, cx
nop word [eax + eax]
movzx esi, cx
movzx ecx, word [0x1018e832]
cmp eax, ecx
je 0x10032016
movzx ecx, word [edx]
sub eax, ecx
lea ecx, [ebx + 2]
add ecx, eax
mov dword [0x1018e810], eax
movzx ebx, cx
mov word [0x1018e7c4], cx
movzx esi, cx
movzx ecx, di
cmp eax, ecx
je 0x10032016
add edx, 2
mov ecx, ebx
mov esi, ebx
mov ebx, dword [0x1018e7c8]
cmp edx, 0x1018e870
jl 0x10031fd0
movzx ecx, si
call fcn.100011d0
movzx edx, word [0x1018e7c4]
mov ecx, dword [0x1018e814]
cmp edx, ecx
jb 0x1003204a
mov eax, dword [0x1018e810]
add dword [0x1018e7dc], eax
imul eax, eax, 0xe9b6
sub ecx, eax
add ecx, edx
mov dword [0x1018e814], ecx
sub ecx, dword [esp + 0x1c]
push 2
push 0
dec ecx
push 0x101a5110
mov word [0x1018e7c4], cx
call dword [sym.imp.KERNEL32.dll_FindFirstChangeNotificationA]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc