Function at 0x10022885
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
mov dword [ebp - 8], 0xffffffff
xor edi, edi
mov dword [ebp - 0x10], 0x2cb3a3fc
inc edi
push 0
mov dword [ebp - 0x18], edi
mov esi, ecx
mov dword [ebp - 8], 0xffffffe5
pop ebx
jmp 0x100228c7
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x100228c4
push 0x9f4
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp - 8]
cmp dword [ebp - 8], 7
jne 0x100228b0
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 8]
setle dl
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setge cl
cmp dword [ebp - 8], ecx
jg 0x100228f6
mov edx, ebx
cmp dword [ebp - 0x10], ebx
je 0x100228f8
mov edx, edi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
je 0x10022939
mov dword [ebp - 0x14], 0xafbd13d
mov dword [ebp - 0x18], 0x7eb8e136
cmp dword [ebp - 0x14], ebx
jne 0x1002291f
mov eax, ebx
mov dword [ebp - 0x18], eax
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10022956
push ebx
push 0x10a8
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
jmp 0x10022956
mov dword [ebp - 0x18], 0x58c458a9
xor ecx, ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
add edx, 0x69d1fe90
cmp edx, eax
setg cl
mov dword [ebp - 0x10], ecx
push 0x7313
push esi
push 0x2c9
push edi
call fcn.1001d781
add esp, 0x10
mov dword [ebp - 8], 4
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x10], 6
push 3
call fcn.10022f94
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0xc], 0xec767dbf
mov dword [ebp - 0x10], 8
push 3
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 8], ebx
pop edx
jmp 0x100229bb
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x24], 0xfffffff6
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x100229ad
mov dword [ebp - 8], ebx
jmp 0x100229d5
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x100229c5
mov dword [ebp - 8], 2
cmp dword [ebp - 8], ebx
jl 0x10022a06
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], ebx
jmp 0x100229fc
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x24], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100229ee
dec dword [ebp - 8]
jns 0x100229e6
mov eax, dword [ebp - 0x24]
mov ecx, 0xfffd
cmp ecx, eax
mov edx, edi
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xfffffff6
setne cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
jne 0x10022a28
mov edx, ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 0x8ff7673e
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfffffff7
setle al
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 8]
test eax, eax
je 0x10022a5a
mov eax, edi
cmp dword [ebp - 0x14], ebx
jne 0x10022a5c
mov eax, ebx
mov ecx, dword [ebp - 8]
imul ecx, eax
mov eax, dword [ebp - 0x30]
mov dword [eax + 8], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 8]
cmp ecx, eax
sbb eax, eax
inc eax
imul eax, eax, 0xce5f
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jne 0x10022a86
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
cmp eax, ecx
setne dl
neg edx
je 0x10022ac4
mov eax, edi
cmp dword [ebp - 0x1c], ebx
jne 0x10022ac6
mov eax, ebx
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], 0xfffffffd
call fcn.10023016
push esi
call fcn.10043810
mov dword [ebp - 8], 0x58e1
mov esi, eax
mov dword [ebp - 0x14], 0x6dd3ed23
xor edx, edx
mov dword [ebp - 0x10], 0xbf81606d
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0xc], 0x8188558b
mov dword [ebp - 0x14], 0xa237ff9b
mov dword [ebp - 0x18], edi
pop ecx
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
imul ecx, ecx, 0x271d
cmp ecx, eax
setne dl
sub edx, dword [ebp - 8]
neg edx
sbb edx, edx
xor eax, eax
inc edx
imul edx, dword [ebp - 8]
cmp edx, 0x627
setg al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x89276496
je 0x10022b6c
mov ecx, ebx
cmp dword [ebp - 8], ebx
je 0x10022b6e
mov ecx, edi
xor eax, eax
test ecx, ecx
setle al
cmp eax, dword [ebp - 8]
jne 0x10022b7d
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
cmp ecx, eax
setg dl
neg edx
cmp edx, 0xed680444
jne 0x10022ba4
mov edx, edi
cmp dword [ebp - 0x10], ebx
jne 0x10022ba6
mov edx, ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
sete cl
xor ebx, ebx
cmp ecx, 0xab3e90a6
setne bl
xor edx, edx
imul ebx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp ebx, eax
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0xc]
je 0x10022bec
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
je 0x10022c38
xor edx, edx
cmp dword [ebp - 0x14], edx
je 0x10022c3a
mov eax, edi
jmp 0x10022c3c
xor edx, edx
mov eax, edx
add eax, 0xc50e
xor ecx, ecx
cmp eax, 0x38dbec8b
setg cl
xor eax, eax
cmp ecx, edi
setle al
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x14], edx
jne 0x10022c82
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x10022cb2
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetBkColor]
jmp 0x10022cb2
mov dword [ebp - 0x18], edx
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x10022ca5
push 0xfdb
push 0x144
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov eax, dword [ebp - 0xc]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret