Function at 0x4110b0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
mov eax, dword [0x42f008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0x234], 0x6491
mov dword [ebp - 0x21c], 0xcbe
mov dword [ebp - 0x218], 0x2ba7
mov dword [ebp - 0x210], 0x7cfb
mov dword [ebp - 0x214], 0xdea9
call fcn.00410a70
movzx eax, al
test eax, eax
jne 0x411107
jmp 0x411b5f
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [0x42f9f0]
jne 0x41131c
mov edx, dword [0x42fa68]
cmp edx, dword [ebp - 0x21c]
jae 0x411317
imul eax, dword [ebp - 0x218], 0x14f65
mov ecx, dword [ebp - 0x21c]
sub ecx, eax
add ecx, dword [ebp - 0x218]
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x218]
push edx
call fcn.00401ec0
add esp, 4
mov eax, dword [ebp - 0x21c]
cdq
idiv dword [ebp - 0x21c]
add edx, dword [ebp - 0x210]
imul ecx, dword [ebp - 0x214], 0x3f48
add ecx, dword [ebp - 0x21c]
shl edx, cl
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [0x42fad0]
jbe 0x4111e3
push 0xde352
mov edx, dword [ebp - 0x210]
push edx
push 0x89fe0
mov eax, dword [ebp - 0x21c]
push eax
call dword [sym.imp.USER32.dll_GetTopWindow]
cmp dword [0x42f9f4], eax
ja 0x4111e3
mov ecx, dword [ebp - 0x210]
cmp ecx, dword [0x42fad0]
jbe 0x4111e3
mov edx, dword [ebp - 0x218]
cmp edx, dword [0x42fad0]
je 0x411300
mov eax, dword [ebp - 0x218]
cdq
idiv dword [ebp - 0x210]
add edx, dword [ebp - 0x214]
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0x210]
push ecx
mov edx, dword [ebp - 0x214]
push edx
mov eax, dword [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0x210]
push ecx
mov edx, dword [ebp - 0x214]
push edx
mov eax, dword [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x21c]
push ecx
call dword [sym.imp.UxTheme.dll_BeginBufferedAnimation]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x210]
cdq
idiv dword [ebp - 0x218]
cdq
mov ecx, 0xcd02
idiv ecx
mov edx, dword [ebp - 0x218]
lea eax, [edx + eax + 0x5005]
mov ecx, dword [ebp - 0x21c]
sar eax, cl
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x210]
push ecx
call fcn.00402690
add esp, 4
mov ecx, dword [ebp - 0x214]
add ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x210]
imul edx, dword [ebp - 0x218]
add ecx, edx
mov eax, 0x147cd
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl eax, cl
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x21c]
push ecx
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateDCA]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], 0xd54e
mov dword [ebp - 0x21c], 0x7a47
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x210]
cmp eax, dword [0x42fa60]
jb 0x4112af
mov dword [ebp - 0x214], 0x4eae
mov ecx, dword [0x42f9a4]
cmp ecx, dword [ebp - 0x210]
je 0x411149
jmp 0x411119
jmp 0x41188c
mov edx, dword [ebp - 0x21c]
cmp edx, dword [ebp - 0x210]
jne 0x41134e
mov eax, dword [ebp - 0x21c]
cmp eax, dword [ebp - 0x210]
je 0x41142b
mov ecx, dword [ebp - 0x218]
cmp ecx, dword [ebp - 0x214]
jle 0x41142b
mov edx, dword [0x42f9f4]
cmp edx, dword [ebp - 0x214]
jge 0x411426
mov eax, dword [ebp - 0x214]
imul eax, dword [ebp - 0x210]
cdq
idiv dword [ebp - 0x214]
mov dword [ebp - 0x210], eax
mov eax, 0x13cfb
cdq
idiv dword [ebp - 0x210]
cdq
idiv dword [ebp - 0x21c]
add eax, dword [ebp - 0x218]
imul ecx, dword [ebp - 0x210], 0x12764
add eax, ecx
mov dword [ebp - 0x210], eax
mov edx, dword [ebp - 0x21c]
push edx
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x210]
push ecx
mov edx, dword [ebp - 0x214]
push edx
mov eax, dword [ebp - 0x214]
push eax
call fcn.00401f00
add esp, 0x14
mov ecx, dword [ebp - 0x214]
mov eax, 0x1418d
cdq
idiv dword [ebp - 0x21c]
sub ecx, edx
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x210]
imul edx, dword [ebp - 0x21c]
or edx, dword [ebp - 0x214]
mov dword [ebp - 0x210], edx
mov eax, dword [ebp - 0x214]
sub eax, dword [ebp - 0x214]
add eax, dword [ebp - 0x210]
sub eax, dword [ebp - 0x218]
mov dword [ebp - 0x21c], eax
jmp 0x41134e
jmp 0x41188c
mov ecx, dword [ebp - 0x21c]
cmp ecx, dword [0x42fa68]
jne 0x411447
mov edx, dword [ebp - 0x210]
cmp edx, dword [ebp - 0x210]
jge 0x411459
mov eax, dword [ebp - 0x210]
cmp eax, dword [ebp - 0x214]
jl 0x41188c
mov ecx, dword [0x42fad0]
mov dword [ebp - 0x220], ecx
jmp 0x411476
mov edx, dword [ebp - 0x220]
add edx, 1
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x220]
cmp eax, dword [ebp - 0x214]
jge 0x411868
mov ecx, dword [0x42f93c]
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0x7588
je 0x411761
cmp dword [ebp - 0x224], 0x7f15
je 0x4114c5
cmp dword [ebp - 0x224], 0x92f8
je 0x411677
jmp 0x411851
mov edx, dword [ebp - 0x218]
imul edx, dword [ebp - 0x214]
imul edx, dword [ebp - 0x21c]
mov dword [ebp - 0x21c], edx
mov eax, 0x1100f
cdq
idiv dword [ebp - 0x21c]
add eax, dword [ebp - 0x21c]
mov dword [ebp - 0x210], eax
mov eax, dword [0x42fa20]
mov dword [ebp - 0x228], eax
jmp 0x411513
mov ecx, dword [ebp - 0x228]
sub ecx, 1
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x228]
cmp edx, dword [ebp - 0x21c]
jne 0x411677
mov eax, dword [ebp - 0x210]
cdq
idiv dword [ebp - 0x218]
mov eax, dword [ebp - 0x210]
sub eax, edx
sub eax, dword [ebp - 0x214]
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x218]
sar edx, cl
and eax, edx
mov dword [0x42f93c], eax
mov esi, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x210]
sar esi, cl
or esi, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x214]
cdq
idiv dword [ebp - 0x218]
or esi, eax
mov dword [ebp - 0x218], esi
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
mov dword [ebp - 0x214], ecx
mov eax, dword [ebp - 0x218]
cdq
idiv dword [ebp - 0x218]
imul edx, dword [ebp - 0x214]
imul edx, edx, 0xc674
sar edx, 0xc6
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x218]
push ecx
mov edx, dword [ebp - 0x218]
push edx
mov eax, dword [ebp - 0x210]
push eax
call fcn.00401fe0
add esp, 0x10
mov eax, dword [ebp - 0x218]
cdq
idiv dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x21c]
imul ecx, dword [ebp - 0x210]
add edx, ecx
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x210]
cdq
idiv dword [ebp - 0x210]
imul eax, dword [ebp - 0x214]
add eax, dword [ebp - 0x218]
mov dword [ebp - 0x21c], eax
mov eax, 0x239b
cdq
idiv dword [ebp - 0x218]
sub edx, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x214]
sar edx, cl
mov ecx, dword [ebp - 0x218]
shl edx, cl
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x218]
cdq
idiv dword [ebp - 0x21c]
add edx, dword [ebp - 0x210]
mov dword [ebp - 0x214], edx
mov edx, dword [ebp - 0x210]
cmp edx, dword [0x42f9f4]
jle 0x411525
jmp 0x411504
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x218]
shl eax, cl
shl eax, 0x7a
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x218], 0x63fb
mov dword [ebp - 0x218], 0xb052
imul edx, dword [ebp - 0x21c], 0x22b0
mov eax, dword [ebp - 0x21c]
add eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
add ecx, dword [ebp - 0x218]
and eax, ecx
or edx, eax
mov dword [ebp - 0x214], edx
mov edx, dword [ebp - 0x218]
imul edx, dword [ebp - 0x210]
add edx, dword [ebp - 0x21c]
add edx, dword [ebp - 0x210]
sar edx, 0x3a
and edx, 0x17b2
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x214]
cmp eax, dword [0x42f93c]
jne 0x411677
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x21c]
lea eax, [edx + ecx + 0xa679]
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
sub ecx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x210]
cdq
idiv dword [ebp - 0x218]
sub ecx, eax
mov edx, dword [ebp - 0x214]
add edx, 0x1041d
or ecx, edx
mov dword [ebp - 0x210], ecx
jmp 0x411851
mov eax, dword [ebp - 0x21c]
add eax, dword [ebp - 0x218]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x218]
cdq
idiv dword [ebp - 0x210]
mov eax, edx
cdq
idiv dword [ebp - 0x214]
mov ecx, dword [ebp - 0x210]
sub ecx, dword [ebp - 0x214]
add ecx, dword [ebp - 0x218]
or eax, ecx
mov dword [ebp - 0x210], eax
mov edx, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x210]
shl edx, cl
mov dword [ebp - 0x210], edx
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x214]
push ecx
mov edx, dword [ebp - 0x210]
push edx
mov eax, dword [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x214]
push ecx
mov edx, dword [ebp - 0x210]
push edx
mov eax, dword [ebp - 0x21c]
push eax
push 0x6a299
mov ecx, dword [ebp - 0x214]
push ecx
call dword [sym.imp.UxTheme.dll_GetThemeTextExtent]
cmp dword [0x42f93c], eax
je 0x411851
mov edx, dword [ebp - 0x210]
imul edx, dword [ebp - 0x210]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x21c], eax
call fcn.00407930
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x21c]
cdq
idiv dword [ebp - 0x210]
add eax, dword [ebp - 0x214]
imul ecx, dword [ebp - 0x214], 0xd559
add eax, ecx
mov dword [ebp - 0x21c], eax
mov edx, dword [0x42fa64]
cmp edx, dword [ebp - 0x214]
jge 0x411488
jmp 0x411467
mov eax, dword [ebp - 0x218]
cmp eax, dword [0x42f9f4]
jge 0x411459
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [0x42fa68]
ja 0x411459
lea edx, [ebp - 0x20c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 4
push 0xa
push 0x42f928
call fcn.0040ba30
add esp, 0xc
mov edx, eax
lea ecx, [ebp - 0x20c]
call fcn.00401060
test eax, eax
je 0x411b5a
call fcn.0040c9b0
push 4
push 0x10
push 0x42fa40
call fcn.0040ba30
add esp, 0xc
push eax
push 1
push 0
call dword [0x4320d4]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x22c], eax
jmp 0x411908
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp - 0x22c]
cmp edx, dword [0x42f9a4]
jb 0x411b26
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x218]
add ecx, dword [ebp - 0x218]
add ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x214]
add edx, dword [ebp - 0x210]
imul eax, dword [ebp - 0x210], 0x62c1
and edx, eax
mov dword [ebp - 0x218], edx
mov ecx, dword [0x42fa6c]
cmp ecx, dword [ebp - 0x210]
jl 0x41197b
call fcn.00406500
cmp dword [0x42fad0], eax
jne 0x411a2a
mov edx, dword [ebp - 0x21c]
sub edx, dword [ebp - 0x214]
and edx, dword [ebp - 0x21c]
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x214]
cdq
idiv dword [ebp - 0x210]
add eax, dword [ebp - 0x210]
mov dword [ebp - 0x218], eax
mov eax, 0xff1a
cdq
idiv dword [ebp - 0x210]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x21c]
cdq
mov ecx, 0xe075
idiv ecx
mov ecx, dword [ebp - 0x21c]
imul ecx, dword [ebp - 0x214]
sub ecx, dword [ebp - 0x218]
sar edx, cl
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x210]
cdq
mov ecx, 0x11622
idiv ecx
mov ecx, eax
mov eax, dword [ebp - 0x210]
imul eax, dword [ebp - 0x214]
cdq
idiv dword [ebp - 0x214]
add ecx, edx
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x214]
cmp edx, dword [0x42fa64]
jl 0x411993
jmp 0x411b03
call fcn.00403f60
cmp eax, dword [0x42fa30]
jb 0x411b03
call fcn.004015a0
mov eax, dword [ebp - 0x218]
add eax, dword [ebp - 0x210]
and eax, dword [ebp - 0x214]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x21c]
imul eax, dword [ebp - 0x218]
cdq
idiv dword [ebp - 0x21c]
sub edx, dword [ebp - 0x214]
sub edx, dword [ebp - 0x210]
mov dword [ebp - 0x214], edx
mov dword [0x42f9f0], 0x13012
mov eax, dword [ebp - 0x214]
cdq
idiv dword [ebp - 0x210]
add edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x21c]
sub ecx, 0x6d33
or edx, ecx
mov dword [ebp - 0x21c], edx
mov edx, dword [ebp - 0x21c]
cmp edx, dword [0x42f924]
jbe 0x411a3b
mov eax, 0xf08a
cdq
idiv dword [ebp - 0x214]
sub edx, dword [ebp - 0x210]
sub edx, dword [ebp - 0x218]
shl edx, 0xd2
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x218]
imul eax, dword [ebp - 0x214]
add eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x214]
shl eax, cl
mov dword [ebp - 0x214], eax
mov ecx, dword [0x42f9f0]
cmp ecx, dword [ebp - 0x21c]
ja 0x41191a
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x210], edx
jmp 0x4118f9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x411b35
jmp 0x411b5f
call fcn.0040eba0
cmp eax, 1
jne 0x411b46
call fcn.0040eba0
jmp 0x411b4b
call fcn.0040f8d0
mov eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x411b5f
call fcn.0040f8d0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00411d0f
mov esp, ebp
pop ebp
ret